全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2596 1
2012-05-30
我们现在在学R软件来简单的分析

我先分享一下我的程序
我的模型是
fit=arima(IPI,order=c(1,1,1),seasonal=list(order=c(0,0,2),period=12))
所做的预测
IPI1=ts(IPI)
dbnp.prev.dyn=ts(start=1000,end=1120)
dbnp.se.dyn=ts(start=1000,end=1120)
for (i in 999:1120){
dbnp.mod.temp=arima(window(IPI1,start=1,end=i),order=c(1,1,1),include.mean=F)
     dbnp.prev.dyn[i-999]=predict(dbnp.mod.temp,n.ahead=1)$pred
    dbnp.se.dyn[i-999]=predict(dbnp.mod.temp, n.ahead=1)$se
}
IPI2=ts(dbnp.prev.dyn,start=c(2002,4),end=c(2012,4),frequency=12)
dbnp.se.dyn2=ts(dbnp.se.dyn,start=c(2002,4),end=c(2012,4),frequency=12)
par(mfrow=c(1,1))
plot(window(IPI,start=c(2002,4),end=c(2012,4)))
lines(IPI2,col="red")
lines(IPI2+1.00*dbnp.se.dyn2,col="blue")
lines(IPI2-1.00*dbnp.se.dyn2,col="blue")

上面方法是老师讲的
不知道有没有大神能用更加简洁的方法
对ARIMA模型进行样本内的预测和样本外的预测
想知道详细的过程
先在这里谢过了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-1-4 17:06:56

forecast包里的auto.arima,具体函数形式是——

auto.arima(x, d=NA, D=NA, max.p=5, max.q=5,

max.P=2, max.Q=2, max.order=5, max.d=2, max.D=1,

start.p=2, start.q=2, start.P=1, start.Q=1,

stationary=FALSE, seasonal=TRUE,

ic=c("aicc","aic", "bic"), stepwise=TRUE, trace=FALSE,

approximation=(length(x)>100 | frequency(x)>12), xreg=NULL,

test=c("kpss","adf","pp"), seasonal.test=c("ocsb","ch"),


allowdrift=TRUE, lambda=NULL, parallel=FALSE, num.cores=2)

   

如果你还有疑问,可以看下帮助文档:http://cran.r-project.org/web/packages/forecast/forecast.pdf

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群