- 0
- 0
- 0
- 0
Una media móvil es una técnica que se puede utilizar para suavizar los datos de series de tiempo para reducir el «ruido» en los datos e identificar más fácilmente patrones y tendencias.
La idea detrás de un promedio móvil es tomar el promedio de un cierto número de períodos anteriores para llegar a un «promedio móvil» para un período determinado.
Este tutorial explica cómo calcular promedios móviles en Python.
Ejemplo: promedios móviles en Python
Supongamos que tenemos la siguiente matriz que muestra las ventas totales de una determinada empresa durante 10 períodos:
x = [50, 55, 36, 49, 84, 75, 101, 86, 80, 104]
Método 1: use la función cumsum ().
Una forma de calcular la media móvil es utilizar la función cumsum ():
importar numpy como np #define la función de promedio móvil def moving_avg (x, n): cumsum = np.cumsum (np.insertar (x, 0, 0)) return (cumsum [n:] - cumsum [: - n]) / float (n) #calcular la media móvil utilizando los 3 períodos de tiempo anteriores n = 3 moviendo_avg (x, n): matriz ([47, 46.67, 56.33, 69.33, 86.67, 87.33, 89, 90])
A continuación se explica cómo interpretar la salida:
- El promedio móvil en el tercer período es 47. Esto se calcula como el promedio de los primeros tres períodos: (50 + 55 + 36) / 3 = 47 .
- La media móvil en el cuarto período es 46,67. Esto se calcula como el promedio de los tres períodos anteriores: (55 + 36 + 49) / 3 = 46,67 .
Y así.
Método 2: usa pandas.
Otra forma de calcular la media móvil es escribir una función basada en pandas:
importar pandas como pd #define la matriz para usar y el número de períodos anteriores para usar en el cálculo x = [50, 55, 36, 49, 84, 75, 101, 86, 80, 104] n = 3 #calcular media móvil pd.Series (x) .rolling (window = n) .mean (). iloc [n-1:]. values matriz ([47, 46.67, 56.33, 69.33, 86.67, 87.33, 89, 90])
Este método produce exactamente los mismos resultados que el método anterior, pero tiende a ejecutarse más rápido en matrices más grandes.
Tenga en cuenta que también puede especificar cualquier número de períodos de tiempo anteriores para usar en el cálculo de la media móvil. Por ejemplo, quizás prefieras usar n = 5:
#utiliza 5 períodos anteriores para calcular la media móvil n = 5 #calcular media móvil pd.Series (x) .rolling (window = n) .mean (). iloc [n-1:]. values matriz ([54.8, 59.8, 69., 79., 85.2, 89.2])
Cuantos más períodos utilice para calcular la media móvil, más «suavizada» será la línea de la media móvil.
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: