Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Matemáticas
Departamento de Estadı́stica
Xt = mt + st + zt ,
Xt = mt · st + zt .
1. Considere el número internacional de reservas de pasajeros por mes en una lı́nea aérea en Estados
Unidos desde los periodos 1940 - 1960. Los datos se encuentran en la libreria datasets.
data(AirPassengers)
AP<-AirPassengers
start(AP); end(AP); frequency(AP)
2. Realice un análisis previo de los datos. Grafique la serie, utilice la función aggregate para visualizar la
tendencia y la funci ón boxplot para visualizar la componente estacional. Además, visualice y comente
la estructura de correlación de los datos.
ts.plot(AP, ylab="Passengers(1000’s)")
layout(1:2)
plot(aggregate(AP), ylab="")
boxplot(AP~cycle(AP))
3. Utilice las siguientes funciones y descomponga la serie para visualizar de mejor forma sus componentes.
¿Qué tipos de efectos presenta la serie? ¿efectos aditivos o multiplicativos?
plot(stl(AP,"per"))
plot(decompose((AP)))
Passanger.decom<-decompose((AP), type="mult")
plot(Passanger.decom)
Trend<-Passanger.decom$trend
Seasonal<-Passanger.decom$seasonal
ts.plot(cbind(Trend, Trend*Seasonal), lty=1:2)
library(forecast)
TIME<-time(AP)
It<-seasonaldummy(AP)
model<-lm(AP~TIME+ It)
summary(model)
ajustados<-ts(model$fitted.values, start=c(1949,1), freq=12)
plot(AP)
lines(ajustados, col=2)
5. En este segundo caso, se ajustará un modelo de regresión que capture el efecto estacional a través de
una representación armónica.
Obs: Se trabajará con el logaritmo de los datos. Comente la significancia de los parámetros. ¿El ajuste
fue bueno?. ¿Los residuos presentan autocorrelación?.
It.trig<-fourier(log(AP),2)
model2<-lm(log(AP)~TIME + It.trig)
summary(model2)
ajustados2<-ts(model2$fitted.values, start=c(1949,1), freq=12)
plot(AP)
lines(exp(ajustados2), col=2)
Obs: En un enfoque de serie de tiempo con componente estacional es usar Fourier donde el patrón
estacional se modela usando términos de Fourier mientras que las dinámicas de series de tiempo de
corto plazo son establecidas en el error. Por ejemplo, considere el siguiente modelo:
K
X
yt = α + [αk sin (2πkt/s) + βk cos (2πkt/s)] + εt
k=0
donde
εt = φεt−1 + θηt−1 + ηt ,
iid
con η ∼ N (0, 1) y el vector de parámetros es Θ = (a, b, α0 , β0 , α1 , β1 , φ, θ) = (0.01, 0.05, 0.25, −0.3, 0.75, 1.5, 0.7, 0.45).
Trend<-0.01+0.05*Time
S_t<- 0.25*sin(2*pi*0*Time/12) + -0.3*cos(2*pi*0*Time/12) + 0.75*sin(2*pi*Time/12)
+ 1.5*cos(2*pi*Time/12)
e<-arima.sim(n=108,list(order=c(1,0,1), ar=0.7, ma=-0.45), sd=1)
ee<-ts(e, start = c(2010,1), end=c(2018,12), fr=12)
#### Prediction
t<-ts(start=c(2019,1), end=c(2023,12),fr=12 )
Time2<-time(t)
length(Time2)
Trend2<-0.05*Time2
length(Trend2)
xxreg2<-as.matrix(data.frame(Trend2, fourier(S_t,2, h=60)))
fcast<-forecast(x, h=60, xreg=xxreg2)
plot(fcast)
0.2. Predicciones
7. Realice una predicción de 2 años del número internacional de reservas de pasajeros por mes.
TTP.F<-fourierf(log(AP), 2, 24)
t2<-(ts(start=1961, end=c(1962,12), fr=12))
TIME2<-time(t2)
data_Pred<-data.frame(TIME=TIME2, It.trig=I(TTP.F))
prons.vt<-ts(predict(model2, data_Pred),start=1961, fr=12)
ts.plot(AP,exp(prons.vt), lty=1:2)
8. Ajuste un modelo ARMA(3, 3) a los residuos y verifique los parámetros significativos. Posteriormente,
analize el correlograma de los residuos con las funciones acf() y tsdiag(modelo).
modelo1<-arima(res2, order=c(3,0,3))
test.sig<-abs(modelo1$coef/sqrt(diag(modelo1$var.coef)))
9. Observe y compare la nueva predicción y los datos estimados con los obtenidos anteriormente.
del proceso Xt .
Suponiendo que la tendencia mt es aproximdamente lineal en el intervalo [t − q, t + q] y que la media
del error es cercana a cero.
El promedio móvil nos proporciona las estimaciones
q
1 X
m̂t = Xt−j , q + 1 ≤ t ≤ n − q.
2 q + 1 j=−q
data(LakeHuron)
plot(x, type = ’p’, ylab = "", main = "Level Lake Huron")
q <- 5
lines( filter(x, rep(1/q,q)), col = ’red’,lwd = 3 )
Es útil pensar que {m̂t } es un proceso obtenido a partir de la aplicación de un filtro lineal a {Xt } de
la forma
X∞
m̂t = aj Xt−j ,
j=−∞