2

我想在使用分类变量和聚集标准错误的 statsmodels 中运行回归。

我有一个包含机构、治疗、年份和注册列的数据集。治疗是一个假人,机构是一个字符串,其他都是数字。我确保删除任何空值。

df.dropna()    
reg_model = smf.ols("enroll ~ treatment + C(year) + C(institution)", df)
.fit(cov_type='cluster', cov_kwds={'groups': df['institution']})

我得到以下信息:

ValueError:权重和列表的长度不同。

有没有办法解决这个问题,所以我的标准错误集群?

4

1 回答 1

2

你需要cov_type='cluster'合身。

cov_type是关键字参数,当关键字用作位置参数时,位置不正确。 http://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLS.fit.html

通常,当关键字参数用作位置参数时,statsmodels 不保证向后兼容性,即关键字位置在未来版本中可能会发生变化。

但是,我不明白 ValueError 来自哪里。Python 有非常丰富的回溯,当询问问题以添加完整的回溯或至少最后几行显示异常发生的位置时,它非常有用。

于 2019-01-24T18:14:38.670 回答