VAR 所需的样本量和自由度

机器算法验证 时间序列 样本量 标准错误 向量自回归 自由程度
2022-04-10 22:19:20

我在许多教科书中读到,随着 VAR 中要估计的系数数量与时间段数量之间的比率增加到某个阈值以上,由于自由度的损失,估计变得不可靠。但是,在任何教科书中,我都无法找到有关该阈值的信息。有人可以对此提供一些见解或推荐文献吗?

假设我有 4 个变量和 3 个滞后。然后我有 4+4*3=16 个系数。我的问题是,模型应该有多少观察值才能确保缺乏自由度不是问题。10倍的系数数量会好吗?还是5次就够了?这就是我所说的阈值。显然,从直观的角度来看,32 似乎还不够。但我认为必须有一些理论工作,可能基于模拟,可以给出更准确(且不太直观)的答案。

1个回答

人们不应该期望对这些阈值有一个硬性规定。原因是估计的精度不仅取决于参数和观测值之间的比率,还取决于例如“信噪比”。也就是说,如果驱动该过程的误差的方差相对于回归器中的信号较大,则在其他条件相同的情况下,估计值将更具可变性。

以最简单的 VAR 示例为例,单变量 AR(1) 我们假设然后,我们知道的方差是(参见,例如,这里 因此,信噪比是 因此,有不能是参数和观察值比率的单一统一有效阈值,因为我认为随着的增加在限制为

yt=ρyt1+ϵt,
ϵt(0,σϵ2)yt
V(yt)=σϵ21ρ2
SNR=σϵ21ρ2σϵ2=11ρ2
yt1ρρ1,我们甚至有“超一致性”,即 OLS 估计器以速率而不是收敛。TT1/2

和不同 AR 系数运行 5000 次模拟的平均标准误差(有关使用的值,请参见下面的代码)。我们观察到,对于任何,正如预测的那样, ,标准误差平均较小。(正如预期的那样,对于任何可能会或可能不会满足,具体取决于的值。TρTρTρTρ

这里,对于任何和常数的估计值) ,因此它保持不变,可以这么说:ρρT

在此处输入图像描述

library(RColorBrewer)
rho <- seq(0.1,0.9,by = .1)
T <- seq(50,250,by = 50)

reps <- 5000
stderr <- array(NA,dim=c(length(rho),length(T),reps))

for (r in 1:length(rho)){
     for (t in 1:length(T)){
          for (j in 1:reps){
               y <- arima.sim(n=T[t],list(ar=rho[r]))
               stderr[r,t,j] <- sqrt(arima(y,c(1,0,0), method = "CSS")$var.coef[1,1])
          }
     }     
}
jBrewColors <- brewer.pal(n = length(rho), name = "Paired")
matlines(T,t(apply(stderr,c(1,2),mean)), col = jBrewColors, lwd=2, lty=1)
legend("topright",legend = rho, col = jBrewColors, lty = 1, lwd=2)

这绝不是 VAR 模型独有的。一般来说,对于哪些样本大小渐近近似是有限样本分布的有用指南,几乎没有指导。一个例外是正态分布作为 t 分布的近似值,其中目测密度表明从 30 自由度开始,两者非常相似,我们不妨使用正态分布。但即便如此,选择 30 也是相当随意的。甚至可以更进一步地说,这个特定的经验法则弊大于利,因为根据我的经验,它已经导致相当多的人推断出渐近近似是有用的,只要一个人有 30 个观察值,无论如何给出了上下文...