He sido la aplicación de un poco de ejercicio para obtener los 2 primeros de previsión de puntos de un AR(1) el proceso. Y quiero tener la previsión de ponts el uso de las tres formas: Im siguiendo este pdf http://www.le.ac.uk/users/dsgp1/COURSES/BANKERS/BANKERS6.PDF
Diferencia de la Ecuación de Formas, Movimiento Aerage Forma y Auroregressive Forma:
Me hizo bien para las primeras dos formas:
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))
inflarima1 <- arima( x,order = c(1, 0, 0))
inflarima1$coef
# ar1 intercept
#0.4945659 0.2069526
predict(inflarima,2)$pred
#Jan Feb
#2008 0.1147776 0.1613660
PRIMERA FORMA: la Diferencia de Forma de Ecuación
# c^= INTERCEPT*(1-phi)
#h=1 -> yt+1 = c^ + phi*Yt
0.2069526*(1-0.4945659) + 0.4945659*x[108]
0.1147776
#h=2 -> yt+1 = c^ + phi*Yt+1 = c^ + phi*[c^ + phi*Yt]= c^+phi*c^+ phi^2*Yt
0.2069526*(1-0.4945659) + 0.2069526*(1-0.4945659)*0.4945659
+ 0.4945659^2*x[108]
0.1613660
SEGUNDA FORMA: PROMEDIO MÓVIL
#Forecasting h=1;
#Yt+h = mu + phi*et + phi^(2)*et-1 +... + phi^(108)*et-107
#residuals<-inflarima1$residuals
MatrizFIrstForecasting<-matrix(NA,108,1)
for (i in 108:1) {
MatrizFIrstForecasting[i]<-residuals[i]*0.4945659^(108-(i-1) )
}
#Yt+1 = mu + phi*et + phi^2*et-1 + ... + phi^108*et-107
0.2069526 + sum(Matrizphie) #0.1147776
#Forecasting h=2;
#Yt+h = mu + phi^2*et + phi^(3)*et-1 +... + phi^(109)*et-107
MatrizSECONDForecasting<-matrix(NA,108,1)
for (i in 108:1) {
MatrizSECONDForecasting[i]<-residuals[i]*0.4945659^(108-(i-2) )
}
#Yt+2 = mu + phi^2*et + phi^3*et-1 + ... + phi^109*et-107
0.2069526 + sum(MatrizSECONDForecasting) #0.161366
Tan lejos y tan funcionó...el problema es que no estoy siendo capaz de toimplement para la tercera forma. Creo que mi código es incorrecto.
Podría usted ayudarme a encontrar mi error?
Tercera Forma: Autorregresivos
Y^_t+1|t = pi_1*yt + pi2*yt-1 + ... + pi_108*yt-107... CORRECT?
El PIs coeficiente se obtiene como este?
pi_1 = (-phi_1) ; pi_2 = (-phi_1)^2 ; pi_3= (-phi_1)^3; ...;pi_108 = (-phi_1)^108
Por lo tanto,
Voy a construir un código para la primera previsión:
MATRIZpi<-matrix(,108,1)
for (i in 108:1) {
MATRIZpi[i]<-x[108-(108-i)]*(0.4945659)^(108-(i-1))
}
y la suma de cada línea de MATRIZpi de la matriz, para obtener:
Y^_t+1|t = pi_1*yt + pi2*yt-1 + ... + pi_108*yt-107
sum(MATRIZpi)
The value is 0.2099202
Obviamente esta mal. Ya he modificado el código de un par de veces y que no puedo solucionar.
Podría usted me sugieren algo?