Newey-West t 统计量

机器算法验证 时间序列 假设检验 自相关 异方差 纽威斯特
2022-03-21 23:47:23

我有一个时间序列,它通过构造自相关,并且可能是异方差的。我已经计算了这个时间序列的样本平均值,并且想计算与这个时间序列的平均值为零的假设相对应的 t 统计量。我的理解是,由于我的时间序列是自相关的并且可能是异方差的,因此我必须使用“根据 Newey-West 方法调整序列相关性”的 t 统计量。

  1. 我在理解该方法以及如何在 Matlab 中实现此方法时遇到问题。据我了解,Newey-West 用于回归以获得 HAC 标准误差,因为在回归中误差项的序列相关下,OLS 标准误差不是推断的可靠基础。但就我而言,我没有回归任何东西,那么 Newey-West 方法如何适应?在没有自相关和同方差性的情况下,我会简单地将样本均值(负 0)除以标准误差(样本标准差除以观察次数的平方根)。因此,没有必要回归任何东西。
  2. 如何在 Matlab 中实现 Newey-West t 统计量的计算?
2个回答

看到我之前有过类似的问题,并且通过简单的网络搜索遇到了这个长期未得到解答的问题,我会尝试并发布我认为其他人也可能遇到的针对您的情况的一种可能的解决方案。

根据 SAS Support,您可以采用您拥有的时间序列并将仅截距回归模型拟合到该序列。此回归模型的估计截距将是该系列的样本均值。然后,您可以通过用于检索回归模型的 Newey-West 标准误差的 SAS 命令传递此仅截距回归模型。

这是 SAS 支持页面的链接:http: //support.sas.com/kb/40/098.html

查找“示例 2。系列样本均值的 Newey-West 标准误差校正”

在您的情况下,只需使用 Matlab 尝试相同的方法。如果有人有更好的方法,请不吝赐教。

这是一个函数,它返回平均值等于 h0 的零假设的平均值的 t.stat。滞后必须设置为可被视为自相关的滞后回报。

函数 y=NWtest(ret,lag,h0)

T=size(ret,1);
vv=var(ret);

for l=1:1:lag

    cc=cov(ret(1:end-l),ret(l+1:end));
    vv=vv+2*(1-l/lag)*cc(1,2);
end

y=(mean(ret)-h0)/sqrt(vv)*sqrt(T);

结尾