Кластерные стандартные ошибки в statsmodels с категориальными переменными (Python) - PullRequest
0 голосов
/ 24 января 2019

Я хочу запустить регрессию в 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 Ответ

0 голосов
/ 24 января 2019

Вам нужно cov_type='cluster' в форме.

cov_type является аргументом ключевого слова и не в правильной позиции, когда ключевые слова используются в качестве позиционных аргументов. http://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLS.fit.html

В общем случае statsmodels не гарантирует обратной совместимости, когда аргументы ключевых слов используются в качестве позиционных аргументов, то есть позиции ключевых слов могут измениться в будущих версиях.

Однако я не понимаю, откуда исходит ValueError. Python имеет очень информативные трассировки, и при задании вопросов очень полезно добавить либо полную трассировку, либо хотя бы несколько последних строк, показывающих, где возникло исключение.

...