cursor one5

9
 c Andr´ es Guerrero . Febrero 20 09. Este material ha sido preparado para uso exclusivo de los participantes en el curso taller sobre An´ alisis de Datos con R impartido en la ONE durante los meses de febrero y marzo del 2009 y para uso de las actividades de capacitaci´ on de la ONE. Para cualquier otro uso, por favor contacte al autor para obtener el permiso correspondiente. Este cuaderno de ejercicios es susceptible de ser mejorado. El autor apreciar´ a que usted le haga llegar sus comentarios y sugerencias con este prop´ osito. Durante la preparaci´on de este material el autor consult´o las siguientes referencias bibliogr´acas: 1) R Dev elopme nt Core Tea m (2007). R: A lan gua ge and enviro nme nt for stati stica l computing. R Foundatio n for Statistical Compu ting , Vienn a, Austr ia. ISBN 3-900 051-0 7-0, URL http ://ww w.R-p rojec t.or g. 2) W. J. Owen (20 07) . The R Gui de, Version 2.3 , Dep artmen t of Mat hem atics and Comp uter Scien ce, Universit y of Richm ond.

Upload: ivan-francisco-gil-cruz

Post on 07-Oct-2015

214 views

Category:

Documents


0 download

DESCRIPTION

R

TRANSCRIPT

  • c Andres Guerrero. Febrero 2009.Este material ha sido preparado para uso exclusivo de los participantes en el curso taller sobre Analisis

    de Datos con R impartido en la ONE durante los meses de febrero y marzo del 2009 y para uso de lasactividades de capacitacion de la ONE. Para cualquier otro uso, por favor contacte al autor para obtenerel permiso correspondiente.

    Este cuaderno de ejercicios es susceptible de ser mejorado. El autor apreciara que usted le haga llegarsus comentarios y sugerencias con este proposito.

    Durante la preparacion de este material el autor consulto las siguientes referencias bibliograficas:

    1) R Development Core Team (2007). R: A language and environment for

    statistical computing. R Foundation for Statistical Computing,

    Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org.

    2) W. J. Owen (2007). The R Guide, Version 2.3, Department of Mathematics

    and Computer Science, University of Richmond.

  • http://cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf

    3) Statistical Analysis with R, - a quick start (September 2004), Oleg Nenadic, Walter Zucchini.

    http://www.statoek.wiso.uni-goettingen.de/mitarbeiter/ogi/pub/r_workshop.pdf

    4) SimpleR, Using R for Introductory Statistics (2001-2002), John Verzani

    http://cran.r-project.org/doc/contrib/Verzani-SimpleR.pdf

    5) Practical Regression and ANOVA using R (July 2002), Julian J. Faraway

    http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf

    6) Introduction to the R Project for Statistical Computing for use at ITC (August 2007),

    Revision 3.01, D G Rossiter, Department of Earth Systems Analysis

    International Institute for Geo-information Science & Earth Observation (ITC)

    Enschede (NL)

    http://www.itc.nl/personal/rossiter/teach/R/RIntro_ITC.pdf

    7) Using R for Data Analysis and Graphics Introduction, Code and Commentary

    (2004) J H Maindonald,

    Centre for Bioinformation Science, Australian National University.

    http://cran.r-project.org/doc/contrib/UsingR.pdf

    8) Curso Basico de R (Febrero 2007), Francesc Carmona,

    Departamento de Estadistica, Universitat de Barcelona.

    http://www.ub.es/stat/docencia/EADB/Curso%20basico%20de%20R.pdf

    9) S-PLUS Guide to Statistical and Mathematical Analysis,

    Version 3.3 for Windows, (1995), Mathsoft, Inc.

    10) Applied Linear Statistical Models (1990), John Neter, William Wasserman

    y Michael H. Kutner, Editorial Richard D. Irwin, Inc.

    11) Bret Larget (2003), Department of Statistics and Department of Botany,

    University of Wisconsin, Madison. http://www.stat.wisc.edu/~larget/R/basics-R.pdf

    12) Introduccion al R (2002), Juan Carlos Correa Morales y Nelfi Gonzalez,

    Universidad Nacional-Sede Medellin, http://www.unalmed.edu.co/~estadist/Metodos/MANUAL_Rb.pdf

    13) Emmanuel Paradis (2002), R para principiantes, Universit Montpellier II,

    Traducido por Jorge Ahumada

    http://cran.r-project.org/doc/contrib/rdebuts_es.pdf

    14) R Development Core Team (2000). Introduccion a R: Notas sobre R:

    Un entorno de programacion para Analisis de Datos y Graficos.

    Version 1.0.1. Traducido por Andres Gonzalez y Silvia Gonzalez

    http://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.pdf

    15) Andres Guerrero (Febrero 2008), Version 1.1 Apuntes para EST-121,

    Estadistica Industrial, FCES, UASD.

    Contenido

    1 Series Temporales de Datos 31.1 Creacion de series temporales en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.1.1 Analisis: Resumen de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Graficas de series temporales en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Identificacion de los componentes de una serie temporal . . . . . . . . . . . . . . . . . . . 51.4 Analisis, prediccion y diagnosticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2

  • 1.4.1 Usando una serie temporal para predecir . . . . . . . . . . . . . . . . . . . . . . . . 71.4.2 Graficando las predicciones con series temporales . . . . . . . . . . . . . . . . . . . 8

    1 Series Temporales de Datos

    Los resultados de los analisis y las graficas que se presentan a continuacion estan basados en las seriestemporales de datos sobre total de las exportaciones por mes de la Republica Dominicana 2000-2007(Fuente: CEI-RD) y Producto Interno Bruto 2000-2007 Base 1991 (Fuente: Banco Central de la RepublicaDominicana). Ahora, desde la perspectiva de series temporales, veremos parte del potencial que puedeextraerse de los datos sobre total de exportaciones por mes para los anos 2000-2007.

    1.1 Creacion de series temporales en R

    > # Lee datos del archivo de textoexprd = read.table("export_2000_2007.txt",header=F)> # crea la serie temporal ex_rd con la funcion ts()ex_rd = ts(exprd[,1],start=2000,freq=12)ex_rd

    Exportaciones mensuales 2000-2007 almacenadas en el espacio de trabajo de R como una serie temporal.

    Jan Feb Mar Apr May Jun Jul Aug Sep Oct2000 48.95 54.35 74.37 50.39 73.11 76.89 75.27 74.06 66.25 54.472001 46.86 50.02 67.04 62.23 71.19 64.29 68.07 56.95 56.79 55.922002 42.01 45.31 69.39 118.02 76.69 94.58 72.13 85.65 60.35 62.212003 58.23 63.15 82.92 86.58 103.42 81.28 89.30 63.91 66.06 63.392004 63.79 62.43 63.17 60.72 92.13 63.11 87.13 72.28 77.16 79.982005 68.72 80.60 104.39 90.36 96.93 107.73 97.96 67.47 88.44 86.772006 107.57 107.61 101.78 115.69 122.67 158.69 109.82 138.88 160.42 136.082007 155.26 170.22 209.10 194.26 205.41 237.77 192.38 203.33 142.32 126.01

    Nov Dec2000 53.33 47.782001 42.92 45.662002 61.99 64.802003 70.19 79.552004 89.64 85.692005 99.99 89.532006 149.38 127.232007 128.99 291.76

    1.1.1 Analisis: Resumen de datos

    La funcion summary de R produce los siguientes resultados (para los 96 meses):

    > summary(ex_rd)

    Min. 1st Qu. Median Mean 3rd Qu. Max.42.01 63.16 78.35 93.41 107.60 291.80

    Seleccionando solamente los datos del ano 2006:

    > window(ex_rd,start=c(2006,1),end=c(2006,12))

    Jan Feb Mar Apr May Jun Jul Aug Sep Oct2006 107.57 107.61 101.78 115.69 122.67 158.69 109.82 138.88 160.42 136.08

    Nov Dec2006 149.38 127.23

    3

  • Resultados de la funcion summary solamente con los datos del ano 2006:

    > summary(window(ex_rd,start=c(2006,1),end=c(2006,12)))

    Min. 1st Qu. Median Mean 3rd Qu. Max.101.8 109.3 125.0 128.0 141.5 160.4

    Obteniendo los estadsticos media y mediana de forma individual para los datos del ano 2006:Media

    > round(mean(window(ex_rd,start=c(2006,1),end=c(2006,12))),digits=1)[1] 128

    Mediana

    > round(median(window(ex_rd,start=c(2006,1),end=c(2006,12))),digits=1)[1] 125

    1.2 Graficas de series temporales en R

    R puede generar una grafica de los datos de exportaciones totales por mes donde se aprecia el compor-tamiento de esta variable durante los 96 meses comprendidos en el periodo. La serie se genero con lafuncion ts y la grafica con la funcion plot.

    > # Grafica de exportaciones por mes como serie temporal> pdf("tsexp.pdf",width = 6, height = 6,paper="special")> plot(ex_rd,xlab="Mes",ylab="Total Exportaciones")> title(main="Republica Dominicana: Total Exportaciones Serie Temporal 2000-2007",

    cex.main = 0.9, font = 5)> dev.off()

    Mes

    Tota

    l Exp

    orta

    cione

    s

    2000 2002 2004 2006 2008

    5010

    015

    020

    025

    030

    0

    Repblica Dominicana: Total Exportaciones Serie Temporal 20002007

    Figura 1: Comportamiento de las Exportaciones Totales por mes Enero 2000-Diciembre 2007

    4

  • 1.3 Identificacion de los componentes de una serie temporal

    Consideraremos el siguiente modelo matematico aditivo para una variable cuyos valores se asocian a in-tervalos de tiempo:

    Xt = Tt + Et + tTpicamente en esta serie temporal la variable Xt se puede descomponer en tendencia Tt, efecto

    estacional Et y fluctuacion aleatoria (o residuos) t. R dispone de varias funciones para realizar estatarea. Aqui ilustraremos este aspecto mostrando la salida que produce la funcion stl al descomponer laserie temporal que nos ocupa. Los datos se ofrecen para cada uno de los 96 meses y se aprecia que elefecto estacional es constante para cada uno de los 8 anos. En la tendencia se aprecia una crecimientosostenido desde 61.2 en enero del 2000 hasta 198.91 en diciembre del 2007 con una breve caida en losprimeros meses del 2004. Esto se aprecia tambien en la grafica donde se muestran los tres componentes.

    > # descomposicion y graficas> # efecto estacional (seasonal) es constante para cada anio> # descomposicion> stl(ex_rd,s.window="periodic")Call:stl(x = ex_rd, s.window = "periodic")

    Componentsseasonal trend remainder

    Jan 2000 -12.8851466 61.20352 0.6316284Feb 2000 -8.8284686 61.50116 1.6773075Mar 2000 7.2494561 61.79880 5.3217399Apr 2000 7.0937224 61.97547 -18.6791891May 2000 14.0892216 62.15213 -3.1313510Jun 2000 18.2557031 62.16907 -3.5347733Jul 2000 5.5384656 62.18601 7.5455233Aug 2000 0.4910031 62.18095 11.3880450Sep 2000 -6.4576806 62.17589 10.5317881Oct 2000 -14.7666696 62.11150 7.1251650Nov 2000 -12.5056625 62.04712 3.7885459Dec 2000 2.7260524 61.21012 -16.1561731Jan 2001 -12.8851466 60.37312 -0.6279782Feb 2001 -8.8284686 59.40975 -0.5612847Mar 2001 7.2494561 58.44638 1.3441622Apr 2001 7.0937224 58.05812 -2.9218426May 2001 14.0892216 57.66986 -0.5690802Jun 2001 18.2557031 57.48563 -11.4513353Jul 2001 5.5384656 57.30141 5.2301286Aug 2001 0.4910031 57.52855 -1.0695495Sep 2001 -6.4576806 57.75569 5.4919938Oct 2001 -14.7666696 59.12814 11.5585336Nov 2001 -12.5056625 60.50059 -5.0749226Dec 2001 2.7260524 62.23682 -19.3028700Jan 2002 -12.8851466 63.97305 -9.0779035Feb 2002 -8.8284686 65.43361 -11.2951439Mar 2002 7.2494561 66.89417 -4.7536309Apr 2002 7.0937224 68.35484 42.5714410May 2002 14.0892216 69.81550 -7.2147200Jun 2002 18.2557031 71.13668 5.1876216Jul 2002 5.5384656 72.45785 -5.8663179Aug 2002 0.4910031 72.98165 12.1773496Sep 2002 -6.4576806 73.50544 -6.6977615

    5

  • Oct 2002 -14.7666696 73.52455 3.4521212Nov 2002 -12.5056625 73.54365 0.9520079Dec 2002 2.7260524 73.69569 -11.6217383Jan 2003 -12.8851466 73.84772 -2.7325705Feb 2003 -8.8284686 73.89779 -1.9193262Mar 2003 7.2494561 73.94787 1.7226715Apr 2003 7.0937224 74.25629 5.2299908May 2003 14.0892216 74.56470 14.7660772Jun 2003 18.2557031 75.04628 -12.0219872Jul 2003 5.5384656 75.52787 8.2336673Aug 2003 0.4910031 75.19186 -11.7728618Sep 2003 -6.4576806 74.85585 -2.3381696Oct 2003 -14.7666696 73.67148 4.4851888Nov 2003 -12.5056625 72.48711 10.2085512Dec 2003 2.7260524 71.48129 5.3426606Jan 2004 -12.8851466 70.47546 6.1996840Feb 2004 -8.8284686 70.35133 0.9071341Mar 2004 7.2494561 70.22721 -14.3066626Apr 2004 7.0937224 71.04977 -17.4234882May 2004 14.0892216 71.87233 6.1684532Jun 2004 18.2557031 73.33089 -28.4765971Jul 2004 5.5384656 74.78946 6.8020716Aug 2004 0.4910031 76.97244 -5.1834433Sep 2004 -6.4576806 79.15542 4.4622631Oct 2004 -14.7666696 81.47412 13.2725447Nov 2004 -12.5056625 83.79283 18.3528304Dec 2004 2.7260524 85.34023 -2.3762803Jan 2005 -12.8851466 86.88762 -5.2824770Feb 2005 -8.8284686 87.36807 2.0604007Mar 2005 7.2494561 87.84851 9.2920318Apr 2005 7.0937224 88.28271 -5.0164278May 2005 14.0892216 88.71690 -5.8761203Jun 2005 18.2557031 89.95535 -0.4810513Jul 2005 5.5384656 91.19380 1.2277367Aug 2005 0.4910031 93.00429 -26.0252905Sep 2005 -6.4576806 94.81478 0.0829037Oct 2005 -14.7666696 96.95104 4.5856265Nov 2005 -12.5056625 99.08731 13.4083533Dec 2005 2.7260524 101.97699 -15.1730381Jan 2006 -12.8851466 104.86666 15.5884845Feb 2006 -8.8284686 108.81482 7.6236474Mar 2006 7.2494561 112.76298 -18.2324364Apr 2006 7.0937224 117.15332 -8.5570413May 2006 14.0892216 121.54366 -12.9628792Jun 2006 18.2557031 126.06921 14.3650910Jul 2006 5.5384656 130.59475 -26.3132200Aug 2006 0.4910031 136.31309 2.0759073Sep 2006 -6.4576806 142.03142 24.8462559Oct 2006 -14.7666696 148.93420 1.9124728Nov 2006 -12.5056625 155.83697 6.0486937Dec 2006 2.7260524 162.35711 -37.8531638Jan 2007 -12.8851466 168.87725 -0.7321072Feb 2007 -8.8284686 173.02902 6.0194444Mar 2007 7.2494561 177.18079 24.6697493Apr 2007 7.0937224 178.46691 8.6993672

    6

  • May 2007 14.0892216 179.75303 11.5677522Jun 2007 18.2557031 182.77701 36.7372870Jul 2007 5.5384656 185.80099 1.0405408Aug 2007 0.4910031 188.75362 14.0853810Sep 2007 -6.4576806 191.70624 -42.9285574Oct 2007 -14.7666696 194.18161 -53.4049416Nov 2007 -12.5056625 196.65698 -55.1613217Dec 2007 2.7260524 198.90976 90.1241858

    > # Grafica de descomposicion de la serie temporal> pdf("tsstl.pdf",width = 6, height = 6,paper="special")> plot(stl(ex_rd,s.window="periodic"))> title(main="Descomposicion de la serie temporal en sus tres componentes",

    cex.main = 0.9, font = 4)> dev.off()

    5015

    025

    0

    data

    15

    5

    515

    seaso

    nal

    6010

    014

    018

    0

    trend

    50

    050

    2000 2002 2004 2006 2008

    rem

    ain

    der

    time

    Descomposicin de la serie temporal en sus tres componentes

    Figura 2: Tendencia, efecto estacional y residuos de la serie temporal de exportaciones Enero 2000-Diciembre 2007

    1.4 Analisis, prediccion y diagnosticos

    1.4.1 Usando una serie temporal para predecir

    Para predecir los valores proximos en una serie temporal nos basamos en los valores precedentes. Alponderar los valores de la serie es razonable dar mas peso a los valores mas recientes que a los mas viejos.Usaremos la funcion HoltWinters y estimaremos los coeficientes (alfa) para el componente aleatorio, (beta) para la tendencia y (gamma) para la variacion estacional. Guardamos en el objeto ex_rd.hw losresultados del ajuste con la siguiente instruccion en R:

    > ex_rd.hw=HoltWinters(ex_rd)> ex_rd.hwHolt-Winters exponential smoothing with trend and additive seasonal component.

    Call:HoltWinters(x = ex_rd)

    7

  • Smoothing parameters:alpha: 0.1638479beta : 0.1002568gamma: 0.0662066

    Coefficients:[,1]

    a 205.407606b 4.316606s1 -10.577770s2 -6.650241s3 10.418025s4 7.952101s5 15.569552s6 13.035835s7 9.620315s8 1.272377s9 -1.168146s10 -5.601951s11 -14.052619s12 -6.231862>

    Aplicando este concepto a los datos que venimos analizando, basado en lo que ha sido el compor-tamiento de las exportaciones durante el periodo 2000-2007 Que total de exportaciones podemos esperaren los doce meses del ano 2008? Para los proximos 4 anos, es decir, para el periodo 2008-2011? Estetipo de preguntas puede encontrar respuesta en R con la funcion predict() aplicada al objeto ex_rd.hwpreviamente calculado. Las respuestas son:

    Para el ano 2008:

    > # prediccion para un anio> predict(ex_rd.hw,n.ahead=12)

    Jan Feb Mar Apr May Jun Jul Aug2008 199.1464 207.3906 228.7754 230.6261 242.5602 244.3431 245.2442 241.2128

    Sep Oct Nov Dec2008 243.0889 242.9717 238.8377 250.9750

    Para el periodo 2008-2011:

    > # prediccion para 4 anios> predict(ex_rd.hw,n.ahead=48)

    Jan Feb Mar Apr May Jun Jul Aug2008 199.1464 207.3906 228.7754 230.6261 242.5602 244.3431 245.2442 241.21282009 250.9457 259.1899 280.5747 282.4254 294.3595 296.1424 297.0434 293.01212010 302.7450 310.9891 332.3740 334.2247 346.1587 347.9416 348.8427 344.81142011 354.5443 362.7884 384.1733 386.0240 397.9580 399.7409 400.6420 396.6107

    Sep Oct Nov Dec2008 243.0889 242.9717 238.8377 250.97502009 294.8882 294.7710 290.6369 302.77432010 346.6875 346.5703 342.4362 354.57362011 398.4867 398.3695 394.2355 406.3728

    1.4.2 Graficando las predicciones con series temporales

    La representacion grafica de las predicciones calculadas en la seccion precedente se muestran en las figuras3 y 4.

    8

  • > # Graficas de predicciones se usa HoltWinter hw> # Un anio 2008> pdf("tsp1.pdf",width = 6, height = 6,paper="special")> plot(ex_rd,xlim=c(2000,2008),xlab="Anio",ylab="Exportaciones")> lines(predict(ex_rd.hw,n.ahead=12),col="blue")> title(main="Proyeccion Exportaciones Anio 2008 (en azul)",cex.main = 0.9, font = 5)> dev.off()> # 4 anios 2008-2011> pdf("tsp4.pdf",width = 6, height = 6,paper="special")> plot(ex_rd,xlim=c(2000,2011),xlab="Anio",ylab="Exportaciones")> lines(predict(ex_rd.hw,n.ahead=48),col="blue")> title(main="Exportaciones Proyectadas 2008-2011 (en azul)",cex.main = 0.9, font = 5)> dev.off()

    Ao

    Expo

    rtacio

    nes

    2000 2002 2004 2006 2008

    5010

    015

    020

    025

    030

    0

    Proyeccin Exportaciones Ao 2008 (en azul)

    Figura 3: Exportaciones proyectadas para el ano 2008

    Ao

    Expo

    rtacio

    nes

    2000 2002 2004 2006 2008 2010

    5010

    015

    020

    025

    030

    0

    Exportaciones Proyectadas 20082011 (en azul)

    Figura 4: Exportaciones proyectadas para el periodo 2008-2011

    9