我有月度通胀数据。从1999/01到2014/10。
我做了一个AR(1)模型,有1999/01到2007/12的数据,它给了我:Yt = 0.0057 + 0.6212Yt-1;
data<-read.table("C:/TimeSeries/Inflation/inflation.txt", header=T, dec=",")
data.ts <- ts(data, start=c(1999,01), freq=12)
time = window(data.ts, start=c(1999,01),end=c(2007,12))
inflarima<-Arima(time,order=c(1,0,0))
inflarima
正如理论所说,我的第一个预测应该是:Et(Yt + 1)= 0.0057 + 0.6212Yt;第二个:0.0057 + 0.6212 * 0.0057 +(0.6212 ^ 2)* Yt等等......对吧
所以,我的第一期预测是2008年1月,其值为(0,0057 + 0,6212 * Y2007,12 =(0,0057 + 0,6212 * 0.003790990 = 0,008054962988 ) 0,008054962988
stat=c(2008,01) #First Prediction will be january 2008
out_of_sample=window(data.ts,start=stat) #out of sample data
recurs.pred1=ts(0,start=stat,end=c(2014,7),frequency=12) #Matrix to put the predictions through RECURSIVE METHOD
for (t in 1:(length(dado_de_fora))) {
reg.recur1=Arima(window(time,end=c(2007,3+t)),c(1,0,0))
recurs.pred1[t]=predict(reg.recur1,n.ahead=1)$pred #y chapeu de 1T2008, modelo Arma(1,1)
}
我的足球价值观:
recurs.pred1[]
Jan Feb Mar Apr May .......
2008 0.004556208 0.003796366 0.003965125 0.003948726 0.003681815 .......
这里开始出现问题:
Jan
2008 0.004556208
我如何得到这个价值??? !!正确的价值应该是 0,008054962988 ,我是对的吗?
这些数据来自:1999/01至2014/07
答案 0 :(得分:1)
您提出了一些方法论和概念上的错误。
我认为,第一个错误是由于您对AR(1)缺乏了解:提前一步预测不是a+bY{t}
,而是a*(1-b)+b*Y{t}
。你的理论是错误的。请查阅您的教科书或arima
的文档以解决问题。因此,您对2008年1月的预测必须
> 0.0057*(1-0.6212) + 0.6212*0.003790990
[1] 0.004514123
其次,您有月度月度通胀率,因此reg.recur1=Arima(window(time,end=c(2007, 3+t)),c(1,0,0))
中的论点必须为11+t
。 (什么是Arima
?)
最后,将通胀数据纳入AR(1)的水平是完全错误的。通常,适合于适应通胀的第一个差异,即通货膨胀的增加。
以下小例子可能有所帮助。我粗略地按照你的代码。
library(forecast)
set.seed(20141221)
x <- arima.sim(n=108, list(ar=0.5))
data.ts <- ts(x, start=c(1999,01), freq=12)
time = window(data.ts, start=c(1999,01),end=c(2007,12))
inflarima <- arima(time, order = c(1, 0, 0)) #
inflarima$coef
# ar1 intercept
#0.4945659 0.2069526
#1-step ahead forecast
0.4945659*time[108] + 0.2069526*(1-0.4945659)
#[1] 0.1147776
forecast(inflarima, h=1) #use forecast rather than predict. returns the same.
# Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
#Jan 2008 0.1147776 -0.9938675 1.223423 -1.580749 1.810304