El análisis de series temporales es una forma de analizar y aprender el comportamiento de los conjuntos de datos durante un período. Además, ayuda a aprender el comportamiento del conjunto de datos al trazar el objeto de la serie temporal en el gráfico. En la programación R , se puede realizar fácilmente usando ts()
una función que toma el vector de datos y lo convierte en un objeto de serie temporal como se especifica en los parámetros de la función.
Facebook Prophet es una herramienta desarrollada por Facebook para pronosticar objetos o datos de series temporales. Ayuda a las empresas a conocer el comportamiento de sus productos al pronosticar precios, ventas o el clima. La herramienta Facebook Prophet se basa en un modelo descomponible, es decir, tendencia, estacionalidad y días festivos que ayuda a hacer modelos predictivos más precisos con estas restricciones. Es mucho mejor que el modelo ARIMA ya que ayuda a sintonizar y ajustar los parámetros de entrada.
Ecuación matemática del modelo de profeta
donde,
y(t) se refiere al pronóstico
g(t) se refiere a la tendencia
s(t) se refiere a la estacionalidad
h(t) se refiere a las vacaciones para el pronóstico
e(t) se refiere al término de error durante el pronóstico
Algunos términos importantes utilizados en el modelo de profeta de Facebook
- Tendencia
Una tendencia es un cambio en el desarrollo ya sea en dirección de incremento o decremento. Matemáticamente,donde,
C indica la capacidad de carga
k indica el crecimiento
m indica el parámetro de compensación - Estacionalidad La
estacionalidad es una característica de un objeto de serie temporal que ocurre en un momento/temporada en particular y cambia la tendencia. - Vacaciones
Las vacaciones son un período de tiempo que cambia mucho para el negocio. Puede generar ganancias o pérdidas dependiendo del negocio.
Implementación en R
En el siguiente ejemplo, descarguemos el conjunto de datos AirPassengers y realicemos el pronóstico del conjunto de datos utilizando el modelo Facebook Prophet. Después de ejecutar todo el código, el modelo mostrará los valores pronosticados con la tendencia y estacionalidad del negocio.
Paso 1: Instalación de la biblioteca necesaria
# Install the library install.packages("prophet")
Paso 2: Cargue la biblioteca requerida
# Load the library library(prophet)
Paso 3: Descargue el conjunto de datos AirPassengers desde aquí
# Dataset ap <- read.csv("example_air_passengers.csv")
Paso 4: Llame a la función profeta para que se ajuste al modelo
m <- prophet(ap)
Paso 5: Haz predicciones
# Predictions future <- make_future_dataframe(m, periods = 365) # Print predictions cat("\nPredictions:\n") tail(future)
Producción:
Predictions: ds 504 1961-11-26 505 1961-11-27 506 1961-11-28 507 1961-11-29 508 1961-11-30 509 1961-12-01
Paso 6: Pronosticar datos usando predicciones
# Forecast forecast <- predict(m, future) tail(forecast[c('ds', 'yhat', 'yhat_lower', 'yhat_upper')])
ds yhat yhat_lower yhat_upper 504 1961-11-26 497.2056 468.6301 525.7918 505 1961-11-27 496.0703 467.8579 525.6728 506 1961-11-28 493.1698 465.5788 522.9650 507 1961-11-29 496.0497 469.2889 524.6313 508 1961-11-30 492.8452 463.7279 520.4519 509 1961-12-01 493.6417 466.3496 522.9887
Paso 7: Trace el pronóstico
# Output to be present # As PNG file png(file = "facebookprophetGFG.png") # Plot plot(m, forecast) # Saving the file dev.off()
Salida:
el gráfico anterior muestra los valores pronosticados de AirPassengers, donde los puntos negros se refieren a los datos originales, la línea azul oscuro se refiere al valor pronosticado (yhat) y el área azul claro indica el valor yhat_upper y yhat_lower.
Paso 8: Trace la tendencia, la estacionalidad semanal y anual
# Output to be present # As PNG file png(file = "facebookprophettrendGFG.png") # Plot prophet_plot_components(m, forecast) # Saving the file dev.off()
Salida:
El gráfico anterior muestra la tendencia del conjunto de datos de que los pasajeros aéreos han aumentado durante un período de tiempo determinado. En el segundo gráfico, muestra la estacionalidad del conjunto de datos durante un período de tiempo, es decir, anualmente, y significa que los pasajeros aéreos fueron máximos entre los meses de junio a agosto.
Publicación traducida automáticamente
Artículo escrito por utkarsh_kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA