【发布时间】:2014-08-16 18:32:56
【问题描述】:
我在将 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 会给我这个错误信息:
警告消息:在 Predictions1[a] = Forcasting1 中:项目数 替换不是替换长度的倍数
如有任何建议,我将不胜感激。任何关于我哪里出错的解释也很感激。感谢您的宝贵时间。
【问题讨论】:
标签: r vector prediction