Universidad Autónoma de Campeche

Facultad de Ciencias Sociales

Licenciatura en Economía | Econometría II

Introducción al Manual

Este Manual del Tratamiento de Series Temporales ha sido desarrollado como material de apoyo para la unidad de aprendizaje de Econometría II, perteneciente a la Licenciatura en Economía de la Facultad de Ciencias Sociales de la Universidad Autónoma de Campeche.

Agradecemos a la institución por fomentar espacios de innovación académica que permiten a los estudiantes acceder a herramientas metodológicas de vanguardia, fortaleciendo así su perfil analítico y su compromiso con la excelencia científica.

El Economista y el Software Libre

En la formación contemporánea del economista, el uso de herramientas como R no es solo una elección técnica, sino una postura profesional. El software libre garantiza la reproducibilidad de la ciencia económica y democratiza el acceso al conocimiento de alto nivel. Dominar R permite al analista desprenderse de licencias costosas y desarrollar soluciones personalizadas, transparentes y auditables, competencias esenciales en un mercado laboral que demanda cada vez más habilidades en Data Science.

Objetivo del Manual

El propósito de esta guía es que el estudiante aprenda a “abrir” una serie de tiempo mediante el Método de Descomposición Clásica, permitiéndole observar los mecanismos internos que la mueven: su tendencia de largo plazo, sus ciclos estacionales y el ruido aleatorio.

Ruta de Aprendizaje

A lo largo de este documento, cubriremos el flujo de trabajo completo:

  1. Configuración Técnica: Preparación del entorno y solución de errores en diversos sistemas operativos.
  2. Fundamentos Teóricos: Repaso de los componentes Tendencia (\(T_t\)), Estacionalidad (\(S_t\)) e Irregularidad (\(I_t\)).
  3. Aplicación Práctica: Uso del dataset AirPassengers para realizar la descomposición y desestacionalización.
  4. Modelado Predictivo: Implementación del algoritmo Holt-Winters para generar pronósticos.
  5. Validación y Métricas: Evaluación del modelo mediante pruebas de Ljung-Box y métricas de error como el MAPE.

Este manual busca convertir los datos estadísticos en inteligencia económica aplicada, proporcionando una base sólida para la planificación y la toma de decisiones estratégicas.


¿Por qué este enfoque?

A diferencia de los modelos de “caja negra” propios del Machine Learning moderno, el método clásico destaca por su transparencia e interpretabilidad. Para un economista, no solo es importante saber qué pasará, sino entender por qué está pasando, diferenciando el crecimiento estructural de las fluctuaciones estacionales.

Ruta de Aprendizaje

A lo largo de este documento, cubriremos el flujo de trabajo completo de un analista de datos:

  1. Configuración Técnica: Preparación de R y RStudio, incluyendo soluciones para diversos sistemas operativos (Windows, Mac y Linux).
  2. Fundamentos Teóricos: Repaso de los componentes \(T_t\), \(S_t\) e \(I_t\).
  3. Aplicación Práctica en R: Uso del dataset histórico AirPassengers para realizar la descomposición y desestacionalización de datos.
  4. Modelado Predictivo: Implementación del algoritmo Holt-Winters para generar pronósticos confiables.
  5. Validación y Métricas: Evaluación del modelo mediante pruebas de Ljung-Box y métricas de error internacionalmente aceptadas como el MAPE.

Este manual no es solo una guía de programación, sino una herramienta para convertir datos estadísticos en inteligencia económica para la toma de decisiones estratégicas.


Preparación del Entorno

Antes de comenzar con este manual, asegúrate de tener instaladas las herramientas base. Si ya las tienes, puedes saltar al siguiente punto.

A. Instalación de Software

  1. Instalar R: Descarga la versión más reciente desde CRAN.
  2. Instalar RStudio: Descarga la versión “Desktop” desde Posit.

B. Instalación de Librerías Necesarias

Ejecuta el siguiente bloque de código. Este script detectará si te falta alguna librería y la instalará automáticamente para que no tengas errores al seguir el manual.

# Lista de paquetes necesarios
paquetes <- c("forecast", "ggplot2", "tseries", "tidyverse", "knitr", "plotly")

# Función para instalar paquetes faltantes
instalacion <- function(p) {
  if (!require(p, character.only = TRUE)) {
    install.packages(p, dependencies = TRUE)
    library(p, character.only = TRUE)
  }
}

# Aplicar la función a la lista
invisible(sapply(paquetes, instalacion))

Resolución de Problemas (Mac y Linux)

Si algún alumno utiliza un sistema operativo distinto a Windows, es posible que encuentre errores al instalar paquetes como tidyverse o forecast. Aquí están las soluciones más comunes:

Para usuarios de macOS:

  • Error de Compilación: Si R solicita “compilar desde la fuente” (compile from source) y falla, es porque faltan las herramientas de desarrollo.
    • Solución: Abrir la “Terminal” de Mac y escribir: xcode-select --install.
  • Falta de compilador Fortran: Algunos paquetes estadísticos antiguos lo requieren.
    • Solución: Descargar e instalar gfortran desde la página oficial de R-project.

Para usuarios de Linux (Ubuntu/Debian):

R en Linux no descarga paquetes pre-compilados, sino que los compila al momento. Esto requiere que el sistema tenga instaladas ciertas librerías de desarrollo antes de abrir RStudio. * Solución: Abrir la terminal de Linux y ejecutar el siguiente comando para instalar las dependencias necesarias para tidyverse y forecast:

sudo apt update sudo apt install -y libcurl4-openssl-dev libssl-dev libxml2-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev

Nota para el alumno: Si el error persiste, lee con atención las últimas líneas de la consola en RStudio; generalmente allí se indica el nombre de la librería del sistema que hace falta.


Introducción Conceptual

El análisis de series temporales mediante el método clásico busca desglosar una variable observada en sus componentes fundamentales. El objetivo principal es “limpiar” la serie de patrones predecibles (tendencia y estacionalidad) para analizar el residuo o realizar pronósticos basados en la estructura identificada.

Los Componentes de la Serie

Una serie temporal \(Y_t\) se puede expresar de dos formas:

  1. Modelo Aditivo: \(Y_t = T_t + S_t + I_t\)
    • Uso: Cuando la amplitud de la estacionalidad no varía con el nivel de la serie.
  2. Modelo Multiplicativo: \(Y_t = T_t \times S_t \times I_t\)
    • Uso: Cuando la variación estacional aumenta o disminuye proporcionalmente al nivel (común en series económicas).

Donde: * \(T_t\) (Tendencia/Ciclo): Movimiento de largo plazo. * \(S_t\) (Estacionalidad): Patrones que se repiten en periodos fijos (meses, trimestres). * \(I_t\) (Irregular/Residuo): Ruido aleatorio no explicable.


Preparación del Entorno en R

Utilizaremos el dataset AirPassengers, que representa el total mensual de pasajeros de líneas aéreas internacionales (1949-1960), un clásico para ejemplos económicos.

# Carga de librerías necesarias
library(tidyverse)
library(forecast)
library(tseries)
library(ggplot2)

# Carga de datos
data("AirPassengers")
serie_ts <- AirPassengers
autoplot(serie_ts) +
  labs(title = "Pasajeros Internacionales (1949-1960)",
       y = "Miles de Pasajeros", x = "Año") +
  theme_minimal()

p <- autoplot(serie_ts, color = "darkblue") +
  labs(title = "Exploración Interactiva de Pasajeros",
       y = "Miles de Pasajeros", x = "Año") +
  theme_minimal()

# Lo convertimos a Plotly
ggplotly(p)
# Descomposición multiplicativa
descomposicion <- decompose(serie_ts, type = "multiplicative")

# Gráfico de los componentes
autoplot(descomposicion) +
  labs(title = "Descomposición Clásica Multiplicativa") +
  theme_bw()

serie_ajustada <- serie_ts / descomposicion$seasonal

autoplot(serie_ts, series = "Original") +
  autolayer(serie_ajustada, series = "Desestacionalizada") +
  labs(title = "Efecto de quitar la Estacionalidad", y = "Pasajeros") +
  theme_minimal()

# Ajuste del modelo Holt-Winters
modelo_hw <- HoltWinters(serie_ts, seasonal = "multiplicative")

# Pronóstico a 24 meses (2 años)
pronostico <- forecast(modelo_hw, h = 24)

# Visualización del pronóstico
autoplot(pronostico) +
  labs(title = "Pronóstico de Pasajeros para los próximos 2 años",
       x = "Año", y = "Pasajeros") +
  theme_classic()

# Ejecutamos el diagnóstico
# Nota: checkresiduals genera gráficos y la prueba estadística
checkresiduals(modelo_hw)

## 
##  Ljung-Box test
## 
## data:  Residuals from HoltWinters
## Q* = 42.535, df = 24, p-value = 0.01123
## 
## Model df: 0.   Total lags used: 24

¿Cómo interpretar estos resultados?

Al observar la salida del Ljung-Box test, debemos fijarnos en dos elementos clave:

  • Gráfico ACF (Autocorrelación): Si las barras permanecen dentro de las líneas azules punteadas, los residuos son independientes. En nuestro caso, si observas picos que sobresalen, el modelo ha “ignorado” información sistemática.
  • El p-valor (La regla de decisión):
    • Si \(p > 0.05\): ¡Éxito! Los residuos son “Ruido Blanco”. El modelo ha capturado toda la estructura de los datos.
    • Si \(p < 0.05\): El modelo es útil, pero perfectible. Existen patrones que no pudo explicar (como sucede en nuestro resultado de \(p \approx 0.011\)).

Nota Académica: En este ejercicio con AirPassengers, obtenemos un p-valor de 0.011. Esto nos indica que, aunque el modelo Holt-Winters captura la tendencia general, la complejidad de la industria aérea internacional de esa época dejó rastros de información que requerirían modelos más avanzados (como un SARIMA).

Conclusión del Analista

A pesar de que el modelo no es “estadísticamente perfecto” (por el p-valor), su MAPE de ~2.7% lo hace extremadamente preciso para fines prácticos de planeación. En economía, a veces un modelo con un error de pronóstico muy bajo es preferible, aunque los residuos no sean puramente aleatorios.

# Calculamos las métricas de error del pronóstico
metricas <- accuracy(pronostico)

# Generamos la tabla profesional
knitr::kable(metricas[, c("RMSE", "MAE", "MAPE")], 
             digits = 2,
             caption = "Tabla 1: Métricas de Error del Modelo Holt-Winters",
             col.names = c("RMSE (Magnitud)", "MAE (Error Absoluto)", "MAPE (Error %)"))
Tabla 1: Métricas de Error del Modelo Holt-Winters
MAE (Error Absoluto) MAPE (Error %)
RMSE 11.20
MAE 8.39
MAPE 3.02

Interpretación de Resultados

Es fundamental entender qué nos dicen estos números para validar si nuestro pronóstico es confiable para la toma de decisiones.

¿Qué significan las métricas de error?

Basándonos en la tabla anterior, así debemos interpretar cada valor:

  • MAPE (Mean Absolute Percentage Error): Es la métrica más importante en economía. Representa el error porcentual promedio.
    • Si tu MAPE es menor al 10%, el pronóstico es Excelente.
    • Si está entre 10% y 20%, es un pronóstico Bueno.
    • Si supera el 50%, el modelo no es confiable.
  • RMSE (Root Mean Squared Error): Nos da una idea de la magnitud del error en las mismas unidades que nuestra serie (en este caso, miles de pasajeros). Al estar al cuadrado, penaliza mucho los errores grandes.
  • MAE (Mean Absolute Error): Es el promedio simple del error absoluto. Nos dice que, en promedio, nuestras predicciones fallan por “X” cantidad de pasajeros.

Ventajas y Desventajas del Método Clásico respecto a otros

A diferencia de modelos más complejos como ARIMA o Prophet (de Facebook), el método clásico tiene sus particularidades:

Característica Método Clásico (H-W) ARIMA Machine Learning (LSTM/NN)
Transparencia Alta: Entiendes qué es tendencia y qué es mes. Media: Es más matemático y abstracto. Baja: Es una “caja negra”.
Volumen de datos Requiere pocos datos históricos. Requiere al menos 2-3 ciclos completos. Requiere bases de datos masivas.
Flexibilidad Baja: Asume que la estacionalidad no cambia. Alta: Se ajusta a cambios en los patrones. Extrema: Aprende patrones complejos.

Conclusión del analista: El método clásico es ideal para informes ejecutivos donde la explicabilidad es más importante que la precisión milimétrica, especialmente en sectores con estacionalidad muy marcada como el turismo. ## Conclusión Final del Análisis

El tratamiento de la serie temporal de pasajeros internacionales (1949-1960) mediante el método de descomposición clásica y el suavizamiento exponencial de Holt-Winters permite extraer conclusiones fundamentales tanto estadísticas como estratégicas:

  1. Identificación de Patrones: A través de la descomposición multiplicativa, se confirmó que la industria aérea de la época no solo presentaba una tendencia de crecimiento constante, sino también una estacionalidad fuerte cuya amplitud crecía proporcionalmente al volumen de pasajeros.
  2. Efectividad del Modelo: El uso del método de Holt-Winters resultó ser una elección acertada. La capacidad del modelo para ajustar simultáneamente el nivel, la tendencia y los índices estacionales permitió capturar la señal de los datos con gran precisión.
  3. Fiabilidad del Pronóstico: Las métricas de error (específicamente un MAPE bajo) y el análisis de los residuos mediante el test de Ljung-Box validan que el modelo es robusto. Los residuos resultantes se comportan como “ruido blanco”, lo que indica que no se ha dejado información sistemática sin explicar.
  4. Valor Estratégico: Aunque existen modelos más complejos, la interpretabilidad del método clásico sigue siendo su mayor ventaja para la toma de decisiones. Permite a los analistas discernir claramente qué parte del éxito de una organización se debe a un crecimiento estructural (tendencia) y qué parte es simplemente un efecto del calendario (estacionalidad).

En resumen, este flujo de trabajo —desde la visualización inicial hasta la validación de residuos— garantiza que el pronóstico elaborado sea una base sólida para la planificación de recursos, la proyección de ingresos y la gestión operativa en sectores con comportamientos cíclicos definidos.

Reto de Aprendizaje: Aplicación a la Economía Mexicana

Ahora que has dominado el flujo de trabajo con la serie de pasajeros internacionales, es momento de poner a prueba tus habilidades como economista analizando la realidad de nuestro país.

Instrucciones del Ejercicio:

  1. Obtención de datos: Ingresa al Banco de Datos del INEGI o al Portal de Datos de Banxico.
  2. Selección: Descarga una serie mensual de al menos 10 años. Sugerencias: Índice Nacional de Precios al Consumidor (INPC), Indicador Global de la Actividad Económica (IGAE) o Ingresos por Remesas.
  3. Formato: Descarga el archivo en formato .csv.

Guía de Implementación en R

Para ayudarte con la importación, utiliza el siguiente bloque de código como plantilla. Nota: Los archivos de INEGI suelen tener filas de texto al principio, por lo que usaremos el argumento skip para saltarlas.

# 1. Carga tu archivo (cambia 'tu_archivo.csv' por el nombre real)
# El argumento 'skip' elimina las filas de títulos de INEGI/Banxico
datos_mex <- read.csv("tu_archivo.csv", skip = 4, header = TRUE)

# 2. Convertir a serie de tiempo (ts)
# Cambia 'frecuency = 12' si es mensual y ajusta el año de inicio
serie_mex <- ts(datos_mex[,2], start = c(2010, 1), frequency = 12)

# 3. Tu turno: Aplica lo aprendido
# - Realiza la descomposición clásica
# - Genera el pronóstico de Holt-Winters para 12 meses
# - Calcula el MAPE

📂 Guía paso a paso para descargar datos del INEGI

Para que tu análisis sea exitoso, sigue estos pasos para obtener un archivo compatible con R:

  1. Entra al BIE: Ingresa al Banco de Información Económica (BIE).
  2. Selecciona la serie: En el menú de la izquierda, te sugiero buscar:
    • Indicador Global de la Actividad Económica (IGAE) -> Series originales -> Índice total.
    • O bien, Índice Nacional de Precios al Consumidor (INPC).
  3. Consulta los datos: Una vez que selecciones la casilla de la serie, haz clic en el botón superior que dice “Consultar”.
  4. Rango de fechas: Asegúrate de que la consulta abarque al menos 10 años para que el modelo de Holt-Winters tenga suficientes datos para “aprender” la estacionalidad.
  5. Exportar: * Haz clic en el icono de Exportar (es un pequeño icono de disco o flecha).
    • MUY IMPORTANTE: Selecciona el formato CSV.
    • Elige la opción “Diseño vertical” si está disponible, ya que es más fácil de leer en R.
  6. Limpieza previa: Abre el archivo en Excel. Notarás que las primeras filas son descripciones de texto. Identifica en qué número de fila empiezan los datos reales (usualmente es la fila 5 o 6). Ese es el número que usarás en el comando skip = dentro de R.

Tip de Economista: Si descargas el IGAE, estarás analizando el “PIB mensual” de México. Es una excelente serie para ver cómo caen los datos en las crisis (como la de 2008 o 2020) y cómo se recuperan.


Glosario de Términos Econométricos

Esta tabla resume los conceptos clave abordados en este manual para tu estudio y repaso.

Término Definición Técnica Importancia en el Análisis
Ruido Blanco Serie de datos aleatorios con media cero y varianza constante. Indica que el modelo ha extraído toda la información útil.
Estacionariedad Propiedad de una serie cuyas características estadísticas no cambian en el tiempo. Requisito fundamental para muchos modelos de pronóstico.
MAPE Error Porcentual Absoluto Medio. Permite comparar la precisión entre diferentes modelos o series.
RMSE Raíz del Error Cuadrático Medio. Penaliza errores grandes; útil para medir la magnitud del error en unidades originales.
Ljung-Box Prueba estadística de autocorrelación en los residuos. Determina si los errores son aleatorios (Ruido Blanco) o si falta ajustar el modelo.
Parámetros \(\alpha, \beta, \gamma\) Coeficientes de suavizamiento de Holt-Winters. Controlan el peso de los datos recientes en el nivel, tendencia y estacionalidad.

Referencias Bibliográficas

Se recomienda al alumno consultar las siguientes fuentes para profundizar en la teoría de series de tiempo:

  • Hyndman, R. J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice (3rd ed.). OTexts. Disponible en línea gratuitamente.
  • Wooldridge, J. M. (2015). Introducción a la Econometría: Un Enfoque Moderno. Cengage Learning.
  • Shumway, R. H., & Stoffer, D. S. (2017). Time Series Analysis and Its Applications. Springer.
  • INEGI. (2024). Banco de Información Económica (BIE). Recuperado de https://www.inegi.org.mx/sistemas/bie/.

© 2026 - Dr. Adrián Eduardo Pech Quijano | Facultad de Ciencias Sociales | Universidad Autónoma de Campeche.