Python 基于异方差一致性标准差绘制平均置信区间的STATS模型

Python 基于异方差一致性标准差绘制平均置信区间的STATS模型,python,statistics,statsmodels,Python,Statistics,Statsmodels,这个问题类似于但又有一个细微差别: 我的数据是异方差的,我想使用statsmodels提供的任何一个异方差一致标准误差(HC0_se、HC1_se等)绘制均值的置信区间。对于每一个拟合值,我都找不到任何容易获得的信息(尽管很容易获得每个系数的区间)。它似乎也不像标准平均置信区间数据那样包含在统计异常值的结果汇总表中 两个问题: 有人知道我该怎么做吗 对于线性回归结果对象中也可用的异方差一致协方差矩阵,通常使用什么?为什么可以这样做 非常感谢我认为还没有办法指定要使用哪个协方差矩阵来计算预测标准误

这个问题类似于但又有一个细微差别:

我的数据是异方差的,我想使用statsmodels提供的任何一个异方差一致标准误差(HC0_se、HC1_se等)绘制均值的置信区间。对于每一个拟合值,我都找不到任何容易获得的信息(尽管很容易获得每个系数的区间)。它似乎也不像标准平均置信区间数据那样包含在统计异常值的结果汇总表中

两个问题:

  • 有人知道我该怎么做吗
  • 对于线性回归结果对象中也可用的异方差一致协方差矩阵,通常使用什么?为什么可以这样做

  • 非常感谢

    我认为还没有办法指定要使用哪个协方差矩阵来计算预测标准误差。请注意,预测代码仍然位于statsmodels存储库中的“sandbox”文件夹中。我相信Github拉取请求将受到欢迎:)

    无论如何,这应该是非常简单的。这里有一个链接,指向您链接到的预测功能的引擎盖下代码。本质上,您只需要替换要使用的协方差矩阵,而不是
    covb
    变量

    然后,您可以使用您在另一篇SO文章中看到的matplotlib小贴士


    我认为目前还没有一种方法可以指定要使用哪个协方差矩阵来计算预测标准误差。请注意,预测代码仍然位于statsmodels存储库中的“sandbox”文件夹中。我相信Github拉取请求将受到欢迎:)

    无论如何,这应该是非常简单的。这里有一个链接,指向您链接到的预测功能的引擎盖下代码。本质上,您只需要替换要使用的协方差矩阵,而不是
    covb
    变量

    然后,您可以使用您在另一篇SO文章中看到的matplotlib小贴士


    稳健的标准误差或协方差尚未完全集成到模型中。它们目前主要是附加组件,用于在估计模型后获取它们

    在下一版本的statsmodels中,我们将能够将默认协方差更改为任何可用的稳健协方差估值器,并且已经在OLS的当前主版本中。然后,所有其他结果,t_检验、wald_检验等,将使用已定义为默认值的稳健或非稳健协方差。 当前版本:

    对于预测标准误差:

    我认为当
    cov_params
    是一个稳健的三明治估计量时,计算结果是相同的,但我还没有用Stata验证这一点。请参阅我答案的最后一部分

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

    为什么我们要使用稳健协方差

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

    许多现代计量经济学教科书建议,当我们不能确定异方差或观测值间相关性的正确规格时,应始终使用稳健协方差估值器。这在经济学中几乎总是如此

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


    这同样适用于其他模型,例如泊松分布中的聚类稳健标准误差或广义估计方程(GEE)中的Logit模型。

    稳健标准误差或协方差尚未完全集成到模型中。它们目前主要是附加组件,用于在估计模型后获取它们

    在下一版本的statsmodels中,我们将能够将默认协方差更改为任何可用的稳健协方差估值器,并且已经在OLS的当前主版本中。然后,所有其他结果,t_检验、wald_检验等,将使用已定义为默认值的稳健或非稳健协方差。 当前版本:

    对于预测标准误差:

    我认为当
    cov_params
    是一个稳健的三明治估计量时,计算结果是相同的,但我还没有用Stata验证这一点。请参阅我答案的最后一部分

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

    为什么我们要使用稳健协方差

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

    许多现代计量经济学教科书建议,当我们不能确定异方差或观测值间相关性的正确规格时,应始终使用稳健协方差估值器。这在经济学中几乎总是如此

    最简单的情况就是异方差,但在时间序列中,我们可能具有模型中未包含的自相关,在重复测量或面板数据中,我们通常在集群或面板中具有相关性。稳健协方差给出了t中一致的标准误差
    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