Uwaga: Poniższy artykuł pomoże Ci w: Wygładzanie wykładnicze a średnia ruchoma do prognozowania szeregów czasowych
Analiza szeregów czasowych i prognozowanie to ważne koncepcje w nauce o danych, które mają różnorodne zastosowania. Istnieją różne techniki wykorzystywane do prognozowania z danymi szeregów czasowych. Wygładzanie wykładnicze i średnia ruchoma to dwie podstawowe i ważne techniki stosowane w tym celu. W tym artykule przyjrzymy się porównaniu wygładzania wykładniczego i średniej ruchomej do prognozowania szeregów czasowych. Poniżej wymieniono najważniejsze punkty, które zostaną omówione w artykule.
Spis treści
- Informacje o wygładzaniu wykładniczym? Implementacja metod wygładzania wykładniczego Informacje o średniej ruchomej? Implementacja średniej ruchomej Wygładzanie wykładnicze a średnia ruchoma
Zacznijmy od zrozumienia wygładzania wykładniczego
O wygładzaniu wykładniczym
W szeregach czasowych wygładzanie wykładnicze można uznać za metodę wygładzania danych szeregów czasowych. Możemy to również uznać za technikę reguły kciuka, która jest przybliżoną metodą robienia czegoś. Ta metoda wykorzystuje wykładniczą funkcję okna, której używamy do przypisywania wykładniczo malejących wag w czasie. Ta metoda wygładzania szeregów czasowych może być również wykorzystana do wykonywania wielu oznaczeń opartych na pewnych wcześniejszych założeniach. Ale generalnie stosujemy to do wygładzania danych szeregów czasowych.
Szukasz kompletnego repozytorium bibliotek Pythona używanych w data science, sprawdź tutaj.
Zastosowanie wdowy można również uznać za zastosowanie filtra do danych szeregów czasowych, dzięki czemu możemy usunąć szum z danych szeregów czasowych. Powiedzmy, że jednowymiarowe dane szeregów czasowych to xt w czasie t = 0 a wynikiem wygładzania za pomocą wygładzania wykładniczego jest st . możemy również powiedzieć, że St jest najlepszym oszacowaniem następnej wartości szeregu czasowego. Matematycznie możemy podać wygładzanie wykładnicze w postaci następującego wzoru.
s0 = x0 st = xt + (1-)st-1 t>0
Gdzie,
(0
Proste wygładzanie wykładnicze można również uznać za filtrowanie rekurencyjne i matematycznie można je przedstawić w następujący sposób
Wygładzanie wykładnicze w czasie t ( st ) można również uznać za prostą średnią ważoną wartości szeregów czasowych w czasie t ( xt ) i ostatnią wygładzoną wartość st-1 . Możemy nawet zastosować te statystyki z dwiema sekwencyjnymi wartościami. Zauważalną rzeczą jest to, że wraz ze wzrostem wartości poziom wygładzenia maleje, a nie ma idealnej metody, którą można by zastosować do doboru wartości .
Ta metoda może być również określana jako wykładnicza ważona średnia ruchoma (EWMA) i autoregresyjna zintegrowana średnia ruchoma (ARIMA) bez stałego składnika w niektórych innych przypadkach. Istnieją trzy rodzaje wygładzania wykładniczego, które możemy znaleźć:
- Proste/pojedyncze wygładzanie wykładnicze: To wygładzanie może służyć do tworzenia prognoz opartych na szeregach czasowych, które nie mają trendu ani sezonowości.Podwójne wygładzanie wykładnicze: Ten typ wygładzania wykładniczego zapewnia obsługę składowych trendów szeregów czasowych. Potrójne wygładzanie wykładnicze: Ten typ wygładzania wykładniczego zapewnia obsługę trendów i sezonowości szeregów czasowych.
Przyjrzyjmy się, jak można wdrożyć tę metodę.
Prognozowanie z wykorzystaniem wygładzania wykładniczego
Do implementacji metod wygładzania wykładniczego możemy wykorzystać bibliotekę statsmodel. W tej bibliotece w pakiecie tsa.holt winters możemy pobrać wszystkie metody zaimplementowane do wygładzania wykładniczego. Przyjrzyjmy się implementacji prostego wygładzania wykładniczego.
Importowanie danych:
zaimportuj pandy jako pd ts = pd.read_csv(‘/content/drive/MyDrive/Copy of szampon-sprzedaż .csv’)
Importowanie i dopasowanie modułu:
ze statsmodels.tsa.holtwinters importuje model SimpleExpSmoothing = SimpleExpSmoothing (ts[‘Sales’]) model_dopasowania = model.dopasowanie(poziom_wygładzenia=0.2zoptymalizowane=fałsz)
Wykreślanie wygładzonych danych:
importuj matplotlib.pyplot jako plt plt.figure(figsize=(12, 8)) plt.plot(ts[‘Sales’]color=”black”) plt.plot(fit_model.fittedvalues, color=”blue”)
Wyjście:
Tutaj możemy zobaczyć, jak działa funkcja zdefiniowana w bibliotece przy użyciu prostej metody wygładzania wykładniczego.
O średniej ruchomej
Jak sama nazwa wskazuje jest to metoda, w której można powiedzieć, że średnia się porusza. W analizie szeregów czasowych jest to metoda prognozowania prac poprzez wychwytywanie średnich zmian w szeregach czasowych. W różnych miejscach możemy również spotkać się z określeniem tej metody jako średnia krocząca, średnia krocząca, średnia ruchoma (MM) lub średnia krocząca. Polega ona na wykonaniu szeregu średnich z podzbiorów pełnych danych. Ogólnie rzecz biorąc, możemy to również uznać za metodę obliczeniową do analizy danych sekwencyjnych.
Działa to również poprzez zastosowanie filtra na szeregu czasowym, a filtr można uznać za filtr o skończonej odpowiedzi impulsowej. Ten filtr działa, biorąc średnią ze stałego podzbioru serii liczb. Załóżmy, że istnieje szereg czasowy, który można podzielić na podstawie miesięcy, co oznacza, że mamy zestaw wartości i wzięcie średniej wartości z pierwszego miesiąca szeregu czasowego można uznać za pierwszą średnią ruchomą procesu wygładzania. Nie w miarę upływu czasu w serii zmienia się zestaw liczb, a zatem wartość średnia będzie się zmieniać.
Poniższy obraz przedstawia zastosowanie średniej ruchomej w celu wygładzenia szeregów czasowych.
Źródło obrazu
Tutaj widzimy, że czerwona linia jest wynikiem wygładzenia i możemy powiedzieć, że stosujemy ją w celu usunięcia krótkich fluktuacji czasowych z szeregów czasowych, aby można było wyróżnić długoterminowy trend szeregów czasowych. Istnieją trzy rodzaje średniej ruchomej
- Prosta średnia ruchoma: Jest to najprostsza forma średniej ruchomej, w której suma ostatnich wartości szeregu czasowego jest dzielona przez czas.Wykładnicza średnia krocząca: Ten typ średniej ruchomej koncentruje się bardziej na ostatnich wartościach, zapewniając większą wagę ostatnich wartości średniej ruchomej. Skumulowana średnia ruchoma: Ta metoda koncentruje się na wszystkich wartościach szeregu czasowego, stosując średnią wszystkich wartości, przy czym średnia powinna być nieważona.
Przyjrzyjmy się, jak możemy zaimplementować prostą średnią ruchomą za pomocą Pythona.
Prognozowanie za pomocą średniej ruchomej
Możemy przeprowadzić prognozowanie szeregów czasowych przy użyciu metody średniej ruchomej tylko z biblioteką pandas. Powyżej zaimportowaliśmy dane dotyczące sprzedaży szamponu. Narysujmy dane.
plt.plot(ts[‘Sales’])
Wyjście:
Narysujmy dane po zastosowaniu średniej ruchomej.
ts[‘Sales’].plot(rozmiar figury=(10,6)) ts[‘Sales’].toczenie (okno =5).średnia().wykres()
Wyjście:
Powyżej widzieliśmy, jak możemy zaimplementować i zdefiniować obie metody. Przyjrzyjmy się różnicy między tymi dwiema metodami wygładzania.
Wygładzanie wykładnicze a średnia ruchoma
Jedną z ważnych różnic między tymi dwiema metodami można założyć na podstawie ich nazwy. Z jednej strony wygładzanie wykładnicze stosuje okno wykładnicze, podczas gdy z drugiej strony widzimy, że do danych stosowane jest uśrednione okno, aby zredukować szum danych.
W ramach wygładzania wykładniczego mamy metody, które zapewniają wsparcie dla elementów szeregów czasowych, takich jak trend i sezonowość, a mówiąc o średniej ruchomej, możemy powiedzieć, że metody w ramach tego procesu wygładzania są bardziej skoncentrowane na wartościach z ich czasami. Podobnie jak wykładnicza średnia ruchoma koncentruje się na ostatnich wartościach.
Kolejną rzeczą, która tworzy dużą różnicę między tymi metodami, jest to, że wygładzanie wykładnicze można wykonać przy użyciu nawet dwóch punktów danych, a aby rozpocząć średnią ruchomą, musimy ustawić rozmiar okna, który musi być większy niż trzy, aby wykonać faktyczne wygładzanie.
Tutaj możemy powiedzieć, że wykładniczy usuwa więcej szumów z danych zgodnie ze współczynnikiem wygładzania, a średnia ruchoma usuwa szum przy użyciu średniej wartości punktów danych.
Ostatnie słowa
W artykule omówiliśmy wygładzanie wykładnicze i średnią ruchomą. Obie są metodami wygładzania danych szeregów czasowych. Sposób działania algorytmów sprawia, że oba algorytmy różnią się od siebie, co omówiliśmy w naszym ostatnim świadomym.
Bibliografia
Link do powyższych kodów