Los economistas y estadísticos que hacemos algo de programación con R, necesitamos estar al tanto de las actualizaciones de los principales paquetes, según las actividades de cada quien.

En ese sentido, quienes damos seguimiento a los indicadores macroeconómicos o tenemos como tarea la proyección de variables que responden a algún ordenamiento temporal (serie de tiempo), estamos más que satisfechos con el paquete forecast.

En este post intentaré revisar brevemente las principales novedades fruto de la última actualización de forecast 8.0; paquete utilizado en el lenguaje de programación R como ya lo he mencionado.

Veamos:

Para replicar este post, necesitarás descargar la base de datos a utilizar, la misma que puedes encontrar en el post sobre la función auto.arima, luego cargamos las librerías, apuntamos a la carpeta donde has guardado la información y llamamos a la base de datos de excel

#Carguemos las librerías

library(forecast)
library(openxlsx)

#Seteamos el directorio y cargamos la base de datos

setwd(«C:\\documentos»)
data[,2] <- data[,2]/100

Debido a que se trata de una serie temporal, hay que configurar la serie como tal

tsdata <- ts(data, start=c(2004,8), frequency = 12)

Puesto que es un post breve, vamos a usar la función auto.arima para que nos devuelva el posible mejor modelo de series temporales.

modelo <- auto.arima(tsdata[,2])
summary(modelo)

 

Entre las novedades en la actualización de forecast, tenemos la evaluación de los residuos. Resulta interesante que con un solo comando podemos evaluar:

  • Gráfica de residuos para analizar posibles patrones.
  • Función de autocorrelación para analizar si se ha extraído gran parte de la información a partir del Proceso Generador de los Datos (modelo especificado).
  • Histograma de los residuos para observar si se asemeja a una normal.

checkresiduals(modelo)

Se puede observar (para los que tienen un conocimiento medio de R) que los gráficos son producidos con el background de ggplot2. Adicionalmente, este comando devuelve la prueba de independencia de los residuos mediante el test  Ljung-Box, el mismo que también puede ser ejecutado individualmente para controlar el  número de rezagos que utiliza

Otro aporte importante de esta actualización es que podemos utilizar el comando ggseasonplot para evaluar mediante gráfico si  la serie presenta un comportamiento estacional, es decir, en ciertos meses se incrementa en promedio más que en los demás (por ejemplo exportaciones de flores, electrodomésticos, etc.)

Este comando es equivalente al comando monthplot, sin embargo, tiene más color y es más vistoso definitivamente.

Rplot02

Gráfico de proyección:

Para realizar la proyección usamos la función forecast y especificamos cuántas proyecciones fuera de la muestra deseamos, mientras que para construir el gráfico de las proyecciones con intervalo de confianza y con la serie original, usamos la librería ggplot2

proyeccion <- forecast(modelo,20)

autoplot(tsdata[,2], series=»Data») + autolayer(proyeccion, series=»Forecast») + autolayer(fitted(proyeccion), series=»Fitted»)

Otras de las utilidades incorporadas en la actualización es el operador pipe (%>%) el cual sirve para escribir lineas, una detrás de otras, y evita complicar el código con varias asignaciones.

Estos comandos podrían ser las principales novedades de la actualización al 8.0 del forecast. Si no has usado R y el paquete forecast, te invito ya mismo a que lo hagas y me comentes; seguro te encantará escribir un par de lineas y hacer un par de pronósticos para iniciar.


Puedes seguir mis publicaciones vía:

Twitter

Facebook

Twitter

Blog Personal

Blog Académico


Nota: puedes solicitarme el script de RStudio para este ejemplo mediante cualquier de las vía de contacto anteriormente mencionadas o por correo.