【问题标题】:Storing arima predictions into empty vector in R将 arima 预测存储到 R 中的空向量中
【发布时间】: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


    【解决方案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)
    }
    

    【讨论】:

    • 成功了!非常感谢。如果我没有问太多,为什么您发布的解决方案有效?我是 R 新手,想了解更多关于将函数输出存储到向量中的信息。
    猜你喜欢
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2018-04-10
    • 2015-06-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多