statsmodels.regression.mixed_linear_model.MixedLM¶
-
class statsmodels.regression.mixed_linear_model.MixedLM(endog, exog, groups, exog_re=
None, exog_vc=None, use_sqrt=True, missing='none', **kwargs)[source]¶ 线性混合效应模型
- Parameters:¶
- endog1d array_like
因变量
- exog2d array_like
用于确定均值结构(“固定效应”协变量)的协变量矩阵。
- groups1d array_like
一个标签向量,用于确定分组 – 来自不同组的数据是独立的
- exog_re2d array_like
用于确定方差和协方差结构(“随机效应”协变量)的协变量矩阵。如果为None,则默认为每个组的随机截距。
- exog_vc
VCSpecinstanceor dict-like (deprecated) VCSPec 实例定义了模型中方差分量的结构。或者,请参阅下面的字典格式说明。字典格式已被弃用,并可能在未来的某个时间点被移除。
- use_sqrtbool
如果为真,优化将使用随机效应协方差矩阵的平方根的下三角部分进行,否则将使用随机效应协方差矩阵的下三角部分进行。
- missing
str 处理缺失数据的方法
- Attributes:¶
endog_names内生变量的名称。
exog_names外生变量的名称。
注释
如果 exog_vc 不是 VCSpec 实例,那么它必须是一个字典的字典。具体来说,exog_vc[a][g] 是一个矩阵,其列使用独立的随机系数进行线性组合。这个随机项随后会贡献给组 g 的数据的方差结构。所有随机系数的均值为零,并且具有相同的方差。该矩阵必须是 m x k,其中 m 是组 g 中的观测数量。列数可能在顶级组之间有所不同。
在 exog、exog_re 和 exog_vc 中的协变量可能(但不需要)部分或完全重叠。
use_sqrt 几乎总是应该设置为 True。当协方差结构中设置了复杂的固定值模式(使用 free 参数传递给 fit),而这些模式无法用 Cholesky 因子 L 表示时,主要使用 use_sqrt=False。
示例
一个包含固定效应的混合模型,用于
exog列,并为每个不同的group值提供随机截距:>>> model = sm.MixedLM(endog, exog, groups) >>> result = model.fit()一个混合模型,具有
exog列的固定效应和exog_re列的相关随机系数:>>> model = sm.MixedLM(endog, exog, groups, exog_re=exog_re) >>> result = model.fit()一个混合模型,具有
exog列的固定效应和exog_re列的独立随机系数:>>> free = MixedLMParams.from_components( fe_params=np.ones(exog.shape[1]), cov_re=np.eye(exog_re.shape[1])) >>> model = sm.MixedLM(endog, exog, groups, exog_re=exog_re) >>> result = model.fit(free=free)指定
exog_re列的独立随机系数的另一种方法。在这个例子中,groups必须是一个与exog_re具有兼容索引的Pandas Series,并且exog_re有两列。>>> g = pd.groupby(groups, by=groups).groups >>> vc = {} >>> vc['1'] = {k : exog_re.loc[g[k], 0] for k in g} >>> vc['2'] = {k : exog_re.loc[g[k], 1] for k in g} >>> model = sm.MixedLM(endog, exog, groups, vcomp=vc) >>> result = model.fit()方法
fit([start_params, reml, niter_sa, do_cg, ...])拟合一个线性混合模型到数据中。
fit_regularized([start_params, method, ...])拟合一个模型,其中固定效应参数受到惩罚。
from_formula(formula, data[, re_formula, ...])从公式和数据框创建模型。
get_distribution(params, scale, exog)get_fe_params(cov_re, vcomp[, tol])使用GLS更新固定效应参数估计。
get_scale(fe_params, cov_re, vcomp)返回基于给定的斜率和随机效应协方差矩阵估计的误差方差估计值。
group_list(数组)返回 数组 根据分组结构拆分成的子数组。
hessian(params)返回模型的Hessian矩阵。
information(params)模型的费舍尔信息矩阵。
初始化(可能重新初始化)一个模型实例。
loglike(params[, profile_fe])评估线性混合效应模型的(轮廓)对数似然性。
predict(params[, exog])从设计矩阵返回预测值。
score(params[, profile_fe])返回轮廓对数似然函数的得分向量。
score_full(params, calc_fe)返回相对于未转换参数的得分。
score_sqrt(params[, calc_fe])返回相对于转换参数的分数。
属性
内生变量的名称。
外生变量的名称。