Panda media mobile esponenziale

Panda media mobile esponenziale

La media mobile, nota anche come media di rotolamento o in esecuzione, è uno strumento di analisi dei dati delle serie temporali che calcola le medie di sottoinsiemi distinti dell'intero set di dati. È anche noto come media in movimento (mm) o media rotolante perché include il calcolo della media del set di dati per un certo periodo. La media mobile può essere calcolata in una varietà di metodi, uno dei quali è selezionare un sottoinsieme definito da un'intera sequenza di numeri.

Pandas DataFrame.Ewm ()

EWMA fornisce più peso alle osservazioni attuali o meno peso ai dati mentre si sposta più indietro nel tempo, consentendogli di registrare le tendenze recenti relativamente più rapide delle altre tecniche di ricerca di medie. Il “DataFrame.Il metodo Pandas EWM () ”viene utilizzato per eseguire EMA.

Sintassi:

panda.DataFrame.EWM (com = nessuno, span = nessuno, HalfLife = Nessuno, alpha = nessuno, min_periods = 0,
Regola = true, ignore_na = false, axis = 0).Significare()

Parametri:

    1. Il primo parametro, "com", è la riduzione al centro del peso.
    2. La "span" è il degrado correlato alla span.
    3. La "Halflife" rappresenta il declino della Halflife.
    4. Il parametro "alfa" è un elemento di livellamento il cui valore varia da 0 a 1 inclusivo. Il "min_periods" specifica il numero minimo di osservazioni in un periodo di tempo necessario per produrre un valore. Altrimenti, NA viene restituita.
    5. Per correggere uno squilibrio in ponderazioni relative come "regolare", dividi per un fattore di regolazione in calo nei periodi di partenza.
    6. Quando si calcolano i pesi, "Ignore_na" ignora i valori mancanti.
    7. L '"asse" è l'asse appropriato da utilizzare. Le righe sono identificate dal numero 0, mentre le colonne sono identificate dal valore 1.

Esempio 1: con il parametro Span

In questo esempio, abbiamo un telaio di dati di analisi che memorizza le informazioni sulle azioni del prodotto dell'azienda. Abbiamo colonne di prodotti, quantità e costi e l'azienda deve stimare la media mobile esponenziale con un arco di 5 giorni.

Panda di importazione
# Crea il telaio dati Pandas per il calcolo della media mobile esponenziale
# con 3 colonne.
Analytics = Panda.DataFrame ('Product': [11,22,33,44,55,66,77,88,99,110],
'Quantity': [200.455.800.900.900.122.400.700.80.500],
'Costo': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])
Stampa (Analytics)
stampa()
# Calcola la media mobile esponenziale per 5 giorni
Analytics ['5 giorni EWM'] = Analytics ['Quantity'].EWM (span = 5).Significare()
Stampa (Analytics)


Produzione:

Costo della quantità del prodotto
0 11 200 2400
1 22 455 4500
2 33 800 5090
3 44 900 600
4 55 900 8000
5 66 122 7800
6 77 400 1100
7 88 700 2233
8 99 80 500
9 110 500 1100
Costo della quantità di prodotto EWM a 5 giorni
0 11 200 2400 200.000000
1 22 455 4500 353.000000
2 33 800 5090 564.736842
3 44 900 600 704.000000
4 55 900 8000 779.241706
5 66 122 7800 539.076692
6 77 400 1100 489.835843
7 88 700 2233 562.734972
8 99 80 500 397.525846
9 110 500 1100 432.286704


Spiegazione:

Nel primo output, abbiamo visualizzato l'intera analisi. Nel secondo output, calcoliamo la media mobile esponenziale per la colonna di quantità e memorizziamo i valori nella colonna "5 giorni EWM".

Esempio 2: visualizzare l'EWM

Visualizziamo la media mobile esponenziale per la colonna "quantità" per un arco di 5 giorni usando il modulo Matplotlib.

da matplotlib import pilot
Panda di importazione
Analytics = Panda.DataFrame ('Product': [11,22,33,44,55,66,77,88,99,110],
'Quantity': [200.455.800.900.900.122.400.700.80.500],
'Costo': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])
# Traccia la quantità effettiva
Pyplot.Plot (Analytics ['Quantity'], etichetta = 'Quantità')
# Calcola la media mobile esponenziale per 5 giorni
Analytics ['5 giorni EWM'] = Analytics ['Quantity'].EWM (span = 5).Significare()
# Traccia la quantità media mobile esponenziale di 5 giorni
Pyplot.Plot (Analytics ['5 giorni EWM'], etichetta = '5 giorni EWM')
# Imposta la leggenda su 1
Pyplot.leggenda (loc = 1)


Produzione:



Spiegazione:

Calcoliamo la media mobile esponenziale per la colonna di quantità e memorizziamo i valori nella colonna "5 giorni EWM". Ora, puoi vedere che nel grafico la linea blu indica la "quantità" effettiva e il colore arancione indica la media mobile esponenziale con un arco di 5 giorni.

Esempio 3: con parametri di span e regolare

Stimare la media mobile esponenziale per la colonna "costo" con un arco di 2 giorni impostando la regolazione su falso e visualizzarla.

da matplotlib import pilot
Panda di importazione
Analytics = Panda.DataFrame ('Product': [11,22,33,44,55,66,77,88,99,110],
'Quantity': [200.455.800.900.900.122.400.700.80.500],
'Costo': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])
# Traccia il costo effettivo
Pyplot.Plot (Analytics ['cost'], etichetta = 'acquisto')
# Calcola la media mobile esponenziale per 2 giorni
Analytics ['2 Day EWM'] = Analytics ['Costo'].EWM (span = 2, Regola = false).Significare()
# Traccia il costo della media mobile esponenziale di 2 giorni
Pyplot.Plot (Analytics ['2 Day EWM'], etichetta = '2 giorni EWM')
# Imposta la leggenda su 1
Pyplot.leggenda (loc = 1)
Stampa (Analytics)


Produzione:

Costo della quantità di prodotto EWM
0 11 200 2400 2400.000000
1 22 455 4500 3800.000000
2 33 800 5090 4660.000000
3 44 900 600 1953.333333
4 55 900 8000 5984.444444
5 66 122 7800 7194.814815
6 77 400 1100 3131.604938
7 88 700 2233 2532.534979
8 99 80 500 1177.511660
9 110 500 1100 1125.837220



Spiegazione:

Archiviamo i valori nella colonna "2 giorni EWM" per il costo e la visualizzazione. Infine, visualizziamo usando il pilota Matplotlib.

Esempio 4: con parametro Ignore_na

Vedere la media mobile esponenziale per la colonna "Prodotto" che non ha alcun valori con un arco di 3 giorni impostando Ignore_na su False.

da matplotlib import pilot
Panda di importazione
Analytics = Panda.DataFrame ('Product': [Nessuno, 22,33, nessuno, 55, nessuno],
'Quantity': [200.455, nessuno, 900.900.122])
# Traccia il costo effettivo
Pyplot.Plot (Analytics ['Product'], Label = 'Product')
# Calcola la media mobile esponenziale con l'intervallo di 3 giorni senza ignorare i valori NAN.
Analytics ['3 giorni EWM con NAN'] = Analytics ['Product'].EWM (span = 3, ignore_na = false).Significare()
# Traccia il prodotto medio mobile esponenziale di 3 giorni
Pyplot.Plot (Analytics ['3 giorni EWM con NAN'], etichetta = '3 giorni EWM')
# Imposta la leggenda su 1
Pyplot.leggenda (loc = 1)


Produzione:


Conclusione

Il concetto di calcolo della media mobile ponderata esponenziale è discusso in questo articolo. Nella sezione Introduzione di questa scrittura, abbiamo spiegato l'idea di EWM. Il “DataFrame.ewm ().Il metodo Panda medio () ”è fornito con tutti i suoi parametri che vengono brevemente descritti. Abbiamo eseguito quattro esempi. Le strategie di base per il calcolo dell'EWM sono elaborate in questo apprendimento.