您如何计算时间序列模型中的参数数量?

机器算法验证 时间序列 配件
2022-04-08 13:54:21

我正在学习时间序列分析,并希望对我的拟合模型的残差进行 Box-Ljung 测试,例如

Box.test(res, lag=h, fitdf=K, type = "Lj") 

但是,我找不到计算的方法。到目前为止,我唯一的启发是:K

  • K等于模型中参数的数量。
  • 如果残差是根据原始数据计算的,K=0
  • 如果模型没有参数,K=0

我找到了一个时间序列的非季节性 ARIMA 模型中参数数量的公式,说明,其中是常数的指示函数,即如果 ,但在我发现的示例中,此公式与Box-Ljung 测试中使用不一致。n=p+q+k+1kcc=k=0d1K

有人可以帮我计算参数吗?

2个回答

因此,假设您使用 ARIMA,以下适用:

1)当您有一个没有差分的模型时,即,然后来自模型常数。ARIMA(p,d=0,q)K=p+q+11

2)当你有一个模型,那么ARIMA(p,d>0,q)K=p+q

你可以看看教授。海德曼的在线免费教科书

状态函数帮助文件这些测试有时适用于来自 ARMA(p, q) 拟合的残差,在这种情况下,参考文献表明通过设置 fitdf = p+q 可以获得对零假设分布的更好近似当然前提是滞后> fitdf。因此,建议将用于 ARMA(p,q) 模型。Box.testRK=p+q

从概念上讲,关键问题是给定模型规范(以及为 Ljung-Box 检验提供的对模型残差的影响)给出的检验统计量的零分布是什么。请注意,在特定测试中使用的有效自由度取决于测试,而不仅仅是生成残差的模型。这就是为什么,例如,当您想到 Ljung-Box 检验时,即使方差是模型的一个参数,您也不会计算估计的方差。另一个例子:在使用 ARCH-LM 测试对 GARCH 模型残差中剩余的 ARCH 效应进行测试时,您放弃了 ARMA 参数的计数,但确实计算了 GARCH 参数。

关于 Ljung-Box 测试的 Hyndman 和 Athanasopoulos 教科书章节可以在这里找到。