Воспроизвести расчет statsmodel - PullRequest
0 голосов
/ 10 сентября 2018

Я запускаю регрессию OLS с помощью statsmodel, используя кластерные стандартные ошибки (https://www.statsmodels.org/dev/generated/statsmodels.regression.linear_model.RegressionResults.get_robustcov_results.html):

import statsmodels.api as sm
import statsmodels.formula.api as smf

model = smf.ols(model_string, data=df1).fit(cov_type = 'cluster', cov_kwds={'groups': df1['correctedSE']})

Я запускаю цикл с разными спецификациями и хотел бы визуализировать коэффициенты всех итераций.

Я извлекаю коэффициент и стандартную ошибку в каждой итерации с помощью:

coe = model.params["variable_of_interest"] 
se = model.bse["variable_of_interest"]
List_coefficients.append(coe)
List_standard_errors.append(se)

Я создаю простой фрейм данных из списков, затем хочу визуализировать коэффициенты в панели ошибок из matplotlib:

import matplotlib
import matplotlib.pyplot as plt
ax = plt.errorbar(df["loop_rounds"], df["Coefficient"], yerr=df150["Standard_e"])

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

Как лучше всего исправить разницу в вычислениях (например, извлечь различные параметры из statsmodel, вручную настроить стандартные ошибки, изменить панель ошибок)? Если ручное редактирование является решением, где я могу найти формулу для кластерных стандартных ошибок?

Спасибо

...