Explicación intuitiva de la media móvil exponencial |  de Vyacheslav Efimov |  diciembre de 2023

Comprender la lógica detrás del algoritmo fundamental utilizado dentro del descenso de gradiente.

En En el análisis de series de tiempo, a menudo es necesario comprender la dirección de la tendencia de una secuencia teniendo en cuenta los valores anteriores. La aproximación de los siguientes valores en una secuencia se puede realizar de varias maneras, incluido el uso de líneas de base simples o la construcción de modelos avanzados de aprendizaje automático.

Un media móvil exponencial (ponderada) Existe una fuerte compensación entre estos dos métodos. Tener un método recursivo simple bajo el capó hace posible implementar el algoritmo de manera eficiente. Al mismo tiempo, es muy flexible y puede adaptarse con éxito a la mayoría de tipos de secuencias.

Este artículo cubre la motivación detrás del método, una descripción de su flujo de trabajo y la corrección del sesgo, una técnica eficaz para superar un obstáculo del sesgo en la aproximación.

Imagine un problema de aproximación de un parámetro dado que cambia con el tiempo. En cada iteración, somos conscientes de todos sus valores anteriores. El objetivo es predecir el siguiente valor que depende de los valores anteriores.

Una de las estrategias ingenuas es simplemente tomar el promedio de los últimos valores. Esto podría funcionar en determinados casos, pero no es muy adecuado para escenarios en los que un parámetro depende más de los valores más recientes.

Una de las posibles formas de superar este problema es distribuir ponderaciones más altas a los valores más recientes y asignar menos ponderaciones a los valores anteriores. La media móvil exponencial es exactamente una estrategia que sigue este principio. Se basa en el supuesto de que los valores más recientes de una variable contribuyen más a la formación del siguiente valor que los valores anteriores..

Para entender cómo funciona la media móvil exponencial, veamos su ecuación recursiva:

Fórmula de media móvil exponencial
  • vₜ es una serie de tiempo que se aproxima a una variable dada. Su índice t corresponde a la marca de tiempo t. Dado que esta fórmula es recursiva, se necesita el valor v₀ para la marca de tiempo inicial t = 0. En la práctica, v₀ suele tomarse como 0.
  • θ es la observación de la iteración actual.
  • β es un hiperparámetro entre 0 y 1 que define cómo se debe distribuir la importancia del peso entre un valor promedio anterior vₜ-₁ y la observación actual θ

Escribamos esta fórmula para los primeros valores de los parámetros:

Obtención de fórmula para la t-ésima marca de tiempo

Como resultado, la fórmula final queda así:

Media móvil exponencial para la t-ésima marca de tiempo

Podemos ver que la observación más reciente θ tiene un peso de 1, la penúltima observación – β, la antepenúltima – β², etc. Dado que 0 < β < 1, el término de multiplicación βᵏ disminuye exponencialmente con el aumento de k, Entonces, cuanto más antiguas son las observaciones, menos importantes son.. Finalmente, cada término de la suma se multiplica por (1 —β).

En la práctica, el valor de β suele elegirse cercano a 0,9.

Distribución de peso para diferentes marcas de tiempo (β = 0,9)

Utilizando el famoso segundo límite maravilloso del análisis matemático, es posible demostrar el siguiente límite:

Haciendo una sustitución β = 1 – Xpodemos reescribirlo en el siguiente formulario:

También sabemos que en la ecuación de la media móvil exponencial, cada valor de observación se multiplica por un término βᵏ donde k indica cuántas marcas de tiempo hace que se calculó la observación. Como la base β es igual en ambos casos, podemos igualar los exponentes de ambas fórmulas:

Al usar esta ecuación, para un valor elegido de β, podemos calcular un número aproximado de marcas de tiempo t que se necesitan para que los términos de peso alcancen el valor de 1 / e ≈ 0,368). Significa que las observaciones calculadas dentro de las últimas iteraciones tienen un término de peso mayor que 1/e y aquellas más precedentes calculadas a partir del último rango de marca de tiempo t arrojan pesos inferiores a 1/e que tienen una importancia mucho menor.

En realidad, los pesos inferiores a 1/e tienen un impacto mínimo en el promedio ponderado exponencialmente. Por eso se dice que para un valor dado de β, el promedio ponderado exponencial toma en consideración las últimas observaciones t = 1 / (1 – β).

Para tener una mejor idea de la fórmula, introduzcamos diferentes valores para β:

Por ejemplo, tomando β = 0,9 indica que aproximadamente en t = 10 iteraciones, el peso decae a 1/e, en comparación con el peso de la observación actual. En otras palabras, el promedio ponderado exponencial depende principalmente sólo de las últimas t = 10 observaciones.

El problema común con el uso del promedio ponderado exponencial es que en la mayoría de los problemas no puede aproximarse bien a los valores de la primera serie. Ocurre debido a la ausencia de una cantidad suficiente de datos en las primeras iteraciones. Por ejemplo, imaginemos que nos dan la siguiente secuencia de series de tiempo:

El objetivo es aproximarlo con el promedio ponderado exponencial. Sin embargo, si usamos la fórmula normal, entonces los primeros valores darán un gran peso a v₀, que es 0, mientras que la mayoría de los puntos en el diagrama de dispersión están por encima de 20. Como consecuencia, una secuencia de primeros promedios ponderados será demasiado baja. para aproximarse con precisión a la secuencia original.

Una de las soluciones ingenuas es tomar un valor para v₀ cercano a la primera observación θ₁. Aunque este enfoque funciona bien en algunas situaciones, todavía no es perfecto, especialmente en los casos en que una secuencia determinada es volátil. Por ejemplo, si θ₂ difiere demasiado de θ₁, al calcular el segundo valor v₂, el promedio ponderado normalmente dará mucha más importancia a la tendencia anterior v₁ que a la observación actual θ₂. Como resultado, la aproximación será muy pobre.

Una solución mucho más flexible es utilizar una técnica llamada “corrección de sesgo”. En lugar de simplemente usar valores calculados vₖ, se dividen por (1 —βᵏ). Suponiendo que β se elige cerca de 0,9–1, esta expresión tiende a ser cercana a 0 para las primeras iteraciones donde k es pequeño. Por lo tanto, en lugar de acumular lentamente los primeros valores donde v₀ = 0, ahora se dividen por un número relativamente pequeño y los escalan a valores más grandes.

Ejemplo de cálculo de media móvil exponencial con y sin corrección de sesgo

En general, esta escala funciona muy bien y adapta con precisión los primeros términos. Cuando k aumenta, el denominador se acerca gradualmente a 1, omitiendo así gradualmente el efecto de esta escala que ya no es necesaria, porque a partir de una determinada iteración, el algoritmo puede confiar con una alta confianza en sus valores recientes sin ninguna escala adicional.

En este artículo, hemos cubierto una técnica extremadamente útil para aproximar una secuencia de series de tiempo. La robustez del algoritmo de promedio ponderado exponencial se logra principalmente mediante su hiperparámetro β, que puede adaptarse para un tipo particular de secuencia. Aparte de esto, el mecanismo de corrección de sesgo introducido hace posible aproximar datos de manera eficiente incluso en marcas de tiempo tempranas cuando hay muy poca información.

El promedio ponderado exponencial tiene un amplio alcance de aplicación en el análisis de series de tiempo. Además, se utiliza en variaciones del algoritmo de descenso de gradiente para la aceleración de la convergencia. Uno de los más populares es el optimizador Momentum en aprendizaje profundo, que elimina oscilaciones innecesarias de una función optimizada y la alinea con mayor precisión hacia un mínimo local.

Todas las imágenes, a menos que se indique lo contrario, son del autor.