首页 文章

Statsmodels根据异方差一致的标准误差绘制平均置信区间

提问于
浏览
1

这个问题类似于confidence and prediction intervals with StatsModels,但有一个额外的细微差别:

我的数据是异方差的,我想使用statsmodels提供的任何一个异方差一致的标准误差(HC0_se,HC1_se等)来绘制均值上的置信区间 . 对于每个拟合值,我找不到任何容易访问此信息的方法(尽管获取每个系数的间隔非常容易) . 它似乎也没有像标准平均置信区间数据那样包含在stats.outliers的结果汇总表中 .

两个问题:

  • 有谁知道我怎么能这样做?

  • 在线性回归结果对象中,人们通常使用异方差一致协方差矩阵是什么?为什么提供这个?

非常感谢

2 回答

  • 2

    强大的标准误差或协方差尚未完全集成到模型中 . 它们目前主要是附加组件,以便在估算模型后获取它们 .

    我们将能够在下一版本的statsmodel中将默认协方差更改为任何可用的强大协方差估计器,并且已经在OLS的当前主控中 . 然后,所有其他结果,t_test,wald_test等将使用已定义为默认的鲁棒或非鲁棒协方差 . 当前版本:http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLSResults.get_robustcov_results.html

    对于预测标准错误:

    我认为当 cov_params 是一个强大的三明治估算器时,计算是相同的,但我还没有证实对抗Stata . 在Mathematical background of statsmodels wls_prediction_std看到我的答案的最后一部分

    因此,在statsmodels 0.5中,不可能直接获得具有鲁棒协方差的预测误差,您需要复制函数以使用所需的cov_params .

    Why do we use robust covariances

    如果存在异方差性或观测的相关性,则OLS具有一致或无偏的参数估计,但参数估计的标准协方差矩阵是“错误的” . 因此,我们需要得到一个对异方差性,相关性或两者都具有鲁棒性的协方差矩阵 .

    当我们不确定异方差性的正确规范或观察的相关性时,许多现代计量经济学教科书建议总是使用稳健的协方差估计 . 经济学中几乎总是如此 .

    最简单的情况就是异方差性,但在时间序列中,我们可能有自相关,我们没有包含在模型中,在重复测量或面板数据中,我们经常在簇或面板内具有相关性 . 在这些情况下,稳健的协方差为我们提供了一致的标准误差 .

    这同样适用于其他模型,例如广义估计方程(GEE)中泊松或Logit模型中的簇鲁棒标准误差 .

  • 3

    我不相信有一种方法可以指定您想要用于计算预测标准误差的协方差矩阵 . 请注意,预测代码仍位于statsmodels存储库的“sandbox”文件夹中 . 我肯定会欢迎Github拉请求:)

    无论如何,这应该很简单 . 这是您链接到的预测函数的底层代码的链接 . 基本上,您只需要替换要使用的协方差矩阵而不是 covb 变量 .

    然后,您可以使用他在另一个SO帖子中看到的相同的matplotlib花絮 .

    https://github.com/statsmodels/statsmodels/blob/master/statsmodels/sandbox/regression/predstd.py#L27

    predvar = res.mse_resid/weights + (exog * np.dot(covb, exog.T).T).sum(1)
    predstd = np.sqrt(predvar)
    tppf = stats.t.isf(alpha/2., res.df_resid)
    interval_u = predicted + tppf * predstd
    interval_l = predicted - tppf * predstd
    return predstd, interval_l, interval_u
    

相关问题