馃搱 Suavice sus datos de series temporales con medias m贸viles

Foto de Maxim Hopman en Unsplash

El an谩lisis de series temporales es una t茅cnica ampliamente utilizada en el aprendizaje autom谩tico para predecir valores futuros basados 鈥嬧媏n datos hist贸ricos. Una de las herramientas m谩s comunes y poderosas en el an谩lisis de series de tiempo es el promedio m贸vil. Un promedio m贸vil es un c谩lculo que promedia un conjunto de valores durante un per铆odo de tiempo espec铆fico y se puede usar para suavizar las fluctuaciones en los datos e identificar tendencias.

En este blog, explorar茅 c贸mo se pueden usar los promedios m贸viles en el an谩lisis de series de tiempo y demostrar茅 c贸mo calcular y trazar promedios m贸viles simples y ponderados en Python.

El conjunto de datos Sunspots contiene n煤meros anuales de manchas solares desde 1700 hasta 2008. Se usa ampliamente en el an谩lisis de series temporales, ya que es un buen ejemplo de un conjunto de datos que muestra periodicidad y tendencias a largo plazo. El conjunto de datos est谩 disponible en el statsmodels biblioteca, que se puede cargar en un marco de datos de pandas usando el load_pandas() funci贸n.

Promedio m贸vil simple:

El promedio m贸vil simple (SMA) es la forma m谩s b谩sica de promedio m贸vil y se calcula tomando el promedio de un conjunto de valores durante un per铆odo de tiempo espec铆fico. El tama帽o de la ventana para la SMA generalmente se elige en funci贸n de la frecuencia de los datos y debe ser lo suficientemente largo para suavizar las fluctuaciones, pero lo suficientemente corto como para capturar cualquier tendencia en los datos.

En Python, puedo calcular la SMA usando el rolling() funci贸n en pandas. Aqu铆 hay un ejemplo de c贸mo calcular y trazar un SMA de 11 a帽os para el conjunto de datos Sunspots:

En este ejemplo, cargo el conjunto de datos Sunspots en un marco de datos de pandas y convierto el 铆ndice en un objeto de fecha y hora. Luego calculamos la SMA usando el rolling() funci贸n en pandas, con un tama帽o de ventana de 11 que indica una SMA de 11 a帽os. Finalmente, graficamos los datos originales y el SMA usando el plot() funci贸n en pandas.

Promedio m贸vil ponderado:

El promedio m贸vil ponderado (WMA) es una forma m谩s avanzada de promedio m贸vil que asigna diferentes pesos a cada valor en el per铆odo de tiempo, seg煤n su importancia relativa. Esto permite que la WMA le d茅 m谩s peso a los puntos de datos recientes y menos peso a los puntos de datos m谩s antiguos, lo que puede hacer que responda mejor a los cambios en los datos.

En Python, puedo calcular el WMA usando el rolling() funci贸n en pandas y una funci贸n lambda para aplicar los pesos a los datos. Aqu铆 hay un ejemplo de c贸mo calcular y trazar un WMA de 11 a帽os para el conjunto de datos Sunspots:

En este ejemplo, cargo el conjunto de datos Sunspots en un marco de datos de pandas y convierto el 铆ndice en un objeto de fecha y hora. Luego defino los pesos para el WMA usando el np.arange() y sum() funciones en numpy. Los pesos se asignan de manera que el punto de datos m谩s reciente tenga el peso m谩s alto y el punto de datos m谩s antiguo tenga el peso m谩s bajo. Luego calculo el WMA usando el rolling() funci贸n en pandas y una funci贸n lambda para aplicar los pesos a los datos. El raw=True El argumento se utiliza para garantizar que el WMA se calcule utilizando los datos no ponderados. Finalmente, trazo los datos originales y el WMA usando el plot() funci贸n en pandas.

Conclusi贸n:

Los promedios m贸viles son una herramienta poderosa en el an谩lisis de series de tiempo que se pueden usar para suavizar las fluctuaciones en los datos e identificar tendencias. Los promedios m贸viles simples (SMA) y los promedios m贸viles ponderados (WMA) son las dos formas de promedios m贸viles m谩s utilizadas. Cuando se trabaja con datos de series temporales, es importante elegir el tama帽o de ventana adecuado para la media m贸vil, en funci贸n de la frecuencia de los datos y el nivel deseado de suavizado. Tambi茅n es importante tener en cuenta el equilibrio entre la suavizaci贸n y la capacidad de respuesta al elegir entre una media m贸vil simple y una media m贸vil ponderada.

[post_relacionado id=禄1714″]

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *

Scroll al inicio