将arima预测存储到R中的空向量中

将arima预测存储到R中的空向量中,r,vector,prediction,R,Vector,Prediction,我无法将arima预测存储到空向量中。问题是arima预测会给出预测和标准误差。有两列值。我似乎无法将值存储在空向量中。我试图创建两个空向量并将它们绑定在一起,但这并没有解决问题 我的目的是模拟1000次观测。使用前900个观测值进行100个预测。值列表必须更新。例如,使用900次观测来预测第901次观测的值。现在使用901次观测,包括预测的第901次观测,来预测第902次观测。重复此操作,直到使用999个观察值预测第1000个观察值。我希望找出如何将多个值存储到一个向量中 我希望包含100个预

我无法将arima预测存储到空向量中。问题是arima预测会给出预测和标准误差。有两列值。我似乎无法将值存储在空向量中。我试图创建两个空向量并将它们绑定在一起,但这并没有解决问题

我的目的是模拟1000次观测。使用前900个观测值进行100个预测。值列表必须更新。例如,使用900次观测来预测第901次观测的值。现在使用901次观测,包括预测的第901次观测,来预测第902次观测。重复此操作,直到使用999个观察值预测第1000个观察值。我希望找出如何将多个值存储到一个向量中

我希望包含100个预测的空向量称为Predictions1

# Create Arima Series #

ArimaSeries1 = arima.sim(n=1000, list(ar=c(0.99), ma=c(0.1)))+50
ts.plot(ArimaSeries1)
acf(ArimaSeries1)

ArimaSeries2 = arima.sim(n=1000, list(ar=c(0.7,0.2), ma=c(0.1,0.1)))+50
ts.plot(ArimaSeries2)
acf(ArimaSeries2)

ArimaSeries3 = arima.sim(n=1000, list(ar=c(0.6,0.2,0.1), ma=c(0.1,0.1,0.1)))+50
ts.plot(ArimaSeries3)
acf(ArimaSeries3)

# Estimate Arima Coefficients using maximum likehood #

ARC1 = arima(ArimaSeries1, order = c(1,0,1))
ARC2 = arima(ArimaSeries2, order = c(2,0,2))
ARC3 = arima(ArimaSeries3, order = c(3,0,3))

# Estimate Arima Coefficients with 900 observations #

AR1 = arima(ArimaSeries1[1:900], order = c(1,0,1))
AR2 = arima(ArimaSeries2[1:900], order = c(2,0,2))
AR3 = arima(ArimaSeries3[1:900], order = c(3,0,3))

# Create for-loop to make one prediction ahead for 100 times #

PredictionsA = rep(0,100)
PredictionsB = rep(0,100)
Predictions1 = cbind(PredictionsA,PredictionsB)

for(a in 1:100){ Forcasting1 = predict(arima(ArimaSeries1[1:900+a], order=c(1,0,1)), n.ahead=1)}
Predictions1[a] = Forcasting1
R将给我此错误消息:

警告消息:In Predictions1[a]=预测1:项目数 替换不是替换长度的倍数


如有任何建议,我将不胜感激。任何关于我错在哪里的解释都是非常感谢的。谢谢您的时间。

可能是这样的:

Predictions1 <- array(NA, c(100,2)) 
for(a in 1:100){ 
  Forcasting1 = predict(arima(ArimaSeries1[1:900+a], order=c(1,0,1)), n.ahead=1)
  Predictions1[a,] = unlist(Forcasting1)
}

Predictions1成功了!非常感谢你。如果我没有问太多,为什么你发布的解决方案有效?我是R新手,希望了解更多关于将函数输出存储到向量的知识。