Pandas wykładnicza średnia ruchoma

Pandas wykładnicza średnia ruchoma

Średnia ruchomia, znana również jako średnia tocząca lub działająca, jest narzędziem analizy danych, które oblicza średnie odrębnych podzbiorów całego zestawu danych. Jest również znany jako średnia poruszająca (mm) lub średnia tocząca się, ponieważ obejmuje obliczenie średniej zestawu danych w określonym okresie. Średnia ruchoma można obliczyć w różnych metodach, z których jednym jest wybranie zdefiniowanego podzbioru z całej sekwencji liczb.

Pandas DataFrame.Ewm ()

EWMA zapewnia większą wagę do obecnych obserwacji lub mniejszą wagą danych, ponieważ cofa się dalej w czasie, umożliwiając rejestrację najnowszych trendów stosunkowo szybciej niż inne techniki znajdowania średnich. „DataFrame.Metoda pandas EWM () ”jest stosowana do wykonywania EMA.

Składnia:

Pandy.Ramka danych.EWM (com = brak, span = brak, halflife = brak, alfa = brak, min_periods = 0,
Dostosuj = true, ignor_na = false, oś = 0).mieć na myśli()

Parametry:

    1. Pierwszym parametrem „com” jest zmniejszenie środka masy.
    2. „Rozpiętość” to degradacja związana z rozpiętością.
    3. „Halflife” reprezentuje upadek Halflife.
    4. Parametr „alfa” to element wygładzający, którego wartość waha się od 0 do 1. „Min_periods” określa minimalną liczbę obserwacji w ramach czasowych potrzebnych do uzyskania wartości. W przeciwnym razie Na jest zwrócone.
    5. Aby skorygować nierównowagę w względnych ciężarkach, takich jak „dostosuj”, podziel się przez malejący współczynnik korekty na okresy początkowe.
    6. Podczas obliczania wag „Ignorore_na” ignorują brakujące wartości.
    7. „Oś” jest odpowiednią osą do użycia. Wiersze są identyfikowane przez liczbę 0, podczas gdy kolumny są identyfikowane przez wartość 1.

Przykład 1: z parametrem rozpiętości

W tym przykładzie mamy Analytics DataFrame, która przechowuje informacje o akcjach produktów firmy. Mamy kolumny produktów, ilości i kosztów, a firma musi oszacować wykładniczą średnią ruchomą, która ma 5 dni.

importować pandy
# Utwórz Pandy DataFrame do obliczania wykładniczej średniej ruchomej
# z 3 kolumnami.
Analytics = pandy.DataFrame („Produkt”: [11 22,33,44,55,66,77,88,99,110],
„Ilość”: [200,455 800 900 900,122 22,700,700,80 500],
„Koszt”: [2400,4500,5090 600,8000,7800,1100,2233,500 1100])
Drukuj (Analytics)
wydrukować()
# Oblicz wykładniczą średnią ruchomą na 5 dni
Analytics [„5 -dniowy EWM”] = Analytics [„Ilości”].EWM (Span = 5).mieć na myśli()
Drukuj (Analytics)


Wyjście:

Koszt ilości produktu
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
Ilość produktu Koszt 5 dni EWM
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


Wyjaśnienie:

Na pierwszym wyjściu wyświetliśmy całą analitykę. Na drugim wyjściu obliczamy wykładniczą średnią ruchomą dla kolumny ilościowej i przechowujemy wartości w kolumnie „5 -dniowy EWM”.

Przykład 2: Wizualizuj EWM

Wizualizujmy wykładniczą średnią ruchomą dla kolumny „ilości” przez okres 5 dni za pomocą modułu MATPlotlib.

z Matplotlib Import Pyplot
importować pandy
Analytics = pandy.DataFrame („Produkt”: [11 22,33,44,55,66,77,88,99,110],
„Ilość”: [200,455 800 900 900,122 22,700,700,80 500],
„Koszt”: [2400,4500,5090 600,8000,7800,1100,2233,500 1100])
# Wykreśl rzeczywistą ilość
Pyplot.wykres (analityka [„ilość”], etykieta = „ilość”)
# Oblicz wykładniczą średnią ruchomą na 5 dni
Analytics [„5 -dniowy EWM”] = Analytics [„Ilości”].EWM (Span = 5).mieć na myśli()
# Wykreśla 5 -dniowa wykładnicza średnia średnia
Pyplot.Wykres (Analytics ['5-dniowy EWM'], etykieta = '5-dniowa EWM')
# Ustaw legendę na 1
Pyplot.legenda (loc = 1)


Wyjście:



Wyjaśnienie:

Obliczamy wykładniczą średnią ruchomą dla kolumny ilościowej i przechowujemy wartości w kolumnie „5 -dniowej EWM”. Teraz widać, że na wykresie niebieska linia wskazuje faktyczną „ilość”, a kolor pomarańczowy wskazuje wykładniczą średnią ruchomą o spanowaniu 5 dni.

Przykład 3: Z rozprzestrzenionymi parametrami

Oszacuj wykładniczą średnią ruchomą dla kolumny „kosztu” z rozpiętością 2 dni, ustawiając dostosowanie do fałszywych i wizualizuj.

z Matplotlib Import Pyplot
importować pandy
Analytics = pandy.DataFrame („Produkt”: [11 22,33,44,55,66,77,88,99,110],
„Ilość”: [200,455 800 900 900,122 22,700,700,80 500],
„Koszt”: [2400,4500,5090 600,8000,7800,1100,2233,500 1100])
# Wykonaj rzeczywisty koszt
Pyplot.wykres (analityka [„koszt”], label = „zakup”)
# Oblicz wykładniczą średnią ruchomą przez 2 dni
Analytics [„2 -dniowy EWM”] = Analytics [„koszt”].EWM (span = 2, regulacja = false).mieć na myśli()
# Wykreśla 2 -dniowy wykładniczy koszt średniej ruchomej
Pyplot.Wykres (Analytics ['2-dniowy EWM'], etykieta = '2-dniowy EWM')
# Ustaw legendę na 1
Pyplot.legenda (loc = 1)
Drukuj (Analytics)


Wyjście:

Ilość produktu Koszt 2 dni 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



Wyjaśnienie:

Przechowujemy wartości w kolumnie „2 -dniowej EWM” dla kosztów i wyświetlania. Wreszcie wizualizujemy za pomocą Pyplot Matplotlib.

Przykład 4: Z parametrem Ignorore_na

Zobacz wykładniczą średnią ruchomą dla kolumny „Produkt” o wartości braku z rozpiętością 3 dni, ustawiając Ignorate_na na false.

z Matplotlib Import Pyplot
importować pandy
Analytics = pandy.DataFrame ('Product': [Brak, 22,33, brak, 55, brak],
„Ilość”: [200,455, brak, 900 900,122])
# Wykonaj rzeczywisty koszt
Pyplot.wykres (analityka [„produkt”], etykieta = „produkt”)
# Oblicz wykładniczą średnią ruchomą z rozpiętością 3 dni bez ignorowania wartości NAN.
Analytics [„3 -dniowy EWM z NAN”] = Analytics [„Product”].EWM (span = 3, ignore_na = false).mieć na myśli()
# Wykreśla 3 -dniowy wykładniczy produkt ruchomy
Pyplot.Wykres (Analytics ['3-dniowy EWM z nan'], etykieta = „3-dniowy EWM ')
# Ustaw legendę na 1
Pyplot.legenda (loc = 1)


Wyjście:


Wniosek

Pojęcie obliczania wykładniczej ważonej średniej ruchomej omówiono w tym artykule. W sekcji Wprowadzenie tego pisania wyjaśniliśmy ideę EWM. „DataFrame.ewm ().Metoda panda () „)” jest dostarczana ze wszystkimi jej parametrami, które zostały krótko opisane. Przeprowadziliśmy cztery przykłady. Podstawowe strategie obliczania EWM są opracowane w tej nauce.