我想在使用分类变量和聚类标准误差的 statsmodels 中运行回归。
我有一个包含机构、治疗、年份和注册列的数据集。 Treatment 是一个 dummy,institution 是一个字符串,其他都是数字。我已确保删除所有空值。
df.dropna()
reg_model = smf.ols("enroll ~ treatment + C(year) + C(institution)", df)
.fit(cov_type='cluster', cov_kwds={'groups': df['institution']})
我得到以下信息:
ValueError: The weights and list don't have the same length.
有没有办法解决这个问题,以便我的标准错误集群?
最佳答案
您需要合适的cov_type='cluster'
。
cov_type
是关键字参数,当关键字用作位置参数时,位置不正确。
http://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLS.fit.html
一般来说,当关键字参数用作位置参数时,statsmodels 不保证向后兼容性,即关键字位置可能会在未来版本中发生变化。
但是,我不明白 ValueError 是从哪里来的。 Python 具有非常有用的回溯信息,在提出问题以添加完整回溯信息或至少添加显示异常发生位置的最后几行时非常有用。
关于python - 具有分类变量的 statsmodels 中的聚类标准误差 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54349525/