Blog
15.6.2020

Time Series – Prognozowanie szeregów czasowych w Alteryx

Spis treści:
Tagi:
No items found.
Klient:
Autor:
Mateusz Broja

Artykuł ten przedstawia funkcjonalność prognozowania w programie Alteryx. Pokrótce wyjaśnię możliwości, jakie daje użytkownikowi zakładka Time Series w budowaniu modeli ARIMA oraz ETS, z naciskiem na ten pierwszy. Model ETS został opisany w odrębny artykule pod tym linkiem. Przedstawię również krótki przykład ilustrujący działanie ARIMA na danych o sprzedaży domów.

Prognozowanie w Time Series a predykcja

Na wstępie pragnę zaznaczyć różnicę pomiędzy prognozowaniem a samą predykcją. Alteryx oferuje możliwości predykcyjne w zakładce Predicitve. Natomiast prognozowanie (z ang. forecasting) w zakładce Time Series.

Predicition jest to uogólniony zwrot, pod którym znajduję się również forecast. Gdy pierwsze zajmuje się wnioskowaniem o zmiennych, których wielkość jest nam nieznana, to drugie operuje już ściśle na szeregach czasowych. W języku polskim oba stwierdzenia (predykcja i prognoza) traktuje się jako synonimy. Warto mieć pojęcie o ich znaczeniu, ażeby łatwiej się odnaleźć, chociażby w funkcjonalnościach Alteryx.

Narzędzia w zakładce Time Series

Alteryx oferuje możliwość zbudowania dwóch różnych modeli, ich późniejszej walidacji (narzędzia takie jak TS Compare Tool), czy opcji do odpowiedniej transformacji danych (np. TS Filler Tool do uzupełnienia luk w szeregu czasowy). W tym artykule skoncentruję się jednak na wyjaśnieniu modelu ARIMA, którego za pomocą Alteryx jesteśmy w stanie stworzyć. Narzędzia operują w ramach języka R.

ETS Tool

Time Series Tool ETS

ETS – exponential smoothing method, czyli wygładzanie wykładnicze. Jest to model opisany w artykule poprzednim, dlatego poświęcę mu jedynie krótkie przypomnienie.

W skrócie jest to metoda zakładająca użycie średniej kroczącej. Odpowiednie wagi, które nadaje się poszczególnym wartościom, kładą większy nacisk na obserwację będące bliżej zmiennej estymowanej na osi czasu. Znaczy to mniej więcej tyle, że prognozujemy nieznaną wartość, biorąc pod uwagę najbliższe średnie.

Arima Tool

ARIMA Tool

ARIMA, czyli zintegrowane modele autoregresyjne ze średnią ruchomą (z ang. Autoregressive Integrated Moving Average). Model ten jest uznawany za najbardziej powszechny w estymacji szeregów czasowych. Zawiera on w sobie dwie szczególne własności, tj.:

  • Autoregresja – model AR
  • Średnia ruchoma – model MA

Model AR

Pierwsza część modelu AR składa się z autoregresji. Skupia się ona na poprzednich wartościach zmiennej objaśnianej w celu określenia tej samej zmiennej, stąd w istocie nazwa autoregresja. Jest to bardzo intuicyjne; pragniemy przewidzieć konkretną zmienną, patrząc na jej historię. Istotną sprawą jest tutaj stacjonarność.

Stacjonarność – cecha szeregu czasowego, którego rozkład zależy jedynie od różnic w czasie (większe lub mniejsze okno czasowe), a nie od położenia w czasie. Taka własność jest nazywana silną stacjonarnością. Gdy średnia, wariancja oraz autokorelacja zależą od różnicy w czasie, a nie od położenia, nazywamy to słabą stacjonarnością.

stacjonarność szeregu

Rysunek 1. Stacjonarność szeregu. Źródło: https://www.datascienceblog.net/post/machine-learning/forecasting-an-introduction/

Po lewej stronie przedstawiony jest proces stacjonarny, po prawej zaś niestacjonarny z wyraźnym trendem. Przy przekształceniu z prawego na lewy stosuje się w przypadku trendu różnicę do okresu poprzedniego, a w przypadku sezonowości różnicę do odpowiadającego okresu w poprzednim sezonie.

Wzór modelu AR (rzędu P):

wzór modelu AR

Rząd P – liczba określająca, ile okresów wcześniejszych bierzemy pod uwagę

– wartość, którą pragniemy przewidzieć

– korelacja między zmiennymi

Tutaj zakładamy, że < 1. Własność bierze się z określonej wcześniej stacjonarności. Ten warunek musi zostać spełniony do przeprowadzenia analizy.

– wartość z poprzedniego okresu

– wartość błędu

Jeżeli założenie o korelacji jest spełnione, to zdarzenia z przeszłości są brane pod uwagę, ale w coraz mniejszym stopniu. Jest to zasadnicza różnica pomiędzy modelem MA, który jest postrzegany jako short-memory model, tj. taki, który nie bierze pod uwagę zdarzeń znajdujących się daleko od punktu t.

Model AR jest szeroko stosowany i dobrze udokumentowany, a jego zasady przejrzyste.

Model MA

Średnia ruchoma opiera się na wartości błędu e. W poprzednim modelu braliśmy pod uwagę właściwą wartość z okresu t-1, żeby dokonać predykcji w okresie t. W tym przypadku przewidujemy wartość na podstawie tego, o ile wcześniej prognozowana wartość różniła od rzeczywistej.

Wzór:

wzór

– średnia

Reszta zmiennych ma tę samą notację jak w przykładzie wyżej.

Sama nazwa średnia ruchoma (z ang. moving average) odnosi się do wartości przewidywanej, która cały czas porusza się wokoło średniej.

W uproszczeniu model ten prognozuje, odpowiednio modyfikując wartość z okresu poprzedniego przez błąd, jaki został popełniony w predykcji.

Integracja między AR oraz MA

Każda z tych własności może być osobnym modelem i w istocie tak właśnie jest. Możemy spotkać się z modelami AR oraz MA. Znany jest również model ARMA, gdzie, jak sama nazwa wskazuje, brakuje integracji. Ale czym właściwie jest ta integracja?

Nakreśliłem wcześniej istotność, jaką odgrywa stacjonarność. Dzięki integracji model ARIMA sprowadza dane do odpowiedniej postaci, dzięki czemu nadawać się może również do procesów niestacjonarnych (tylko jeśli da się je sprowadzić do stacjonarności).

Ostatecznie otrzymujemy model ARIMA z trzeba parametrami oznaczonymi najczęściej jako p, d oraz q. Gdzie p jest to rząd modelu AR, q rząd modelu MA i d, parametr odpowiadający za dostosowanie niestacjonarnego szeregu do postaci stacjonarnej. Wszystkie te własności postarałem się omówić wcześniej, jednak do szerszego zapoznania się z tematyką modeli ARIMA (rozdział 8.), polecam rekomendowaną przez Alteryx publikację Forecasting: Principles and Practice, dostępną po tym LINKIEM.

Praktyka

Na podanym niżej przykładzie przeprowadzę prognozę cen, jakie trzeba zapłacić za dom w roku 2015, mając do dyspozycji miesięczne dane od 1990 roku. Przykład ten jest przygotowany na zbiorze danych udostępniony przez Alteryx, szeroko omawiany właśnie przez tę społeczność, tym samym jest on idealny do przedstawienia poszczególnych narzędzi.

Całość tzw. workflow znajduje się na poniższym obrazku:

workflow z time series

Przygotowanie danych

Pierwszy etapem jest oczywiście załadowanie danych narzędziem Input Data Tool (1). Nadajemy każdej z obserwacji indeks (dzięki Record ID Tool), a następnie ograniczamy liczbę obserwacji do 300 (2) przy użyciu Filter Tool. Zabieg ten jest istotny do późniejszej walidacji. Wszystkich obserwacji mamy 311. Znaczy to, że pozostało nam 12 wierszy, tj. cały rok do prognozowania. Podział na dane treningowe i testowe pozwoli nam na ocenę i porównanie modeli.

Modelowanie

Dzięki uprzednio przygotowanym danym, oraz przystępnym zbiorze danych przechodzimy szybko do dwóch modeli ARIMA (3) oraz ETS (4). Zapoznaliśmy się wcześniej z warunkami, jakie stawia przed nami AR model, dodatkowo zaznaczyłem, że integracja pozwala na automatyczne dostosowanie danych, nawet tych, które są niestacjonarne. Najistotniejsze pozostaje jedynie odpowiednio skonfigurować model, tak żeby częstotliwość danych byłą ustawiona na miesięczną oraz jako zmienną objaśnianą ustawić wartość Sales tak jak na obrazku poniżej:

modelowanie time series

Takie same ustawienia dotyczą modelu ETS.

Walidacja

Gdy modele zostały wytrenowane, pozostaje złączyć je narzędzie Union Tool, do późniejszego prognozowania. Stanie się to za pomocą narzędzia TS Compare Tool. Jak sama nazwa wskazuje, porównuje on dwa różne modele, dokonując predykcji na pozostałych danych (5) z narzędzia filtrowania (połączenie idące w zakładki F z Filter Tool oznacza liczby od 300 do 311, tj. ten rok, który pragniemy przewidzieć).

TS Compare Tool pozwala wyświetlić raport, składający się z trzech części.

  1. Wyświetlenie rzeczywistych wartości oraz wartości prognozowanych przez oba modele.
rzeczywiste wartości oraz wartości prognozowane

Z lewej strony widzimy wartości aktualne, później predykcję ARIMA i dalej, ETS. Przy niewielkiej ilości rekordów można ocenić każdy wiersz i dokonać wyboru. Lub też zobaczyć, gdzie znajdują się największe odchylenia i odpowiednio popracować nad modelem.

W naszym przykładzie, chociaż na początku lepiej sprawdzał się ETS, to już w 4. miesiącu ARIMA wyprzedza go skutecznością w prognozowaniu, myląc się przy ostatnim miesiącu jedynie o niecałe dwie jednostki.

  1. Miary dokładności, które są różnego rodzaju wielkościami błędów.
Miary dokładności

Znajdziemy tutaj miary:

  • ME (mean error) – średni błąd przypadający na dany model. Jest suma różnic podzielonych przez liczbę prognozowanych obserwacji. Podstawowa miara do obliczania błędu na tych samych jednostkach.
  • RMSE (root mean squared error) – pierwiastek błędu średniokwadratowego powszechnie używana miara błędu zależna od skali, tym samym porównywać można wartości o tych samych jednostkach. W porównaniu do reszty miar ta narzuca karę na wartości wyjątkowo odległe od wartości rzeczywistych. Jest odpowiednia, gdy problemy związane ze zwiększającym się odchyleniem rosną wykładniczo (małe odchylenie – mały problem, duże odchylenie – bardzo duży problem).
  • MAE (mean abolute error) – średni błąd bezwzględny jest złożonych z tych samych komponentów co ME, jednak bierze sumę różnic jako wartość bezwzględną. Dzięki temu możemy stwierdzić, o ile rzeczywiście model się pomylił, a wartości odchyleń nie niwelują się ze sobą (w przypadku ME, gdy jedna prognozowana wartość uzyskuje wartość poniżej rzeczywistej, a druga powyżej, to odchylenia zachodzą na siebie i niwelują się).
  • MPE (mean percentage error) – bezwzględny błąd procentowy, miara nie obejmująca wartością bezwzględną różnicę sum, jednak odpowiednia do oceny szeregów czasowych o różnym zakresie jednostek.
  • MAPE (mean absolute percentage forecast error) – średni bezwzględny błąd procentowy, czyli miara bliźniacza do MAE, jednak obejmując zmianę w wartościach procentowych. Tym samym jest to miara odpowiednia do porównania szeregów czasowych o różnym zakresie jednostek.
  • MASE (mean absolute scale error) – średni bezwzględny skalowany błąd, jest to miara różniąca się nieco od innych. Metoda ta porównuje błąd otrzymany, z błędem metody naiwnej. Przyjmuje się, że jeżeli MASE < 1 to prognoza jest lepsza od tej z metody naiwnej, co jest oczywiście korzystne. Tak się dzieje w obu przypadkach na naszym przykładzie.

Oczywiście im mniejsza miara, tym lepiej dla modelu, w naszym przypadku miary wskazujące na przewagę modelu ARIMA to MAPE, MAE oraz MASE. Może to wskazywać na to, że wartość bezwzględna odgrywa tutaj kluczową role, a sama prognoza lepiej przewiduje w przypadku ARIMA. Dzieję się tak, ponieważ różnice dla poszczególnych wartości niwelują się wzajemnie, stąd lepsze, ale też mylące, wyniki dla ETS.

Wnioskiem jest zatem odpowiadania znajomość danych i dostosowanie miar do aktualnych potrzeb.

  1. Wizualizacja, na której widzimy wartości rzeczywiste oraz prognozowane.
wartości rzeczywiste oraz prognozowane time series

Podsumowanie

Przedstawiłem pokrótce teorię stojącą za algorytmem ARIMA wraz z przykładem i interpretacją wyników.  Znajomość samych składowych algorytmu jest konieczna do odpowiedniej interpretacji. Również właściwa znajomość samych danych i celów, do jakich się dąży. Pominięto całą kwestię odpowiedniej konfiguracji, ze względu na obszerność tego tematu. Nie mniej Alteryx oferuje nie tylko możliwość konfiguracji narzędzi w samym programie, ale również wykorzystując język R. Pozostawia to tym samym duże pole do popisu dla analityków i wskazuje na duże możliwości zastosowań, jakie otwiera Alteryx.

Zapraszamy do artykułów:

Fuzzy Matching w Alteryx

Alteryx Automation – procesy ze Standard Macro

Data Science w Alteryx

,

Przeczytaj inne
case studies.

Przeczytaj inne posty.

Zobacz inne
webinary.

No items found.