R语言中有关预测

Python010

R语言中有关预测,第1张

ARIMA有现成的东西

nobs=length(data_set)

fit=arima(data_set, order=c(1,1,1), xreg=1:nobs)

fore=predict(fit, 15, newxreg=(nobs+1):(nobs+15))

arima 是fit模型

predict 是预测

ts.plot 是按时间画图

好吧。。。希望对你有用~~~~~~~~~~~~~

预测的话,应该用接下来的时间,所以应该是预测2014,2015....

程序如下:

new<-data.frame(year=2014)

lm.pred<-predict(z,new,interval="prediction",level=0.95)

lm.pred

解释:第一行表示输入新的点year=2014,注意,即使就一个点,也要采用数据框结构;第二行的函数predict()给出相应的预测值,参数interval="prediction"表示同时要给出相应的置信区间,参数level=0.95表示相应的概率为0.95.这个参数也可以不写,因为它的缺省值为0.95.

你提到的2013的数据不是预测,而是拟合。我们可以通过得到的模型对原来的year这个变量的数据进行拟合。

程序如下:

fit<-fitted(z)

fit

得到的就是在你得到的模型下2006-2013这8年的拟合值了。

希望能对你有所帮助~

简单的说,fitted是拟合值,predict是预测值:

所做的模型是基于给定样本的值建立的,在这些给定样本x1,x2,...,xn(已知所对应的y值)上做预测就是拟合;

在新样本上xn+1,xn+2,...(y值未知)做预测,就是模型预测。

例如,R in action中的例子:

fit<-lm(weight~height,data=women)

fitted(fit)

predict(fit,newdata=data.frame(height=90))

##将90代入,可以对比下结果。