Prophet: pronóstico de series temporales de Facebook en Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Prophet – pronóstico de series temporales de Facebook: guía completa de análisis de datos

Introducción a Prophet

Prophet es una potente librería de código abierto desarrollada por el equipo de Facebook (Meta) para el pronóstico de series temporales. Fue creada para resolver problemas prácticos de predicción en entornos empresariales reales, donde los datos pueden contener valores faltantes, valores atípicos y patrones estacionales complejos.

La principal ventaja de Prophet radica en su capacidad para identificar y modelar automáticamente patrones temporales complejos sin necesidad de un conocimiento profundo de métodos estadísticos. Esto hace que la librería sea accesible para una amplia gama de analistas y científicos de datos.

Historia de creación y evolución de la librería

Prophet fue presentado por primera vez en 2017 por investigadores del Facebook Core Data Science Team. La librería se creó para resolver necesidades específicas de la empresa en la predicción de diversas métricas, desde la actividad de los usuarios hasta la planificación de infraestructura.

Los principales desarrolladores fueron Sean Taylor y Ben Letham, quienes buscaban crear una herramienta que combinara rigor estadístico con aplicabilidad práctica. En 2018 se lanzó la versión para R, y posteriormente la librería fue portada a Python.

Fundamentos matemáticos y principios de funcionamiento

Modelo aditivo de Prophet

Modelado de la tendencia

Prophet admite dos tipos de tendencias:

Tendencia lineal: [ g(t) = (k + a(t)^T \delta) \cdot t + (m + a(t)^T \gamma) ]

Tendencia logística: [ g(t) = \frac{C(t)}{1 + \exp(-(k + a(t)^T \delta)(t - (m + a(t)^T \gamma)))} ]

donde [ C(t) ] es la capacidad máxima (carrying capacity), [ k ] es la tasa de crecimiento base, y [ \delta ] son los cambios en la tasa de crecimiento en los puntos de cambio de tendencia.

Componente estacional

La estacionalidad se modela mediante series de Fourier:

donde [ P ] es el período estacional y [ N ] es el número de armónicos (fourier_order).

Instalación y configuración del entorno

Instalación básica

pip install prophet

Instalación con dependencias adicionales

pip install prophet[plot]
pip install plotly  # para visualización interactiva

Instalación para diferentes sistemas operativos

Windows:

pip install pystan
pip install prophet

macOS:

brew install gcc
pip install prophet

Linux (Ubuntu/Debian):

sudo apt-get install build-essential
pip install prophet

Importar la librería

from prophet import Prophet
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from prophet.plot import plot_plotly, plot_components_plotly

Recommendations