{"id":158,"date":"2017-05-18T19:10:27","date_gmt":"2017-05-18T19:10:27","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/casaresfelix\/?p=158"},"modified":"2017-05-18T19:12:01","modified_gmt":"2017-05-18T19:12:01","slug":"paquete-forecast-una-revision-a-la-ultima-actualizacion","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/casaresfelix\/2017\/05\/18\/paquete-forecast-una-revision-a-la-ultima-actualizacion\/","title":{"rendered":"Paquete Forecast: una revisi\u00f3n a la \u00faltima actualizaci\u00f3n"},"content":{"rendered":"<p style=\"text-align: justify\">Los economistas y estad\u00edsticos que hacemos algo de programaci\u00f3n con R, <!--more-->necesitamos estar al tanto de las actualizaciones de los principales paquetes, seg\u00fan las actividades de cada quien.<\/p>\n<p style=\"text-align: justify\">En ese sentido, quienes damos seguimiento a los indicadores macroecon\u00f3micos o tenemos como tarea la proyecci\u00f3n de variables que responden a alg\u00fan ordenamiento temporal (serie de tiempo), estamos m\u00e1s que satisfechos con el paquete forecast.<\/p>\n<p style=\"text-align: justify\">En este post intentar\u00e9 revisar brevemente las principales novedades fruto de la \u00faltima actualizaci\u00f3n de forecast 8.0; paquete utilizado en el lenguaje de programaci\u00f3n R como ya lo he mencionado.<\/p>\n<p>Veamos:<\/p>\n<p>Para replicar este post, necesitar\u00e1s descargar la base de datos a utilizar, la misma que puedes encontrar en el <a href=\"https:\/\/casaresfelix.com\/2017\/05\/14\/autoarima-r\/\">post sobre la funci\u00f3n auto.arima<\/a>, luego cargamos las librer\u00edas, apuntamos a la carpeta donde has guardado la informaci\u00f3n y llamamos a la base de datos de excel<\/p>\n<blockquote><p>#Carguemos las librer\u00edas<\/p>\n<p>library(forecast)<br \/>\nlibrary(openxlsx)<\/p>\n<p>#Seteamos el directorio y cargamos la base de datos<\/p>\n<p>setwd(\"C:\\\\documentos\")<br \/>\ndata[,2] &lt;- data[,2]\/100<\/p><\/blockquote>\n<p>Debido a que se trata de una serie temporal, hay que configurar\u00a0la serie como tal<\/p>\n<blockquote><p>tsdata &lt;- ts(data, start=c(2004,8), frequency = 12)<\/p><\/blockquote>\n<p>Puesto que es un post breve, vamos a usar la funci\u00f3n auto.arima para que nos devuelva el posible mejor modelo de series temporales.<\/p>\n<blockquote><p>modelo &lt;- auto.arima(tsdata[,2])<br \/>\nsummary(modelo)<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-159\" src=\"http:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-1.png\" alt=\"\" width=\"1361\" height=\"482\" srcset=\"https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-1.png 1361w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-1-300x106.png 300w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-1-768x272.png 768w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-1-1024x363.png 1024w\" sizes=\"auto, (max-width: 1361px) 100vw, 1361px\" \/><\/p>\n<p>Entre las novedades en la actualizaci\u00f3n de forecast, tenemos la evaluaci\u00f3n de los residuos. Resulta interesante que con un solo comando podemos evaluar:<\/p>\n<ul>\n<li>Gr\u00e1fica de residuos para analizar posibles patrones.<\/li>\n<li>Funci\u00f3n de autocorrelaci\u00f3n para analizar\u00a0si se ha extra\u00eddo gran parte de la informaci\u00f3n a partir del Proceso Generador de los Datos (modelo especificado).<\/li>\n<li>Histograma de los residuos para observar si se asemeja a una normal.<\/li>\n<\/ul>\n<blockquote><p>checkresiduals(modelo)<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-160\" src=\"http:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot.png\" alt=\"\" width=\"1201\" height=\"791\" srcset=\"https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot.png 1201w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot-300x198.png 300w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot-768x506.png 768w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot-1024x674.png 1024w\" sizes=\"auto, (max-width: 1201px) 100vw, 1201px\" \/><\/p>\n<p style=\"text-align: justify\">Se puede observar (para los que tienen un conocimiento medio de R) que los gr\u00e1ficos son producidos con el background de ggplot2. Adicionalmente, este comando devuelve la prueba de independencia de los residuos mediante el test\u00a0 Ljung-Box, el mismo que tambi\u00e9n puede ser ejecutado individualmente para controlar el \u00a0n\u00famero de rezagos que utiliza<\/p>\n<p>Otro aporte importante de esta actualizaci\u00f3n es que\u00a0podemos utilizar el comando ggseasonplot para evaluar mediante\u00a0gr\u00e1fico si \u00a0la serie presenta un comportamiento estacional, es decir, en ciertos meses se incrementa en promedio m\u00e1s que en los dem\u00e1s (por ejemplo exportaciones de flores, electrodom\u00e9sticos, etc.)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-161\" src=\"http:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot01.png\" alt=\"\" width=\"1201\" height=\"791\" srcset=\"https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot01.png 1201w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot01-300x198.png 300w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot01-768x506.png 768w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot01-1024x674.png 1024w\" sizes=\"auto, (max-width: 1201px) 100vw, 1201px\" \/><\/p>\n<p>Este comando es equivalente al comando monthplot, sin embargo, tiene m\u00e1s color y es m\u00e1s vistoso definitivamente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1584\" src=\"https:\/\/casaresfelixdotcom.files.wordpress.com\/2017\/05\/rplot02.png\" alt=\"Rplot02\" width=\"726\" height=\"414\" \/><\/p>\n<p style=\"text-align: justify\">Gr\u00e1fico de proyecci\u00f3n:<\/p>\n<p style=\"text-align: justify\">Para realizar la proyecci\u00f3n usamos la funci\u00f3n forecast y especificamos cu\u00e1ntas proyecciones fuera de la muestra deseamos, mientras que para construir el gr\u00e1fico de las proyecciones con intervalo de confianza y con la serie original, usamos la librer\u00eda ggplot2<\/p>\n<blockquote><p>proyeccion &lt;- forecast(modelo,20)<\/p>\n<p>autoplot(tsdata[,2], series=\"Data\") + autolayer(proyeccion, series=\"Forecast\") + autolayer(fitted(proyeccion), series=\"Fitted\")<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-162\" src=\"http:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot03.png\" alt=\"\" width=\"726\" height=\"414\" srcset=\"https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot03.png 726w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Rplot03-300x171.png 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/p>\n<p style=\"text-align: justify\">Otras de las utilidades incorporadas en la actualizaci\u00f3n es el operador pipe (%&gt;%) el cual sirve para escribir lineas, una detr\u00e1s de otras, y evita complicar el c\u00f3digo con varias asignaciones.<\/p>\n<p style=\"text-align: justify\">Estos comandos podr\u00edan ser las principales novedades de la actualizaci\u00f3n al 8.0 del forecast. Si\u00a0no has usado R y el paquete forecast, te invito ya mismo a que lo hagas y me comentes; seguro te encantar\u00e1 escribir un par de lineas y hacer un par de pron\u00f3sticos para iniciar.<\/p>\n<hr \/>\n<p style=\"text-align: justify\">Puedes seguir mis publicaciones v\u00eda:<\/p>\n<p><a href=\"https:\/\/twitter.com\/CasaresFelix\">Twitter<\/a><\/p>\n<p><a href=\"https:\/\/www.facebook.com\/CasaresFelix\">Facebook<\/a><\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/casaresfelix\">Twitter<\/a><\/p>\n<p><a href=\"http:\/\/casaresfelix.com\">Blog Personal<\/a><\/p>\n<p><a href=\"http:\/\/www.betametrica.ec\/\">Blog Acad\u00e9mico<\/a><\/p>\n<hr \/>\n<p>Nota: puedes solicitarme el script de RStudio para este ejemplo mediante cualquier\u00a0de las v\u00eda de contacto anteriormente mencionadas o por correo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los economistas y estad\u00edsticos que hacemos algo de programaci\u00f3n con R,<\/p>\n","protected":false},"author":10866,"featured_media":160,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[34936,1418611,1418612,1418613],"class_list":["post-158","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-econometria","tag-pronosticos-con-r","tag-proyecciones-con-r","tag-series-temporales-con-r"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts\/158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/users\/10866"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/comments?post=158"}],"version-history":[{"count":2,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts\/158\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts\/158\/revisions\/164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/media\/160"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/media?parent=158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/categories?post=158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/tags?post=158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}