Стандартная регрессионная кластеризация ошибок и устойчивость к гетероскедотизированности + последовательная автокорреляция - PullRequest
0 голосов
/ 21 января 2020

Как указано в заголовке, я пытаюсь запустить регрессию в python, где стандартные ошибки кластеризованы , а также устойчивы к гетероскедастичности и автокорреляции (HA C). Я работаю в statsmodels (sm), но, очевидно, открыт для использования других библиотек (например, linearmodels).

Для кластеризации, например, по id, код будет

sm.OLS.from_formula(formula='y ~ x', data=df).fit(cov_type='cluster', cov_kwds={'groups': df['id']}, use_t=True) 

Для стандартных ошибок HA C код будет

sm.OLS.from_formula(formula='y ~ x', data=df).fit(cov_type='HAC', cov_kwds={'maxlags': max_lags}, use_t=True)

Учитывая, что cov_type не может быть одновременно cluster и HAC, это не кажется можно ли сделать оба в statsmodels? Это правильно, и / или есть ли другой способ иметь оба?

1 Ответ

0 голосов
/ 21 января 2020

Существует две панели HA C cov_types hac-groupsum и hac-panel, но я знаю только их использование для панельных данных, но они должны работать с кластерными данными. Насколько я помню, была некоторая литература, что они не очень хороши в сильно несбалансированных данных (например, сравнивая данные о населении штатов США, которые сильно различаются по размеру).

https://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLSResults.get_robustcov_results.html

Основной ссылкой для реализации этой статьи была статья Петерсена, например:

https://www.kellogg.northwestern.edu/faculty/petersen/htm/papers/standarderror.html

Примеры для сравнения с Петерсеном приведены в модульных тестах. .

Statsmodels также имеет кластерные робастные стандартные ошибки, когда у нас есть два (двусторонних) кластера.

Stochasti c Поведение этих ковариационных матриц зависит от того, является ли количество кластеров, число периоды времени или оба становятся большими в больших выборках.

...