Unidad 5: Análisis de serie de tiempo

Clase 7

En esta clase introductoria sobre Series de Tiempo, aprenderás los conceptos fundamentales para analizar datos que varían en el tiempo.
Autor/a
Afiliación

Blás Antonio Benítez Cristaldo

Fecha de publicación

21 de mayo de 2025

1 Descripción de la clase

En esta clase introductoria sobre Series de Tiempo, aprenderás los conceptos fundamentales para analizar datos que varían en el tiempo. Utilizaremos el lenguaje R y herramientas como forecast y ggplot2 para explorar una serie real (AirPassengers), visualizar su comportamiento, descomponerla en sus componentes y aplicar un primer modelo de pronóstico: el suavizado exponencial simple. Esta clase sienta las bases para comprender y aplicar técnicas más avanzadas como modelos ARIMA.

2 ¿Qué es una serie de tiempo?

Una serie de tiempo es una secuencia de datos numéricos ordenados cronológicamente. Su análisis permite identificar patrones como tendencias, estacionalidades, ciclos o irregularidades, útiles para hacer pronósticos o entender fenómenos temporales.

Ejemplos comunes:

  • Ventas mensuales
  • Temperaturas diarias
  • Índices bursátiles
  • Niveles de contaminación horaria

3 Cargar paquetes necesarios

Código
# Instalar si no tienes estos paquetes
# install.packages("forecast")
# install.packages("ggplot2")

library(forecast)
library(ggplot2)

Explicación:
El paquete forecast permite aplicar modelos de predicción como ARIMA y suavizado exponencial. ggplot2 es una herramienta gráfica para visualizar las series de tiempo con alta calidad.

4 Ejemplo de serie de tiempo: Datos de AirPassengers

Código
data("AirPassengers")
class(AirPassengers)
[1] "ts"

Explicación:
Cargamos una serie de ejemplo incluida en R que representa el número mensual de pasajeros de avión desde 1949 hasta 1960. El objeto es de clase ts (time series).

5 Visualización de la serie

Código
autoplot(AirPassengers) +
  ggtitle("Pasajeros aéreos mensuales (1949-1960)") +
  xlab("Año") + ylab("Miles de pasajeros")

Explicación:
La gráfica muestra una tendencia creciente (más pasajeros con el tiempo) y una estacionalidad clara (los mismos patrones se repiten cada año, por ejemplo, picos en vacaciones).

6 Descomposición de la serie

Código
descomposicion <- decompose(AirPassengers)
autoplot(descomposicion)

Explicación:
El método decompose() divide la serie en tres componentes:

  • Tendencia: dirección general del cambio en el tiempo.

  • Estacionalidad: variaciones periódicas.

  • Ruido aleatorio: variaciones no explicadas.

Esta descomposición es útil para estudiar cada componente por separado.

7 Suavizado exponencial simple

Código
modelo_ses <- ses(AirPassengers, h=12)
autoplot(modelo_ses) +
  ggtitle("Pronóstico con Suavizado Exponencial Simple")

Explicación:
El suavizado exponencial simple es una técnica de pronóstico que da mayor peso a los datos más recientes. El parámetro h=12 indica que se proyectan los próximos 12 meses. Este modelo es apropiado para series sin estacionalidad ni tendencia, por lo que aquí se usa a modo introductorio.

8 Conclusión

En esta clase se estudiaron:

  • Qué es una serie de tiempo
  • Cómo cargar y visualizar datos temporales
  • Cómo descomponer una serie en sus componentes
  • Cómo aplicar un modelo básico de predicción

Esto prepara el terreno para el uso de modelos más sofisticados como ARIMA, Holt-Winters o modelos estructurales.

9 Referencias

  • Hyndman, R.J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice. https://otexts.com/fpp3/