R中ARMA参数的误判

时间:2019-04-02 15:08:02

标签: r statistics time-series arima

我正在测试R中Arima拟合的可靠性,并尝试了以下例程:

我用设置的参数模拟了AR(1)过程的100个步骤,并将其重复了1000次。我取拟合参数的平均值。

我重复该过程1000次,并检查平均拟合参数的分布,并得到以下结果。如您所见,正确的参数远远超出了分布的范围。分布的形状与预期一致(正态,预测方差),但是似乎存在系统性偏倚,低估了均值。

这是Arima拟合过程或仿真的问题,还是我不了解的统计信息的问题?

nsim<-1e3
a<- 0.5
b<- 0.1
N<-1000
AR<-1:N
sigmas<-1:N

for (k in 1:N){
    M<-replicate(nsim,arima.sim(list(ar=a),n=100,sd=b))
  simulations<-list()
    for (i in 1:nsim)    simulations[[i]] <- arima(M[,i],order=c(1,0,0))

  coefs1<-1:nsim
  coefs2<-1:nsim
    for (i in 1:nsim){    
    coefs1[i] <- simulations[[i]]$coef[2]
    coefs2[i] <- simulations[[i]]$sigma2
  }

  AR[k]<-mean(coefs1)
  sigmas[k]<-mean(coefs2)
  cat(k, " "); flush.console() 
}
plot(density(sigmas),main="Distribution of fitted sigma^2",xlab="sig2",xlim=c(0.0096,0.01005))
abline(v=0.01)
plot(density(AR),main="Distribution of fitted slopes",xlab="AR parameter",xlim=c(.46,0.505))
abline(v=0.5)[enter image description here][2]


  [1]: https://i.stack.imgur.com/g04O3.jpg
  [2]: https://i.stack.imgur.com/ygq3U.jpg

0 个答案:

没有答案