Кластерные стандартные ошибки в statsmodels с категориальными переменными (Python)
Я хочу запустить регрессию в statsmodels, которая использует категориальные переменные и кластерные стандартные ошибки.
У меня есть набор данных с колонками учреждение, лечение, год и зачисление. Лечение - это пустышка, учреждение - это строка, а остальные - числа. Я удостоверился, что отбросил все нулевые значения
df.dropna()
reg_model = smf.ols("enroll ~ treatment + C(year) + C(institution)", df)
.fit(cov_type='cluster', cov_kwds={'groups': df['institution']})
Я получаю следующее:
ValueError: Веса и список не имеют одинаковую длину.
Есть ли способ исправить это, чтобы мой стандартный кластер ошибок?
1 ответ
Тебе нужно cov_type='cluster'
в форме.
cov_type
является ключевым аргументом и не в правильной позиции, когда ключевые слова используются в качестве позиционных аргументов. http://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLS.fit.html
В общем случае statsmodels не гарантирует обратной совместимости, когда аргументы ключевых слов используются в качестве позиционных аргументов, то есть позиции ключевых слов могут измениться в будущих версиях.
Однако я не понимаю, откуда исходит ValueError. Python имеет очень информативные трассировки, и при задании вопросов очень полезно добавить либо полную трассировку, либо хотя бы несколько последних строк, показывающих, где возникло исключение.