我为我拥有的数据生成了ARIMA模型,需要模拟未来10年内生成的模型(数据为每天大约3652天)。这是auto.arima生成的数据的最佳拟合模型,我的问题是如何将其模拟到未来?
mydata.arima505 <- arima(d.y, order=c(5,0,5))
答案 0 :(得分:1)
如果您的问题是模拟特定的arima过程,则可以使用函数arima.sim()
。但我不确定这是否真的是你想要的。通常你会使用你的模型进行预测。
library(forecast)
# True Data Generating Process
y <- arima.sim(model=list(ar=0.4, ma = 0.5, order =c(1,0,1)), n=100)
#Fit an Model arima model
fit <- auto.arima(y)
#Use the estimaes for a simulation
arima.sim(list(ar = fit$coef["ar1"], ma = fit$coef["ma1"]), n = 50)
#Use the model to make predictions
prediced values <- predict(fit, n.ahead = 50)
答案 1 :(得分:1)
forecast
包具有simulate.Arima()
功能,可以满足您的需求。但首先,使用Arima()
函数而不是arima()
函数来适合您的模型:
library(forecast)
mydata.arima505 <- arima(d.y, order=c(5,0,5))
future_y <- simulate(mydata.arima505, 100)
这将模拟使用拟合模型过去观察的100个未来观测值。