Statsmodels 混合线性模型预测

Statsmodels Mixed Linear Model predictions

我正在使用 Python 中的 statsmodels MixedLM 包估计混合线性模型。拟合模型后,我现在想进行预测,但很难理解 'predict' 方法。

statsmodels 文档 (http://www.statsmodels.org/dev/generated/statsmodels.regression.mixed_linear_model.MixedLM.predict.html) 建议 predict 方法采用包含已估计模型参数的数组。我怎样才能检索这个数组?

y = raw_data['dependent_var']
X = raw_data[['var1', 'var2', 'var3']]
groups = raw_data['person_id']

model = sm.MixedLM(endog=y, exog=X, groups=groups)
result = model.fit()

我知道我迟到了几个月,但如果其他人有同样的问题,最好回答一下。结果对象中提供了所需的参数。他们是result.fe_params

model.predict(reresult.fe_params, exog=xest)

或使用结果对象

result.predict(exog=xtest)

回答user11806155的问题,单纯根据固定效应做预测,可以

model.predict(reresult.fe_params, exog=xtest)

要对随机效应进行预测,您只需更改参数并指定特定的组名称(例如“group1”)

model.predict(reresult.random_effects["group1"], exog=xtest). 

我假设测试数据中特征的顺序应该与您作为模型参数给出的顺序相同。您可以将它们加在一起以获得专门针对某个组的预测。