Можно ли использовать статистические модели для получения кластерных стандартных ошибок в регрессионной модели с фиксироPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли использовать статистические модели для получения кластерных стандартных ошибок в регрессионной модели с фиксиро

Сообщение Anonymous »

У меня есть набор поперечных данных, и я выполняю с ним несколько простых эконометрических упражнений, используя пакет statsmodels на Python. В какой-то момент я попытался запустить регрессионную модель с фиксированными эффектами, используя функцию mixlm:

Код: Выделить всё

y, X = dmatrices("target ~ amt_income_total + amt_credit + name_housing_type", data=data)

md = sm.MixedLM(y, X, groups=data["name_income_type"])
mdf = md.fit(method=["lbfgs"])
mdf.summary()
Пока все хорошо. Приведенный выше блок кода работает нормально. Но если я попытаюсь сгруппировать стандартные ошибки, это будет нормально работать с моделью OLS:

Код: Выделить всё

mdf = md.fit(method=["lbfgs"],cov_type="cluster",cov_kwds={'groups': data["name_income_type"]})
Я получаю следующую ошибку:

Код: Выделить всё

AttributeError                            Traceback (most recent call last)
Cell In[84], line 3
1 md = sm.MixedLM(y, X, groups=data["name_income_type"])
2 mdf = md.fit(method=["lbfgs"])
----> 3 mdf = md.fit(method=["lbfgs"],cov_type="cluster",cov_kwds={'groups': data["name_income_type"]})
4 mdf.summary()

File /opt/anaconda3/lib/python3.11/site-packages/statsmodels/regression/mixed_linear_model.py:2192, in MixedLM.fit(self, start_params, reml, niter_sa, do_cg, fe_pen, cov_pen, free, full_output, method, **fit_kwargs)
2190 # Try optimizing one or more times
2191 for j in range(len(method)):
-> 2192     rslt = super(MixedLM, self).fit(start_params=packed,
2193                                     skip_hessian=True,
2194                                     method=method[j],
2195                                     **fit_kwargs)
2196     if rslt.mle_retvals['converged']:
2197         break

File /opt/anaconda3/lib/python3.11/site-packages/statsmodels/base/model.py:600, in LikelihoodModel.fit(self, start_params, method, maxiter, full_output, disp, fargs, callback, retall, skip_hessian, **kwargs)
597         Hinv = None
599 # TODO: add Hessian approximation and change the above if needed
--> 600 mlefit = LikelihoodModelResults(self, xopt, Hinv, scale=1., **kwds)
602 # TODO: hardcode scale?
603 mlefit.mle_retvals = retvals
...
--> 242     xu = results.model.wexog * results.wresid[:, None]
244     hessian_inv = np.asarray(results.normalized_cov_params)
246 # experimental support for freq_weights

AttributeError: 'MixedLM' object has no attribute 'wexog'
Можно ли вообще вычислить эти типы стандартных ошибок для модели с фиксированными эффектами «из коробки» с помощью statsmodels или другого основного пакета обработки данных для Python?
Эти типы регрессий очень стандартны в экономической литературе, и мне кажется странным, что не было бы возможности сделать это без их жесткого кодирования.
Примечание: я понимаю, что могу просто получить фиксированные эффекты, принижая соответствующие переменные а затем получить кластеризованные стандартные ошибки с помощью объекта OLS, но я просто хочу убедиться, что нет автоматического способа сделать это.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -effects-r
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»