Examen Práctico time series

Embed Size (px)

DESCRIPTION

Documento escrito en Látex, en este documento se relata el ajuste de un modelo ARIMA a una serie de tiempo de niveles de concentración de ozono en el aire.

Citation preview

  • Examen Practico No.1 Series deTiempo

    UNAM Facultad de Ciencias

    Profesor: Cesar Almenara Martnez

    Ayudante: Danae Mirel Martnez Vargas

    Medina Jimenez Sonny AlbertoNava Rosales Eduardo

    25 de Mayo de 2015

  • 1Considere un proceso de la forma(...) Simule(...)

    a. xt = st + wt con t = 1, 2, ..., 200 y

    st = 10 exp{(t 100)20

    }cos(2pit/4) si t = 101, 102, ..., 200

    b. xt = st + wt con t = 1, 2, ..., 200 y

    st = 10 exp{(t 100)200

    }cos(2pit/4) si t = 101, 102, ..., 200

    Figura 1: Series de a y b

    2

  • Figura 2: Series de a, b, EQ5 y EXP6

    Figura 3: Moduladores et/20 y et/200

  • 2Programamos el algoritmo de Durbin Levinson, el codigo se encuentra enel apendice de programacion del examen, a continuacion se incluye unaimagen del script final. El Algoritmo de Durbin Levinson es utilizado en elproblema 3, para la seccion de pronosticos.

    Figura 4: Imagen del Script de R

    4

  • 3a. Tpicamente hay poco ozono presente en el aire durante la noche,hablamos del ozono atmosferico a bajas concentraciones, de 3 a 4 pphm(parts per hundred million) partes por cientos de millones. Su nivelempieza a subir luego del amanecer, alcanza niveles maximos alrededordel medioda y se disipa gradualmente conforme cae la tarde. Elacumulado diario es el resultado de la reaccion fotoqumica decontaminantes por emisiones de automoviles y otras fuentes.La serie de tiempo original se titula Movimiento Diario de Ozono. y posee216 registros mensuales (promedios mensuales en pphms de cada hora delda desde enero de 1955 hasta diciembre de 1972) que reflejan laconcentracion de Ozono en el centro de la ciudad de Los Angeles,California en un periodo de tiempo que comprende del primero de enerode 1955 hasta diciembre de 1972, 18 anos.

    Figura 5: Concentracion de Ozono de 1955 a 1972

    5

  • Algunas otras caractersticas de la serie estan dadas en la siguiente tabla.

    Mnimo Mediana Media Maximo

    1.2 pphm 3.7 pphm 3.77 pphm 8.7 pphm

    El mes con registro mas alto es: Septiembre de 1956

    El ano con registro mas alto es: 1956

    El mes con registro mas bajo es: Diciembre de 1971

    El ano con registro mas bajo es: 1971

    b. De un primer vistazo a la grafica de la serie, es apreciable uncomportamiento cclico de periodicicad anual, mostrando maximoslocales generalmente en los meses de septiembre y octubre de cada ano,una marcada tendencia a la baja y la ausencia de observacionesatpicas.

    c. Para estimar la tendencia hicimos uso de un filtro lineal simetrico de laforma:

    mt =1

    12

    6i=6

    ciXti c6 = ,5 ; ci6=6 = 1

    .Obteniendo la siguiente grafica.

    Figura 6: Tendencia estimada

  • Para estimar la estacionalidad de la serie utilizamos la funcion

    Sk = wk 15

    Ni=1

    wl

    y la comparamos con la estimacion dada por la funcion decompose de lapaquetera stats.

    Figura 7: Estacionalidad estimada, en violeta la estimada por nosotros y en rosa la estimada por R

    d. Como la serie presenta una marcada tendencia y estacionalidad anual,estamos imposibilitados para ajustar un modelo ARMA(p, q), por lo quese aplicaron diferencias de la forma (1B)d (1Bs)D sobre el logaritmode la serie original, en especfico (1B)(1B12) siendo de esta maneraun modelo SARIMA(p, d, q) (P,D,Q)s el mas adecuado para hacerpredicciones.En la Figura 4 podemos observar que se ha eliminado la estacionalidad dela serie.

  • Figura 8: Serie diferenciada.

    d. Las graficas de la Funcion de Autocorrelacion (ACF) y Funcion deAutocorrelacion Parcial (PACF) de la serie diferenciada en la Figura 5 noreflejan un componente estacional y sirven de gua para el ajuste de unmodelo.

    Figura 9: ACF y PACF de la Serie Diferenciada

    Ajustamos un modelo multiplicativo SARIMA(1, 1, 1) (1, 1, 1)12 sobreel logaritmo de la serie original. Lo que es equivalente a ajustar un modeloARMA(1, 1) sobre las diferencias del logaritmo de la serie. Obtuvimos lossiguientes resultados:

  • Coeficiente 1 1 1 1Estimacion 0.2542 -0.9268 -0.0661 -0.7172

    S.e de la estimacion 0.0790 0.0367 0.1040 0.0841AIC. -31.14

    Observe que el coeficiente 1 no es estadsticamente significativo pues ladesviacion estandar excede en casi dos veces el valor absoluto delcoeficiente.Ajustando nuevamente un modelo multiplicativo despreciando elcoefeiciente 1, es decir SARIMA(1, 1, 1) (0, 1, 1)12 tenemos losiguiente.

    Coeficiente 1 1 1Estimacion 0.2569 -0.9302 -0.753

    S.e de la estimacion 0.0787 0.0361 0.058AIC. -32.75

    Segun el criterio de informacion de Akaike y el principio de parsimonia, elsegundo modelo es mejor que el primero. ncluimos las graficas de la ACFy PACF de los residuales del segundo modelo.

    Figura 10: ACF y PACF de los residuales del modelo

    e. Observe que la figura 10 indica que no hay correlacion ni correlacionparcial significativa entre los residuales del modelo.

  • Para corroborar la sugerencia de que los residuales del modelo son unruido blanco se hicieron las pruebas de, Box-Pierce y Shapiro, querespectivamente indican la no correlacion y normalidad de los residualesdel modelo, ambas pruebas no fueron rechazadas. Por lo que procedimos apronosticar valores para la serie.

    Figura 11: Pruebas de Box-Pierce y Shapiro-Wilk, para probar no correlacion y normalidad respectiva-mente.

  • h. Realice el siguiente analisis...

    m(z) =1

    N d pN

    t=d+p+1

    zt =1

    216 1 1216

    t=1+1+1

    zt = 0,0145475

    z =

    Nt=d+p+1

    (zt m(z))2N d p q =

    216t=1+1+1

    (zt + 0,0145475)2

    216 1 1 1 =9,10582

    213= ,2067

    N d pm(z)

    z=

    214,0145475,2067

    = 1,029261| 1,029261| 2

    Por lo tanto NO existe evidencia de que la media de los residuales esdistinta a cero. Esta prueba tiene sentido porque el estadstico es unavariable aleatoria t de student, con N d p grados de liebertad, quehaciendo tender N a infinito, se comporta como una variable aleatorianormal estandar, y 2 es aproximadamente el cuantil del ,975 de confianza.

    Incluimos tambien una grafica del valor de los residuales en el tiempo.

    Figura 12: Residuales vs Tiempo.

    En la siguiente figura observamos resultados satisfactorios sobre lashipotesis de normalidad en los residuales del modelo.

  • Figura 13: Histograma de los residuales y QQ plot de los mismos

    A continuacion graficamos la densidad espectral de los residuales delmodelo. Junto a su estimacion utilizando el filtro lineal de Daniell conlapso 5. Es decir:

    g(i) =1

    2m 1; i = 1 o i = m

    g(i) =1

    men otro caso

    Figura 14: Densidad espectral de los residuales del modelo

  • Con todo lo anterior podemos llegar a la conclusion de que el modeloajustado es adecuado. Obtuvimos resultados estadsticamente agradablessobre los residuales (normalidad y no correlacion)

  • Pronosticos

    Usando el algoritmo de Durbin Levinson programado en el problema2, realizamos la prediccion de 12 meses de la serie diferenciada de loslogaritmos y posteriormente recuperamos la serie original y suspronosticos mediante las transformaciones inversas correspndientes,obteniendo la siguiente grafica.

    Figura 15: Pronostico a un ano usando el algoritmo de Durbin Levinson

    Podemos apreciar que las predicciones de un ano replicn adecuadamenteel comportamiento de la serie, respetando la componente estacional y latendencia, sin embargo la longitud de los intervalos de confianza es muygrande.

    14

  • Ahora utilizando la funcion predict proporcionada por R, tambienhicimos la prediccion de los siguientes 12 meses. Observe que lospronosticos proporcionados por el algoritmo de Durbin Levinsonprogramado en el problema 2 y los dados por la funcion predict sonpractimente identicos.

    Figura 16: Pronosticos hechos por la funcion predict

  • Por ultimo, removimos las ultimas doce observaciones de la serie original,aplicando la funcion predict, pronosticamos las 12 observacionescorrespondientes al ultimo ano observado (1972) y las graficamoscomparando con las observaciones reales. Podemos observar que lospronosticos hechos con la funcion predict pronosticaron una tendencia a labaja, lo cual era logico al observar los registros anteriores, sin embargo enrealidad los registros en de 1972 sobrepasaron los registros del anoanterior, afectando de esa manera la tendencia que pareca llevar desde1965.

    Figura 17: Grafica comparativa de valores reales contra valores pronosticados en 1972 por la funcionpredict

  • Conclusiones

    Este proyecto represento un reto en el que la teora y la practica seinvolucraron casi en la misma medida. Ajustar un modelo adecuado a laserie de tiempo nos resulto una tarea bastante ardua, pero que logramosconcluir con bastante satisfacion.Una vez eleborado el analisis podemos concluir que: La concentracion deozono en Los Angeles, Californa, presenta un compartamiento estacional,con tendencia a la alza, con el modelo ajustado podemos dar un buenintervalo de confianza para los siguientes doce meses.De todas las virtudes de los autores la mas ejercitada durante el desarrollodel proyecto fue sin duda la paciencia, pues a pesar de que los pasos sonpocos y concisos, la iteracion de algunos de ellos representan una laborcasi mecanica.

    17

  • Apendice de Programacion

    library(tseries)

    library(astsa)

    rm(list=ls())

    #1.Considere un modelo de la forma(...)

    #a

    esete

  • #c

    par(mfrow=c(2,2))

    plot.ts(xt,main="Serie de tiempo inciso a")

    plot.ts(yt,main="Serie de tiempo inciso b")

    plot.ts(EQ5,main="Serie de tiempo EQ5")

    plot.ts(EXP6,main="Serie de tiempo EXP6")

    #moduladores

    e20

  • phi[1,1]
  • #plot(density(Ozono))

    #3a Analisis Descriptivo de la serie.

    algunas otras caractersticas estan dadas en la siguiente tabla

    Min. 1st Qu. Median Mean 3rd Qu. Max.

    1.200 2.575 3.700 3.773 4.800 8.700

    El mes con registro mas alto es:Septiembre de 1956

    El a~no con registro mas alto es: 1956

    El mes con registro mas bajo es:Diciembre de 1971

    El a~no con registro mas bajo es: 1971

    #3b

    ######ESTIMACION DE LA TENDENCIA.

    q=6

    d=2*q

    #Aplicamos el filtro lineal

    mt=filter(Ozono, sides=2, c(0.5,rep(1,11),0.5)/12)

    x11()

    plot(Ozono, main="Estimacion de la tendencia

    mediante un filtro lineal")

    lines(mt, col="violet", lwd=2)

    summary(decompose(Ozono))

    decomp

  • seas
  • min(abs(S))

    #Tomamos j=5, y mandamos a llamar la funcion

    Sgorro

  • mod2=arima(log(Ozono), order=c(1,1,1),seasonal=list(order=c(0,1,1), period=12))

    mod2

    acf2(mod2$residuals)

    #Prueba de hipotesis sobre la independencia de los residuales

    Box.test(mod2$residuals)

    #Prueba de hipotesis sobre la normalidad de los residuales

    shapiro.test(mod2$residuals)

    residuales

  • -0.0145475/0.2067615

    214^.5*(-0.0145475/0.2067615)

    qqplot(residuales)

    x11()

    par(mfrow=c(1,2))

    hist(residuales, prob=TRUE,12, main="Histograma de los residuales", col="blue")

    lines(density(residuales),

    col="red", lwd=2)

    qqnorm(residuales, main="Q-Q Plot de los residuales")

    qqline(residuales, col="red")

    #f) Para la parte de analisis espectral

    x11()

    par(mfrow=c(2,1))

    spectrum(mod2$residuals)

    #El argumento span les da los pesos del filtro que les piden,

    #esto para poder dar una mejor interpretacion

    spectrum(residuales, span = c(2,3), log = c("no"))

    #2) Verifique el supuesto de varianza constante utilizando

    una grafica de

    #residuales contra tiempo, con intervalos de

    confianza al 95 %.

    #Grafica del tiempo vs varianza

    N=length(residuales)

    par(mfrow=c(1,1))

    tn=1:N

  • x11()

    plot(tn,residuales,main="Residuales vs. Tiempo",xlab="Tiempo",type="l",

    ylab="Residuales")

    #3) Para ver correlacion cero

    Box.test(residuales)

    #4)

    ##Ho: La muestra proviene de una poblacion con distribucion normal

    shapiro.test(residuales)

    ad.test(residuales)

    lillie.test(residuales)

    #No ser rechaza Ho

    x11()

    par(mfrow=c(1,2))

    hist(residuales, prob=TRUE, main="Histograma de los residuales",

    col="blue")

    lines(density(residuales), col="red", lwd=2)

    qqnorm(residuales, main="Q-Q Plot de los residuales")

    qqline(residuales, col="red", lw=2)

    #Los residuales del modelo tienen distribucion normal

    ###################################################33PRONOSICOS

    ####DURBINLEVINSON

  • madre=diff(diff(log(Ozono),lag=1),lag=12)

    predicciones=c()

    for(i in 1:12){

    predicciones[i]

  • V
  • madre=diff(diff(log(Ozono),lag=1),lag=12)

    predicciones=c()

    errores=c()

    for(i in 1:12){

    predicciones[i]

  • #####FUNCION PREDICT

    pron

  • #########SUSTITUIR LOS DEL ULTIMO A~NO

    madre2=diff(diff(log(Ozono[1:205]),lag=1),lag=12)

    predicciones=c()

    for(i in 1:12){

    predicciones[i]

  • newoz
  • for(k in 1:(n-1))

    {

    js