Spiegazione intuitiva della media mobile esponenziale

Una guida intuitiva alla media mobile esponenziale

Comprendere la logica dietro l’algoritmo fondamentale utilizzato nel gradient descent

Introduzione

Nell’analisi delle serie temporali, spesso è necessario comprendere la direzione del trend di una sequenza tenendo conto dei valori precedenti. L’approssimazione dei valori successivi in una sequenza può essere effettuata in diversi modi, inclusi l’utilizzo di semplici baselines o la costruzione di modelli avanzati di machine learning.

Una media mobile (pesata) esponenziale rappresenta un robusto compromesso tra questi due metodi. Il fatto di avere un metodo ricorsivo semplice permette di implementare l’algoritmo in modo efficiente. Allo stesso tempo, questa metodologia è molto flessibile e può essere adattata con successo alla maggior parte dei tipi di sequenze.

Questo articolo copre la motivazione alla base del metodo, una descrizione del suo flusso di lavoro e la correzione del bias, una tecnica efficace per superare un ostacolo di bias nell’approssimazione.

Motivazione

Immagina di avere un problema di approssimazione di un dato parametro che varia nel tempo. Ad ogni iterazione, si conoscono tutti i suoi valori precedenti. L’obiettivo è predire il prossimo valore, che dipende dai valori precedenti.

Una strategia ingenua è quella di prendere semplicemente la media degli ultimi valori. Questo potrebbe funzionare in determinati casi, ma non è molto adatto per scenari in cui un parametro dipende dai valori più recenti.

Uno dei modi possibili per superare questo problema è quello di assegnare pesi più alti ai valori più recenti e pesi minori ai valori precedenti. La media mobile esponenziale è esattamente una strategia che segue questo principio. Si basa sull’assunzione che i valori più recenti di una variabile contribuiscano di più alla formazione del valore successivo rispetto ai valori precedenti.

Formula

Per comprendere come funziona la media mobile esponenziale, vediamo la sua equazione ricorsiva:

Formula media mobile esponenziale
  • vₜ è una serie temporale che approssima una variabile data. Il suo indice t corrisponde al timestamp t. Essendo questa formula ricorsiva, è necessario il valore v₀ per il timestamp iniziale t = 0. In pratica, solitamente si assume v₀ come 0.
  • θ è l’osservazione nell’iterazione corrente.
  • β è un iperparametro compreso tra 0 e 1 che definisce come distribuire l’importanza dei pesi tra il valore medio precedente vₜ-₁ e l’osservazione corrente θ

Scriviamo questa formula per i primi valori del parametro:

Ottenimento della formula per il timestamp t-esimo

Come risultato, la formula finale appare così:

Media mobile esponenziale per il timestamp t-esimo

Possiamo notare che l’osservazione più recente θ ha un peso di 1, l’osservazione al secondo posto ha un peso di β, quella al terzo posto ha un peso di β², ecc. Dato che 0 < β < 1, il termine di moltiplicazione βᵏ scende esponenzialmente con l'aumento di k, quindi le osservazioni più vecchie sono meno importanti. Infine, ogni termine di somma è moltiplicato per (1 — β).

In pratica, il valore di β di solito viene scelto intorno a 0,9.

Distribuzione dei pesi per differenti timestamp (β = 0,9)

Interpretazione matematica

Utilizzando il famoso secondo meraviglioso limite dell’analisi matematica, è possibile dimostrare il seguente limite:

Facendo una sostituzione β = 1 – x, possiamo riscriverlo nella seguente forma:

Sappiamo anche che nell’equazione per la media mobile esponenziale, ogni valore di osservazione viene moltiplicato per un termine βᵏ dove k indica quanto tempo fa è stata calcolata l’osservazione. Poiché la base β è uguale in entrambi i casi, possiamo uguagliare gli esponenti di entrambe le formule:

Utilizzando questa equazione, per un valore scelto di β, possiamo calcolare un numero approssimativo di timestamp t necessari affinché i termini di peso raggiungano il valore di 1 / e ≈ 0,368. Ciò significa che le osservazioni calcolate nelle ultime t iterazioni hanno un termine di peso maggiore di 1 / e e quelle calcolate precedentemente rispetto all’intervallo di tempo t hanno pesi inferiori a 1 / e e quindi una minore importanza.

Nella realtà, i pesi inferiori a 1 / e hanno un impatto minimo sulla media ponderata esponenziale. Ecco perché si dice che per un dato valore di β, la media ponderata esponenziale tiene in considerazione le ultime t = 1 / (1 – β) osservazioni.

Per avere una migliore comprensione della formula, proviamo a inserire valori diversi per β:

Per esempio, assumere β = 0,9 indica che approssimativamente in t = 10 iterazioni, il peso si riduce a 1 / e rispetto al peso dell’osservazione corrente. In altre parole, la media ponderata esponenziale dipende principalmente solo dalle ultime t = 10 osservazioni.

Correzione del bias

Il problema comune nell’utilizzare la media ponderata esponenziale è che nella maggior parte dei casi non può approssimare bene i primi valori di una serie. Questo accade a causa dell’assenza di una quantità sufficiente di dati nelle prime iterazioni. Ad esempio, immaginiamo di avere la seguente sequenza di una serie temporale:

Lo scopo è approssimarla utilizzando la media ponderata esponenziale. Tuttavia, se utilizziamo la formula normale, i primi valori daranno un peso elevato a v₀ che è 0, mentre la maggior parte dei punti nello scatterplot sono al di sopra di 20. Di conseguenza, una sequenza di prime medie ponderate sarà troppo bassa per approssimare in modo preciso la sequenza originale.

Una delle soluzioni naive consiste nel prendere un valore per v₀ vicino alla prima osservazione θ₁. Sebbene questo approccio funzioni bene in alcune situazioni, non è perfetto, soprattutto nei casi in cui una data sequenza è volatile. Ad esempio, se θ₂ differisce molto da θ₁, allora durante il calcolo del secondo valore v₂, la media ponderata darà normalmente molto più importanza alla tendenza precedente v₁ rispetto all’osservazione corrente θ₂. Di conseguenza, l’approssimazione sarà molto scarsa.

Una soluzione molto più flessibile è utilizzare una tecnica chiamata “correzione del bias”. Invece di utilizzare semplicemente i valori calcolati vₖ, essi vengono divisi per (1 —βᵏ). Presumendo che β sia scelto vicino a 0,9-1, questa espressione tende ad essere prossima a 0 per le prime iterazioni in cui k è piccolo. Pertanto, invece di accumulare lentamente i primi diversi valori in cui v₀ = 0, vengono ora divisi per un numero relativamente piccolo che li scala in valori più grandi.

Esempio di calcolo della media mobile esponenziale con e senza correzione del bias

In generale, questa ridimensionatura funziona molto bene e si adatta precisamente ai primi termini. Quando k diventa più grande, il denominatore si avvicina gradualmente a 1, omettendo quindi gradualmente l’effetto di questa ridimensionatura che non è più necessaria, perché a partire da una certa iterazione, l’algoritmo può fare affidamento con grande sicurezza sui suoi valori recenti senza alcuna ridimensionatura aggiuntiva.

Conclusione

In questo articolo, abbiamo trattato una tecnica estremamente utile per approssimare una sequenza di serie temporali. La robustezza dell’algoritmo di media pesata esponenziale è principalmente ottenuta dal suo iperparametro β, che può essere adattato per un particolare tipo di sequenza. Oltre a questo, il meccanismo di correzione del bias introdotto rende possibile approssimare efficientemente i dati anche sui timestamp iniziali quando c’è troppo poca informazione.

La media pesata esponenziale ha un’ampia applicazione nell’analisi delle serie temporali. Inoltre, viene utilizzata in variazioni dell’algoritmo di discesa del gradiente per accelerare la convergenza. Uno dei più popolari di questi è l’ottimizzatore Momentum nel deep learning, che rimuove oscillazioni superflue di una funzione ottimizzata, allineandola più precisamente verso un minimo locale.

Tutte le immagini, se non diversamente indicato, sono dell’autore.