Licenciatura en Economía | Econometría II
Bienvenida al Curso
Estimados estudiantes de la Licenciatura en Economía:
Bienvenidos a este manual práctico diseñado específicamente para nuestra asignatura de Econometría II. En la Facultad de Ciencias Sociales de la Universidad Autónoma de Campeche, buscamos que su formación técnica esté a la vanguardia de las exigencias del mercado laboral y la investigación académica.
La metodología que exploraremos, el modelo ARIMA (Box-Jenkins), es una de las herramientas más potentes para entender la dinámica del tiempo en las variables económicas. Este manual no es solo una guía de programación en R, sino un puente entre la teoría estadística y su aplicación real en la toma de decisiones. Los invito a seguir este recorrido con curiosidad analítica, recordando que el dominio de estas técnicas es lo que distingue a un economista de excelencia.
Dr. Adrián Eduardo Pech Quijano
Mientras que el método de descomposición clásica se enfoca en separar la serie en componentes visibles (tendencia y estacionalidad), la Metodología Box-Jenkins, mejor conocida como modelos ARIMA, se adentra en la estructura estocástica de los datos.
Para un economista, los modelos ARIMA son herramientas fundamentales porque permiten modelar la autocorrelación de las variables, reconociendo que el pasado de una variable económica (como el PIB o la inflación) es a menudo el mejor predictor de su futuro inmediato.
El propósito de esta guía es que el estudiante domine las tres etapas del ciclo de modelado Box-Jenkins: 1. Identificación: Lograr la estacionariedad y determinar los órdenes potenciales. 2. Estimación: Ajustar el modelo estadístico óptimo. 3. Diagnóstico: Validar que los residuos no contengan información pendiente.
A lo largo de este documento, cubriremos: 1. Concepto de
Estacionariedad: Uso de pruebas de Raíz Unitaria
(Dickey-Fuller). 2. Diferenciación: Cómo transformar
una serie no estacionaria. 3. Análisis de
Correlogramas: Interpretación de las funciones ACF y PACF. 4.
Modelado Automático: Uso del algoritmo
auto.arima. 5. Validación: Diagnóstico
avanzado de residuos y pronóstico.
Para este manual, añadiremos la librería urca, que es el
estándar de oro para pruebas de raíz unitaria en economía.
# Cargamos las librerías necesarias directamente
library(forecast)
library(fpp2) # Aquí están los datos de usmelec
library(ggplot2)
library(tseries)
library(urca) # Para pruebas de raíz unitaria rigurosas
library(tidyverse)
library(knitr)
library(plotly)
# Mensaje de confirmación limpio
cat("Entorno de Metodología Box-Jenkins configurado con éxito.")## Entorno de Metodología Box-Jenkins configurado con éxito.
Un modelo \(ARIMA(p, d, q)\) es una metodología estadística robusta que consta de tres componentes fundamentales:
Un modelo ARIMA solo es válido si la serie es estacionaria; es decir, sus propiedades estadísticas (media, varianza y estructura de autocorrelación) son constantes a lo largo del tiempo.
Para un economista, trabajar con series no estacionarias puede conducir a regresiones espurias (resultados que parecen significativos pero son falsos). Por ello, el componente “I” del modelo es el encargado de estabilizar la serie antes de realizar cualquier pronóstico.
Para poner a prueba la metodología Box-Jenkins, utilizaremos una
serie con una estructura compleja: el consumo eléctrico mensual
(extraída del paquete fpp2). Esta serie es ideal para el
estudio académico porque presenta una tendencia de crecimiento a largo
plazo y una estacionalidad muy marcada, desafiando la capacidad del
modelo para capturar ambos patrones.
# Cargamos la serie desde la librería fpp2
data(usmelec)
serie_arima <- usmelec
# Generamos una visualización interactiva inicial
p_inicial <- autoplot(serie_arima) +
labs(title = "Figura 1: Consumo Eléctrico Mensual (Serie Original)",
subtitle = "Análisis inicial para la metodología Box-Jenkins",
x = "Año",
y = "Índice de Producción") +
theme_minimal()
# Convertimos a plotly para que los alumnos exploren los picos estacionales
ggplotly(p_inicial)Como observamos en la gráfica inicial, la serie de consumo eléctrico parece tener una tendencia creciente. En econometría, esto sugiere la presencia de una raíz unitaria, lo que implica que la serie no es estacionaria.
Para confirmarlo formalmente, utilizaremos la prueba Dickey-Fuller Aumentada (ADF). El objetivo es contrastar la siguiente hipótesis: * H0 (Nula): La serie tiene raíz unitaria (Es No Estacionaria). * H1 (Alternativa): La serie es Estacionaria.
# Realizamos la prueba ADF usando la librería 'urca'
# Seleccionamos type = "trend" porque visualmente hay una tendencia clara
prueba_adf <- ur.df(serie_arima, type = "trend", lags = 12)
# Mostramos el resumen de la prueba
summary(prueba_adf)
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression trend
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
-34.015 -5.806 -0.079 5.159 27.758
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.005549 5.851362 0.685 0.494
z.lag.1 -0.004225 0.039969 -0.106 0.916
tt -0.002614 0.018667 -0.140 0.889
z.diff.lag1 -0.452121 0.060101 -7.523 2.86e-13 ***
z.diff.lag2 -0.483527 0.059244 -8.162 3.23e-15 ***
z.diff.lag3 -0.500976 0.057908 -8.651 < 2e-16 ***
z.diff.lag4 -0.509855 0.055762 -9.143 < 2e-16 ***
z.diff.lag5 -0.460265 0.054408 -8.459 3.64e-16 ***
z.diff.lag6 -0.524462 0.053925 -9.726 < 2e-16 ***
z.diff.lag7 -0.417310 0.052238 -7.989 1.12e-14 ***
z.diff.lag8 -0.485004 0.050202 -9.661 < 2e-16 ***
z.diff.lag9 -0.526109 0.048228 -10.909 < 2e-16 ***
z.diff.lag10 -0.458347 0.047781 -9.593 < 2e-16 ***
z.diff.lag11 -0.404902 0.046340 -8.738 < 2e-16 ***
z.diff.lag12 0.388286 0.044622 8.702 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.004 on 458 degrees of freedom
Multiple R-squared: 0.8652, Adjusted R-squared: 0.861
F-statistic: 209.9 on 14 and 458 DF, p-value: < 2.2e-16
Value of test-statistic is: -0.1057 8.821 1.1238
Critical values for test statistics:
1pct 5pct 10pct
tau3 -3.98 -3.42 -3.13
phi2 6.15 4.71 4.05
phi3 8.34 6.30 5.36
Al analizar los resultados de la prueba Dickey-Fuller Aumentada, el alumno debe centrar su atención en el Value of test-statistic.
tau3 al 5%), no podemos
rechazar la hipótesis nula (\(H_0\)).Dado que la prueba Dickey-Fuller confirmó que nuestra serie tiene una raíz unitaria, debemos transformarla. La técnica estándar es la diferenciación, que consiste en restar el valor actual menos el anterior (\(Y_t - Y_{t-1}\)).
Esto elimina la tendencia y nos permite observar la “firma” estocástica de los datos a través de dos herramientas gráficas: la Función de Autocorrelación (ACF) y la Función de Autocorrelación Parcial (PACF).
# 1. Determinamos cuántas diferencias (d) sugiere la prueba estadística
d_sugerida <- ndiffs(serie_arima)
cat("Número de diferencias necesarias (d):", d_sugerida)Número de diferencias necesarias (d): 1
# 2. Aplicamos la primera diferencia
serie_estacionaria <- diff(serie_arima)
# 3. Graficamos la serie diferenciada y sus correlogramas
# Usamos ggtsdisplay para tener una visión 360 del modelo
ggtsdisplay(serie_estacionaria,
main = "Figura 2: Serie Diferenciada (d=1) y Correlogramas ACF/PACF")Una vez aplicada la primera diferencia (\(d=1\)), la serie se muestra estacionaria, permitiéndonos identificar su “firma” estocástica en la Figura 2:
auto.arima()Este es el momento donde la potencia computacional de R trabaja para nosotros. En el paso anterior, intentamos “adivinar” el modelo mediante la observación de los correlogramas (identificación visual), pero en la práctica económica moderna, utilizamos algoritmos de optimización para asegurar que elegimos el mejor modelo posible basándonos en criterios de información.
En lugar de probar manualmente decenas de combinaciones de \(p, d, q\), utilizaremos la función
auto.arima(). Este algoritmo realiza una búsqueda
inteligente para encontrar el modelo que minimiza el Criterio de
Información de Akaike (AIC) o el Criterio Bayesiano
(BIC).
Para un economista, el AIC es fundamental: busca el equilibrio perfecto entre un buen ajuste (que el modelo explique bien los datos) y la parsimonia (que el modelo no sea innecesariamente complejo). Un modelo con demasiados parámetros puede ajustar bien el pasado pero fallar estrepitosamente al predecir el futuro (sobreajuste).
# Ejecutamos el algoritmo de búsqueda automática
# stepwise = FALSE y approximation = FALSE para una búsqueda más exhaustiva
modelo_auto <- auto.arima(serie_arima,
stepwise = FALSE,
approximation = FALSE)
# Resumen detallado del modelo seleccionado
summary(modelo_auto)Series: serie_arima
ARIMA(1,0,2)(0,1,1)[12] with drift
Coefficients:
ar1 ma1 ma2 sma1 drift
0.9717 -0.4374 -0.2774 -0.7061 0.3834
s.e. 0.0163 0.0483 0.0493 0.0310 0.0868
sigma^2 = 57.67: log likelihood = -1635.13
AIC=3282.26 AICc=3282.44 BIC=3307.22
Training set error measures:
ME RMSE MAE MPE MAPE MASE
Training set -6.777771e-05 7.460306 5.564703 -0.0698123 2.074949 0.6179747
ACF1
Training set 0.007817298
El algoritmo auto.arima() ha realizado una búsqueda
exhaustiva para identificar la combinación óptima de parámetros. El
modelo resultante, expresado generalmente como \(ARIMA(p,d,q)(P,D,Q)_{12}\), representa la
estructura más parsimoniosa (eficiente) para explicar
el consumo eléctrico.
El alumno debe verificar que los coeficientes sean significativos y que el valor del AIC sea el mínimo posible comparado con otras especificaciones alternativas, asegurando así un equilibrio entre el ajuste del modelo y su capacidad de predicción.
Una vez que el algoritmo ha seleccionado el “mejor” modelo, debemos verificar que sea estadísticamente válido. En la metodología Box-Jenkins, un modelo es adecuado solo si sus residuos son Ruido Blanco.
Ljung-Box test
data: Residuals from ARIMA(1,0,2)(0,1,1)[12] with drift
Q* = 42.725, df = 20, p-value = 0.002223
Model df: 4. Total lags used: 24
Al analizar los resultados del comando checkresiduals(),
el alumno debe validar tres criterios fundamentales para asegurar la
calidad del modelo:
La Figura 3 ilustra la proyección del consumo eléctrico para los próximos 24 meses. Es fundamental que el estudiante de la UAC observe el comportamiento de los intervalos de confianza (las áreas sombreadas en azul):
Con este paso, completamos con éxito el ciclo de la Metodología Box-Jenkins, transformando datos históricos en una herramienta estadística rigurosa para la planeación y la toma de decisiones económicas.
Para un economista en México, la aplicación más crítica de los modelos ARIMA es el seguimiento de la Inflación. El Banco de México (Banxico) utiliza estas herramientas para monitorear si el país se mantiene cerca de la meta del 3%.
A diferencia de la serie de electricidad, el INPC de México es una serie con una tendencia inflacionaria persistente y choques estacionales muy claros (como los ajustes de precios en enero).
# Cargamos la librería necesaria para traer datos en tiempo real
if(!require(quantmod)) install.packages("quantmod")
library(quantmod)
# Intentamos descargar el INPC de México desde la base FRED
# Usamos auto.assign = FALSE para mayor estabilidad en Rmd
inpc_raw <- try(getSymbols("MEXCPIALLMINMEI", src = "FRED", auto.assign = FALSE), silent = TRUE)
# Verificamos si la descarga fue exitosa
if(class(inpc_raw) != "try-error") {
# Convertimos a serie de tiempo (ts) detectando automáticamente el inicio
fecha_inicio <- start(inpc_raw)
serie_inpc <- ts(as.numeric(inpc_raw),
start = c(as.numeric(format(fecha_inicio, "%Y")),
as.numeric(format(fecha_inicio, "%m"))),
frequency = 12)
# Graficamos la serie histórica
autoplot(serie_inpc) +
labs(title = "Figura 4: Evolución del INPC en México (FRED)",
subtitle = "Análisis para la Política Monetaria",
x = "Año", y = "Índice (2015 = 100)") +
theme_minimal()
} else {
# Mensaje en caso de que falle la conexión al servidor de FRED
cat("Error: No se pudo conectar con el servidor de FRED. Por favor, verifique su conexión a internet.")
}## Error: No se pudo conectar con el servidor de FRED. Por favor, verifique su conexión a internet.
Para el Banco de México, la precisión en los pronósticos no es solo un ejercicio estadístico, sino la base para decidir el rumbo de la tasa de interés en el país. La metodología ARIMA permite capturar tres realidades fundamentales de nuestra economía:
Reto para el alumno: Utilice las funciones
ndiffs() y auto.arima() con esta serie de
México (serie_inpc) y compare si el orden del modelo
resultante es más complejo que el de la serie de consumo eléctrico de
EE. UU. analizada anteriormente. ¿Qué nos dice esto sobre la volatilidad
y la estabilidad de precios en nuestro país?
Para facilitar la comprensión del alumno, se definen los términos clave utilizados en este manual:
| Término | Definición Técnica |
|---|---|
| Ruido Blanco | Una serie de errores aleatorios que no siguen ningún patrón predecible (media cero y varianza constante). |
| SARIMA | Extensión del modelo ARIMA que incluye términos para capturar la estacionalidad (Seasonal ARIMA). |
| Parsimonia | El principio de elegir el modelo más sencillo posible que explique adecuadamente el fenómeno estudiado. |
| P-valor | Valor de probabilidad que nos permite rechazar o no la hipótesis nula en pruebas como Dickey-Fuller o Ljung-Box. |
Es fundamental que el alumno consulte las siguientes fuentes clásicas y modernas para profundizar en la metodología Box-Jenkins:
© 2026 - Dr. Adrián Eduardo Pech Quijano | Facultad de Ciencias
Sociales
Universidad Autónoma de Campeche |
Licenciatura en Economía