生成ARIMA.sim

时间:2016-06-30 09:37:08

标签: r model time-series

我为我拥有的数据生成了ARIMA模型,需要模拟未来10年内生成的模型(数据为每天大约3652天)。这是auto.arima生成的数据的最佳拟合模型,我的问题是如何将其模拟到未来?

mydata.arima505 <- arima(d.y, order=c(5,0,5))

2 个答案:

答案 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个未来观测值。