Кластерные стандартные ошибки в 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 имеет очень информативные трассировки, и при задании вопросов очень полезно добавить либо полную трассировку, либо хотя бы несколько последних строк, показывающих, где возникло исключение.

Другие вопросы по тегам