SlideShare una empresa de Scribd logo
An´alisis de Series de Tiempo
Aplicaciones en R - Parte I
Juan Carlos Campuzano S.
Escuela Superior Polit´ecnica del Litoral
Semestre I 2013
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 1 / 34
Preliminares
Estas pr´acticas utilizan los paquetes de R que acompa˜nan a las
publicaciones ”Introductory Time Series with R”, de Cowperwait, P.y
Metcalfe, A. (2009), ”Time Series Analysis with R” de Ian McLeod, Hao
Yu y Esam Mahdi (2012) y ”Time Series Analysis with Applications in R”
de Cryer, J.y Chan, K. (2008).
Por lo tanto, se aconseja instalar los siguientes paquetes antes de empezar:
R> install.packages("TSA",dep=TRUE)
R> install.packages("RColorBrewer")
R> install.packages("latticeExtra")
R> install.packages("tseries")
El documento de ayuda del paquete TSA lo puede descargar de la siguiente
direcci´on: http://cran.r-project.org/web/packages/TSA/TSA.pdf
Las diapositivas fueron elaboradas en Beamer con la ayuda del paquete
SASnRdisplay.
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 2 / 34
Preliminares
Preliminares
Las series de tiempo son analizadas para entender el pasado y predecir
el futuro, permitiendo a los administradores o hacedores de pol´ıtica
tomar decisiones informados apropiadamente.
En t´erminos cient´ıficos, el prop´osito del an´alisis de las series de tiempo
es entender o modelar el mecanismo estoc´astico que da movimiento a
una serie observada y predecir los valores futuros de la serie basado en
su historia y posiblemente de otras series o factores relacionados.
Los m´etodos de series de tiempo son utilizadas todos los d´ıas en la
toma de decisiones.
Las series de tiempo tambi´en suelen formar la base de simulaciones
por computadora.
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 3 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
En esta secci´on el inter´es est´a en la gr´afica de las series de tiempo. Dichos
gr´aficos generalmente son el primer paso en un an´alisis exploratorio y
presentados en un reporte final.
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 4 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
Ejemplo 1: Paseo aleatorio
Uno de los procesos m´as elemental para el an´alisis de series de tiempo es
un paseo aleatorio:
R> library(TSA)
R> data(rwalk)
R> plot(rwalk, ylab=’Paseo Aleatorio’, type=’o’)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 5 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
Ejemplo 2: Precios del Trigo
Este ejemplo tiene como prop´osito mostrar el uso del comando plot()
con los datos del ´ındice de precios del trigo en Canad´a (Beveridge wheat
price index).
R> library(TSA)
R> data(bev)
R> plot(bev)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 6 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
Ejemplo 2: Precios del Trigo
A˜nadiendo algunas opciones adicionales al comando plot() se pueden
tener mejores resultados:
R> win.graph(width=4.875, height=2.5, pointsize=8)
R> plot(bev, ylab=’indice’, xlab=’ano’, type=’o’)
R> plot(bev, ylab=’indice’, xlab=’ano’, type=’l’)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 7 / 34
Gr´afico de Series de Tiempo
G´afico de Series de Tiempo
Ejemplo 3: Estacionalidades
En ocasiones un evento se repite sistem´aticamente a lo largo del tiempo y
para el an´alisis de series de tiempo, visualizar estos patrones resulta
s´umamente ´util:
R> data(oilfilters); plot(oilfilters, type=’o’, ylab=’Ventas’)
R> win.graph(width=4.875, height=2.5, pointsize=8)
R> plot(oilfilters, type=’l’, ylab=’Ventas’)
R> points(y=oilfilters, x=time(oilfilters), pch=as.vector(season(oilfilters)))
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 8 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
Ejemplo 4: G´afico de M´ultiples Series de Tiempo
En otras ocasiones tambi´en es importante graficar m´ultiples series de
tiempo:
R> www <- "http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/cbe.dat"
R> CBE <- read.table(www, header = T)
R> CBE[1:4, ]
R> Elec.ts <- ts(CBE[, 3], start = 1958, freq = 12
R> Beer.ts <- ts(CBE[, 2], start = 1958, freq = 12)
R> Choc.ts <- ts(CBE[, 1], start = 1958, freq = 12)
R> plot(cbind(Elec.ts, Beer.ts, Choc.ts))
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 9 / 34
Gr´afico de Series de Tiempo
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 10 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
Ejemplo 5: Agrupaci´on y Tendencias
Sin lugar a dudas, agrupar frecuencias y visualizar tendencias es una de los
principales an´alisis gr´aficos que se suelen realizar a las series de tiempo. El
ejemplo a continuaci´on corresponde a observaciones sobre series de
temperaturas.
En el primer paso obs´ervese la frecuencia mensual de la serie entre los
periodos inicial y final:
R> www <- "http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/global.dat"
R> Global <- scan(www)
R> Global.ts <- ts(Global, st = c(1856, 1), end = c(2005, 12), fr = 12)
R> win.graph(width=4.875, height=2.5, pointsize=8)
R> plot(Global.ts, ylab=’Temperatura’, xlab=’periodo’)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 11 / 34
Gr´afico de Series de Tiempo
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 12 / 34
Gr´afico de Series de Tiempo
Luego, se puede proceder a agrupar las frecuencias por promedios
mensuales:
R> Global.anual <- aggregate(Global.ts, FUN = mean)
R> win.graph(width=4.875, height=2.5, pointsize=8)
R> plot(Global.anual, ylab=’Temp’, xlab=’Per’)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 13 / 34
Gr´afico de Series de Tiempo
Finalmente, se observa que desde los ’70 existe incremento en las
temperaturas, por lo que ser´ıa importante analizar la tendencia:
R> New.series <-window(Global.ts, start = c(1970, 1), end = c(2005, 12))
R> New.time <-time(New.series)
R> win.graph(width=4.875, height=2.5, pointsize=8)
R> plot(New.series); abline(reg=lm(New.series~New.time))
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 14 / 34
Gr´afico de Series de Tiempo
Gr´afico de Series de Tiempo
Ejemplo 6: Descomposici´on de una Serie
Si existe evidencia de una tendencia en una serie, resulta ´util descomponer
la serie para estimar la tendencia y efectos estacionales. Se presenta un
ejemplo con los datos de electricidad.
R> www <- "http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/cbe.dat"
R> CBE <- read.table(www, header = T)
R> Elec.ts <- ts(CBE[, 3], start = 1958, freq = 12)
R> win.graph(width=4.875, height=3.5, pointsize=8)
R> plot(decompose(Elec.ts))
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 15 / 34
Gr´afico de Series de Tiempo
Tambi´en se puede realizar una descomposici´on multiplicativa...:
R> Elec.decom <- decompose(Elec.ts, type = "mult")
R> win.graph(width=4.875, height=3.5, pointsize=8)
R> plot(Elec.decom)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 16 / 34
Gr´afico de Series de Tiempo
... o superponer la tendencia y el componente estacional.
R> Trend <- Elec.decom$trend
R> Seasonal <- Elec.decom$seasonal
R> ts.plot(cbind(Trend, Trend * Seasonal), lty = 1:2)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 17 / 34
Correlaci´on
Funciones de autocorrelaci´on Procesos Estacionarios
Correlograma
El principal prop´osito del correlograma es detectar autocorrelaciones en las
series de tiempo luego de haberles removido y estimado la tendencia y la
variaci´on estacional. El siguiente ejemplo se realiza con la serie de
Pasajeros que viene en el paquete R.
R> data(AirPassengers)
R> AP <- AirPassengers
R> AP.decom <- decompose(AP, "multiplicative")
R> plot(ts(AP.decom$random[7:138]))
R> acf(AP.decom$random[7:138])
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 18 / 34
Correlaci´on
Serie Pasajeros (estacionaria) Correlograma
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 19 / 34
Procesos ARMA
An´alisis Procesos AR(p)
R> win.graph(width=4.875, height=3, pointsize=8)
R> data(ar1.s); plot(ar1.s, ylab=expression(Y[t]), type=’o’)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 20 / 34
Procesos ARMA
Correlaci´on entre los rezagos t y t − 1
R> win.graph(width=3, height=3, pointsize=8)
R> plot(y=ar1.s,x=zlag(ar1.s),ylab=expression(Y[t]),xlab=expression(Y[t-1]), type=’p’)
R> acf(ar1.s)
Relaci´on entre rezagos Correlograma
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 21 / 34
Procesos ARMA
Simulaci´on Procesos ARMA
AR(2)
Simulemos el proceso visto en clases, un AR(2) de la forma:
Yt = 0.5Yt−1 + 0.3Yt−2 + εt con 100 observaciones:
R> ar.sim<-arima.sim(model=list(ar=c(.5,.3)),n=100)
R> ar.sim
La funci´on de autocorrelaci´on simple (acf):
R> ar.acf<-acf(ar.sim,type="correlation",plot=T)
R> ar.acf
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 22 / 34
Procesos ARMA
Las gr´aficas del proceso anterior se obtienen de:
R> win.graph(width=4.875, height=3, pointsize=8)
R> plot(ar.sim, ylab=expression(Y[t]), type=’o’)
R> ar.acf<-acf(ar.sim,type="correlation",plot=T)
R> ar.acf
Yt = 0.5Yt−1 + 0.3Yt−2 + εt Correlograma
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 23 / 34
Procesos ARMA
Ahora simulemos una variante del proceso anterior:
Yt = 0.5Yt−1 − 0.3Yt−2 + εt con 100 observaciones:
R> ar.sim2<-arima.sim(model=list(ar=c(.5,-.3)),n=100)
R> ar.sim2
La funci´on de autocorrelaci´on simple:
R> ar.acf<-acf(ar.sim2,type="correlation",plot=T)
R> ar.acf
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 24 / 34
Procesos ARMA
Las gr´aficas del proceso anterior se obtienen de:
R> win.graph(width=4.875, height=3, pointsize=8)
R> plot(ar.sim2, ylab=expression(Y[t]), type=’o’)
R> ar.acf<-acf(ar.sim2,type="correlation",plot=T)
R> ar.acf
Yt = 0.5Yt−1 − 0.3Yt−2 + εt Correlograma
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 25 / 34
Procesos ARMA
Qu´e sucede cuando el proceso NO ES estacionario? Simulemos el proceso
Yt = 0.9Yt−1 + 0.3Yt−2 + εt con 100 observaciones:
R> ar.sim3<-arima.sim(model=list(ar=c(.9,.3)),n=100)
R> ar.sim3
La funci´on de autocorrelaci´on simple:
R> ar.acf<-acf(ar.sim3,type="correlation",plot=T)
R> ar.acf
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 26 / 34
Procesos ARMA
Las gr´aficas del proceso anterior nos dan una pista:
R> win.graph(width=4.875, height=3, pointsize=8)
R> plot(ar.sim3, ylab=expression(Y[t]), type=’o’)
R> ar.acf<-acf(ar.sim3,type="correlation",plot=T)
R> ar.acf
Yt = 0.9Yt−1 + 0.3Yt−2 + εt Correlograma
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 27 / 34
Procesos ARMA
Simulaci´on Procesos ARMA
MA(2)
Ahora simulemos un MA(2) de la forma: Yt = εt − 0.7εt−1 + 0.1εt−2 con
100 observaciones:
R> ma.sim<-arima.sim(model=list(ma=c(-.7,.1)),n=100)
R> ma.sim
La gr´afica del proceso anterior se obtiene de:
R> win.graph(width=4.875, height=3, pointsize=8)
R> plot(ma.sim, ylab=expression(e[t]), type=’o’)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 28 / 34
Procesos ARMA
Las funciones de autocorrelaci´on simple y parcial:
R> ma.acf<-acf(ma.sim,type="correlation",plot=T)
R> ma.acf
R> ma.pacf<-acf(ma.sim,type="partial",plot=T)
R> ma.pacf
Funci´on de autocorrelaci´on
simple ACF
Funci´on de autocorrelaci´on
parcial PACF
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 29 / 34
Procesos ARMA
Simulaci´on Procesos ARMA
ARMA(2,2)
Ahora simulemos un ARMA(2,2) de la forma:
Yt = 0.5Yt−1 − 0.2Yt−2 + εt − 0.4εt−1 + 0.3εt−2 con 100 observaciones:
R> arma.sim<-arima.sim(model=list(ar=c(.5,-.2),ma=c(-.4,.3)),n=100)
R> arma.sim
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 30 / 34
Procesos ARMA
El proceso anterior se ver´ıa como:
R> require("tseries")
R> win.graph(width=4.875, height=3, pointsize=8)
R> ts.plot(arma.sim)
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 31 / 34
Procesos ARMA
Las funciones de autocorrelaci´on simple y parcial:
R> arma.acf<-acf(arma.sim,type="correlation",plot=T)
R> arma.acf
R> arma.pacf<-acf(arma.sim,type="partial",plot=T)
R>arma.pacf
Funci´on de autocorrelaci´on
simple ACF
Funci´on de autocorrelaci´on
parcial PACF
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 32 / 34
Procesos ARMA
Para recordar
El orden de un proceso AR(p) se analiza en la funci´on de
autocorrelaci´on parcial, pacf, mientras la estacionariedad se analiza
en la funci´on de autocorrelaci´on simple, acf.
El orden de un proceso MA(q) se analiza en la funci´on de
autocorrelaci´on simpre, acf, mientras que la invertibilidad se analiza
en la funci´on de autocorrelaci´on parcial, pacf.
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 33 / 34
Bibliograf´ıa
Bibliograf´ıa
Cowperwait, P., Metcalfe, A. (2009) ”Introductory Time Series with
R. Springer.
A. Ian McLeod, Hao Yu, Esam Mahdi (2012) ”Time Series Analysis
with R”. Handbook of Statistics. Volume 30. Pages 661- 712.
Elsevier
Cryer, J., Chan, K. (2008) ”Time Series Analysis with Applications in
R”. Springer
J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 34 / 34

Más contenido relacionado

PDF
Geoestadística con R
PDF
Series de Tiempo Regresión
PDF
Como hacer estadistica descriptiva con excel
PDF
Series de tiempo integradas
PPTX
Prueba de la bondad del ajuste
DOCX
Problemas unidad 4
PDF
Pruebas de bondad de ajuste
PDF
Notas de Clase Econometria - Modelos MA(p)
Geoestadística con R
Series de Tiempo Regresión
Como hacer estadistica descriptiva con excel
Series de tiempo integradas
Prueba de la bondad del ajuste
Problemas unidad 4
Pruebas de bondad de ajuste
Notas de Clase Econometria - Modelos MA(p)

La actualidad más candente (20)

PPTX
Inferencia estadistica
PDF
Contrastes de hipótesis estadísticas
PDF
Prueba de normalidad
DOCX
Comparaciones multiples trabajo1
DOCX
Informe estadistica
PPTX
Arima
PPTX
Estimaciones (Estadística)
DOCX
Modelación matemática y metodos núméricos (ugc) (1 2017)
PDF
ESTIMACION INTERVALO DE CONFIANZA.pdf
PPTX
Cuadro Latino y grecolatino
PPT
Metodo de la regla falsa
PDF
PPTX
Compilacion econometria con Eviews
PPTX
MAPA MENTAL ESTIMACION
PPTX
Intervalos de confianza para la diferencia de proporciones
PPT
Aplicaciones de las Pruebas Chi cuadrada Geografia
PDF
Análisis de correlación y regresión lineal simple
PDF
PPT
Distribución normal y teorema central del límite
PPTX
Prueba de-varianza
Inferencia estadistica
Contrastes de hipótesis estadísticas
Prueba de normalidad
Comparaciones multiples trabajo1
Informe estadistica
Arima
Estimaciones (Estadística)
Modelación matemática y metodos núméricos (ugc) (1 2017)
ESTIMACION INTERVALO DE CONFIANZA.pdf
Cuadro Latino y grecolatino
Metodo de la regla falsa
Compilacion econometria con Eviews
MAPA MENTAL ESTIMACION
Intervalos de confianza para la diferencia de proporciones
Aplicaciones de las Pruebas Chi cuadrada Geografia
Análisis de correlación y regresión lineal simple
Distribución normal y teorema central del límite
Prueba de-varianza
Publicidad

Destacado (7)

PDF
Oligopolios
PDF
Decisiones Estratégicas
PPT
Oligopolio
PDF
Modelo de Stackelberg
PPTX
Monopolio
Oligopolios
Decisiones Estratégicas
Oligopolio
Modelo de Stackelberg
Monopolio
Publicidad

Similar a Series de Tiempo en R parte I (Series estacionarias) (20)

PDF
Estrategia de Proyección
DOCX
Medicion de presion
PDF
R en geología
DOCX
Metodo grafico
PDF
Cap1 intro-2en1
PDF
PPTX
Tratamiento de datos
PPTX
Series cronológicas.pptx
DOCX
Tarea fra.docx
PDF
t11_respuesta_frecuencial-ingenieria en sistemas de cointrol.pdf
DOCX
Matriz para triangulación
PPT
01 introducción a variadores
PPTX
Herramientas que gestionan la calidad (parte 2
PPT
0.5. Tema 1. Estadistica Descriptiva - Parte V.ppt
PPTX
Sistema biela manivela
PPT
ClasesProbEst4.ppt estadistica para princi
PPT
ClasesProbEst4.pptmmmmmmmmmmmmmmmmmmmmmmm
PDF
Cinemática Rotacional B 2024 Curso de Fisica 2
Estrategia de Proyección
Medicion de presion
R en geología
Metodo grafico
Cap1 intro-2en1
Tratamiento de datos
Series cronológicas.pptx
Tarea fra.docx
t11_respuesta_frecuencial-ingenieria en sistemas de cointrol.pdf
Matriz para triangulación
01 introducción a variadores
Herramientas que gestionan la calidad (parte 2
0.5. Tema 1. Estadistica Descriptiva - Parte V.ppt
Sistema biela manivela
ClasesProbEst4.ppt estadistica para princi
ClasesProbEst4.pptmmmmmmmmmmmmmmmmmmmmmmm
Cinemática Rotacional B 2024 Curso de Fisica 2

Más de Juan Carlos Campuzano (6)

PDF
Series de tiempo estacionarias
PDF
Diferenciacion de producto
PDF
Economía Industrial - Preliminares
PDF
Estructura y Poder de Mercado
PDF
Economia del comportamiento
PDF
Fundamentos Microeconomicos
Series de tiempo estacionarias
Diferenciacion de producto
Economía Industrial - Preliminares
Estructura y Poder de Mercado
Economia del comportamiento
Fundamentos Microeconomicos

Último (20)

PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PPTX
caso clínico iam clinica y semiología l3.pptx
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Metodologías Activas con herramientas IAG
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
CIRSOC-201-2024_Proyecto de Reglamento Argentino de Estructuras de Hormigón
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
ciencias-1.pdf libro cuarto basico niños
TOMO II - LITERATURA.pd plusenmas ultras
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Tomo 1 de biologia gratis ultra plusenmas
Presentación de la Cetoacidosis diabetica.pptx
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PLANES DE área ciencias naturales y aplicadas
caso clínico iam clinica y semiología l3.pptx
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Metodologías Activas con herramientas IAG
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
CIRSOC-201-2024_Proyecto de Reglamento Argentino de Estructuras de Hormigón
2.0 Introduccion a processing, y como obtenerlo
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf

Series de Tiempo en R parte I (Series estacionarias)

  • 1. An´alisis de Series de Tiempo Aplicaciones en R - Parte I Juan Carlos Campuzano S. Escuela Superior Polit´ecnica del Litoral Semestre I 2013 J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 1 / 34
  • 2. Preliminares Estas pr´acticas utilizan los paquetes de R que acompa˜nan a las publicaciones ”Introductory Time Series with R”, de Cowperwait, P.y Metcalfe, A. (2009), ”Time Series Analysis with R” de Ian McLeod, Hao Yu y Esam Mahdi (2012) y ”Time Series Analysis with Applications in R” de Cryer, J.y Chan, K. (2008). Por lo tanto, se aconseja instalar los siguientes paquetes antes de empezar: R> install.packages("TSA",dep=TRUE) R> install.packages("RColorBrewer") R> install.packages("latticeExtra") R> install.packages("tseries") El documento de ayuda del paquete TSA lo puede descargar de la siguiente direcci´on: http://cran.r-project.org/web/packages/TSA/TSA.pdf Las diapositivas fueron elaboradas en Beamer con la ayuda del paquete SASnRdisplay. J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 2 / 34
  • 3. Preliminares Preliminares Las series de tiempo son analizadas para entender el pasado y predecir el futuro, permitiendo a los administradores o hacedores de pol´ıtica tomar decisiones informados apropiadamente. En t´erminos cient´ıficos, el prop´osito del an´alisis de las series de tiempo es entender o modelar el mecanismo estoc´astico que da movimiento a una serie observada y predecir los valores futuros de la serie basado en su historia y posiblemente de otras series o factores relacionados. Los m´etodos de series de tiempo son utilizadas todos los d´ıas en la toma de decisiones. Las series de tiempo tambi´en suelen formar la base de simulaciones por computadora. J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 3 / 34
  • 4. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo En esta secci´on el inter´es est´a en la gr´afica de las series de tiempo. Dichos gr´aficos generalmente son el primer paso en un an´alisis exploratorio y presentados en un reporte final. J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 4 / 34
  • 5. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo Ejemplo 1: Paseo aleatorio Uno de los procesos m´as elemental para el an´alisis de series de tiempo es un paseo aleatorio: R> library(TSA) R> data(rwalk) R> plot(rwalk, ylab=’Paseo Aleatorio’, type=’o’) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 5 / 34
  • 6. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo Ejemplo 2: Precios del Trigo Este ejemplo tiene como prop´osito mostrar el uso del comando plot() con los datos del ´ındice de precios del trigo en Canad´a (Beveridge wheat price index). R> library(TSA) R> data(bev) R> plot(bev) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 6 / 34
  • 7. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo Ejemplo 2: Precios del Trigo A˜nadiendo algunas opciones adicionales al comando plot() se pueden tener mejores resultados: R> win.graph(width=4.875, height=2.5, pointsize=8) R> plot(bev, ylab=’indice’, xlab=’ano’, type=’o’) R> plot(bev, ylab=’indice’, xlab=’ano’, type=’l’) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 7 / 34
  • 8. Gr´afico de Series de Tiempo G´afico de Series de Tiempo Ejemplo 3: Estacionalidades En ocasiones un evento se repite sistem´aticamente a lo largo del tiempo y para el an´alisis de series de tiempo, visualizar estos patrones resulta s´umamente ´util: R> data(oilfilters); plot(oilfilters, type=’o’, ylab=’Ventas’) R> win.graph(width=4.875, height=2.5, pointsize=8) R> plot(oilfilters, type=’l’, ylab=’Ventas’) R> points(y=oilfilters, x=time(oilfilters), pch=as.vector(season(oilfilters))) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 8 / 34
  • 9. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo Ejemplo 4: G´afico de M´ultiples Series de Tiempo En otras ocasiones tambi´en es importante graficar m´ultiples series de tiempo: R> www <- "http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/cbe.dat" R> CBE <- read.table(www, header = T) R> CBE[1:4, ] R> Elec.ts <- ts(CBE[, 3], start = 1958, freq = 12 R> Beer.ts <- ts(CBE[, 2], start = 1958, freq = 12) R> Choc.ts <- ts(CBE[, 1], start = 1958, freq = 12) R> plot(cbind(Elec.ts, Beer.ts, Choc.ts)) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 9 / 34
  • 10. Gr´afico de Series de Tiempo J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 10 / 34
  • 11. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo Ejemplo 5: Agrupaci´on y Tendencias Sin lugar a dudas, agrupar frecuencias y visualizar tendencias es una de los principales an´alisis gr´aficos que se suelen realizar a las series de tiempo. El ejemplo a continuaci´on corresponde a observaciones sobre series de temperaturas. En el primer paso obs´ervese la frecuencia mensual de la serie entre los periodos inicial y final: R> www <- "http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/global.dat" R> Global <- scan(www) R> Global.ts <- ts(Global, st = c(1856, 1), end = c(2005, 12), fr = 12) R> win.graph(width=4.875, height=2.5, pointsize=8) R> plot(Global.ts, ylab=’Temperatura’, xlab=’periodo’) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 11 / 34
  • 12. Gr´afico de Series de Tiempo J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 12 / 34
  • 13. Gr´afico de Series de Tiempo Luego, se puede proceder a agrupar las frecuencias por promedios mensuales: R> Global.anual <- aggregate(Global.ts, FUN = mean) R> win.graph(width=4.875, height=2.5, pointsize=8) R> plot(Global.anual, ylab=’Temp’, xlab=’Per’) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 13 / 34
  • 14. Gr´afico de Series de Tiempo Finalmente, se observa que desde los ’70 existe incremento en las temperaturas, por lo que ser´ıa importante analizar la tendencia: R> New.series <-window(Global.ts, start = c(1970, 1), end = c(2005, 12)) R> New.time <-time(New.series) R> win.graph(width=4.875, height=2.5, pointsize=8) R> plot(New.series); abline(reg=lm(New.series~New.time)) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 14 / 34
  • 15. Gr´afico de Series de Tiempo Gr´afico de Series de Tiempo Ejemplo 6: Descomposici´on de una Serie Si existe evidencia de una tendencia en una serie, resulta ´util descomponer la serie para estimar la tendencia y efectos estacionales. Se presenta un ejemplo con los datos de electricidad. R> www <- "http://staff.elena.aut.ac.nz/Paul-Cowpertwait/ts/cbe.dat" R> CBE <- read.table(www, header = T) R> Elec.ts <- ts(CBE[, 3], start = 1958, freq = 12) R> win.graph(width=4.875, height=3.5, pointsize=8) R> plot(decompose(Elec.ts)) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 15 / 34
  • 16. Gr´afico de Series de Tiempo Tambi´en se puede realizar una descomposici´on multiplicativa...: R> Elec.decom <- decompose(Elec.ts, type = "mult") R> win.graph(width=4.875, height=3.5, pointsize=8) R> plot(Elec.decom) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 16 / 34
  • 17. Gr´afico de Series de Tiempo ... o superponer la tendencia y el componente estacional. R> Trend <- Elec.decom$trend R> Seasonal <- Elec.decom$seasonal R> ts.plot(cbind(Trend, Trend * Seasonal), lty = 1:2) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 17 / 34
  • 18. Correlaci´on Funciones de autocorrelaci´on Procesos Estacionarios Correlograma El principal prop´osito del correlograma es detectar autocorrelaciones en las series de tiempo luego de haberles removido y estimado la tendencia y la variaci´on estacional. El siguiente ejemplo se realiza con la serie de Pasajeros que viene en el paquete R. R> data(AirPassengers) R> AP <- AirPassengers R> AP.decom <- decompose(AP, "multiplicative") R> plot(ts(AP.decom$random[7:138])) R> acf(AP.decom$random[7:138]) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 18 / 34
  • 19. Correlaci´on Serie Pasajeros (estacionaria) Correlograma J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 19 / 34
  • 20. Procesos ARMA An´alisis Procesos AR(p) R> win.graph(width=4.875, height=3, pointsize=8) R> data(ar1.s); plot(ar1.s, ylab=expression(Y[t]), type=’o’) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 20 / 34
  • 21. Procesos ARMA Correlaci´on entre los rezagos t y t − 1 R> win.graph(width=3, height=3, pointsize=8) R> plot(y=ar1.s,x=zlag(ar1.s),ylab=expression(Y[t]),xlab=expression(Y[t-1]), type=’p’) R> acf(ar1.s) Relaci´on entre rezagos Correlograma J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 21 / 34
  • 22. Procesos ARMA Simulaci´on Procesos ARMA AR(2) Simulemos el proceso visto en clases, un AR(2) de la forma: Yt = 0.5Yt−1 + 0.3Yt−2 + εt con 100 observaciones: R> ar.sim<-arima.sim(model=list(ar=c(.5,.3)),n=100) R> ar.sim La funci´on de autocorrelaci´on simple (acf): R> ar.acf<-acf(ar.sim,type="correlation",plot=T) R> ar.acf J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 22 / 34
  • 23. Procesos ARMA Las gr´aficas del proceso anterior se obtienen de: R> win.graph(width=4.875, height=3, pointsize=8) R> plot(ar.sim, ylab=expression(Y[t]), type=’o’) R> ar.acf<-acf(ar.sim,type="correlation",plot=T) R> ar.acf Yt = 0.5Yt−1 + 0.3Yt−2 + εt Correlograma J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 23 / 34
  • 24. Procesos ARMA Ahora simulemos una variante del proceso anterior: Yt = 0.5Yt−1 − 0.3Yt−2 + εt con 100 observaciones: R> ar.sim2<-arima.sim(model=list(ar=c(.5,-.3)),n=100) R> ar.sim2 La funci´on de autocorrelaci´on simple: R> ar.acf<-acf(ar.sim2,type="correlation",plot=T) R> ar.acf J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 24 / 34
  • 25. Procesos ARMA Las gr´aficas del proceso anterior se obtienen de: R> win.graph(width=4.875, height=3, pointsize=8) R> plot(ar.sim2, ylab=expression(Y[t]), type=’o’) R> ar.acf<-acf(ar.sim2,type="correlation",plot=T) R> ar.acf Yt = 0.5Yt−1 − 0.3Yt−2 + εt Correlograma J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 25 / 34
  • 26. Procesos ARMA Qu´e sucede cuando el proceso NO ES estacionario? Simulemos el proceso Yt = 0.9Yt−1 + 0.3Yt−2 + εt con 100 observaciones: R> ar.sim3<-arima.sim(model=list(ar=c(.9,.3)),n=100) R> ar.sim3 La funci´on de autocorrelaci´on simple: R> ar.acf<-acf(ar.sim3,type="correlation",plot=T) R> ar.acf J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 26 / 34
  • 27. Procesos ARMA Las gr´aficas del proceso anterior nos dan una pista: R> win.graph(width=4.875, height=3, pointsize=8) R> plot(ar.sim3, ylab=expression(Y[t]), type=’o’) R> ar.acf<-acf(ar.sim3,type="correlation",plot=T) R> ar.acf Yt = 0.9Yt−1 + 0.3Yt−2 + εt Correlograma J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 27 / 34
  • 28. Procesos ARMA Simulaci´on Procesos ARMA MA(2) Ahora simulemos un MA(2) de la forma: Yt = εt − 0.7εt−1 + 0.1εt−2 con 100 observaciones: R> ma.sim<-arima.sim(model=list(ma=c(-.7,.1)),n=100) R> ma.sim La gr´afica del proceso anterior se obtiene de: R> win.graph(width=4.875, height=3, pointsize=8) R> plot(ma.sim, ylab=expression(e[t]), type=’o’) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 28 / 34
  • 29. Procesos ARMA Las funciones de autocorrelaci´on simple y parcial: R> ma.acf<-acf(ma.sim,type="correlation",plot=T) R> ma.acf R> ma.pacf<-acf(ma.sim,type="partial",plot=T) R> ma.pacf Funci´on de autocorrelaci´on simple ACF Funci´on de autocorrelaci´on parcial PACF J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 29 / 34
  • 30. Procesos ARMA Simulaci´on Procesos ARMA ARMA(2,2) Ahora simulemos un ARMA(2,2) de la forma: Yt = 0.5Yt−1 − 0.2Yt−2 + εt − 0.4εt−1 + 0.3εt−2 con 100 observaciones: R> arma.sim<-arima.sim(model=list(ar=c(.5,-.2),ma=c(-.4,.3)),n=100) R> arma.sim J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 30 / 34
  • 31. Procesos ARMA El proceso anterior se ver´ıa como: R> require("tseries") R> win.graph(width=4.875, height=3, pointsize=8) R> ts.plot(arma.sim) J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 31 / 34
  • 32. Procesos ARMA Las funciones de autocorrelaci´on simple y parcial: R> arma.acf<-acf(arma.sim,type="correlation",plot=T) R> arma.acf R> arma.pacf<-acf(arma.sim,type="partial",plot=T) R>arma.pacf Funci´on de autocorrelaci´on simple ACF Funci´on de autocorrelaci´on parcial PACF J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 32 / 34
  • 33. Procesos ARMA Para recordar El orden de un proceso AR(p) se analiza en la funci´on de autocorrelaci´on parcial, pacf, mientras la estacionariedad se analiza en la funci´on de autocorrelaci´on simple, acf. El orden de un proceso MA(q) se analiza en la funci´on de autocorrelaci´on simpre, acf, mientras que la invertibilidad se analiza en la funci´on de autocorrelaci´on parcial, pacf. J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 33 / 34
  • 34. Bibliograf´ıa Bibliograf´ıa Cowperwait, P., Metcalfe, A. (2009) ”Introductory Time Series with R. Springer. A. Ian McLeod, Hao Yu, Esam Mahdi (2012) ”Time Series Analysis with R”. Handbook of Statistics. Volume 30. Pages 661- 712. Elsevier Cryer, J., Chan, K. (2008) ”Time Series Analysis with Applications in R”. Springer J. Campuzano (E.S.P.O.L) Series de Tiempo en R Semestre I 2013 34 / 34