xgboost jako narzĘdzie prognozowania szeregÓw...

20
XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCH Filip Wójcik Objectivity Digital Transformation Specialists Doktorant na Uniwersytecie Ekonomicznym we Wrocławiu [email protected]

Upload: vuongkhanh

Post on 28-Feb-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

XGBOOST JAKO NARZĘDZIE

PROGNOZOWANIA

SZEREGÓW CZASOWYCH

Filip Wójcik

Objectivity Digital Transformation Specialists

Doktorant na Uniwersytecie Ekonomicznym we Wrocławiu

[email protected]

Page 2: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Czym jest xgbost?01

Rossmann - konkurs/legenda02

Prognozowanie – trudności w szkoleniu03

Przygotowanie danych04

Schemat treningowy05

Porównanie z innymi modelami06

Analiza wyników07

Inne zbiory danych08

Podsumowanie09

Agenda

Page 3: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Czym jest Xgboost?

• Przeznaczony głównie do

klasyfikacji i regresji

• Optymalizuje wiele różnych

funkcji scoringowych i błędu

• Obsługuje funkcje docelowe:

➢ Softmax

➢ Logit

➢ Liniowa

➢ Poissona

➢ Gamma

Algorytm klasyfikacyjno-regresyjny

• Bazowym estymatorem są

drzewa decyzyjne

• Algorytm złożony – ensemble

• Algorytm typu boosting –

zwiększenie wagi błędnych

przykładów

• Każde kolejne drzewo uczy się

na błędach poprzedniego

Oparty na drzewach

• Drzewa są zależne od siebie

• Zrównoleglenie następuje na

poziomie pojedynczego

drzewa – przy budowaniu

kolejnych węzłów

• XGBoost używa

skompresowanego formatu

danych, dzięki czemu

oszczędzana jest pamięć

Dobrze zrównoleglony

Page 4: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Czym jest Xgboost?

Źródło: http://xgboost.readthedocs.io/en/latest/model.html#tree-ensemble

𝑙 𝑥1, 𝑥2 − funkcja kosztu

𝑓𝑖 𝑥 − funkcja budująca i − te drzewo

Page 5: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Czym jest Xgboost?

Źródło: http://xgboost.readthedocs.io/en/latest/model.html#tree-ensemble

Page 6: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Rossmann – konkurs legenda

• Konkurs Kaggle.com z 2016r., w którym zadaniem było prognozowanie obrotu na

podstawie wartości historycznych i danych z makrootocznia sklepów

• Udział wzięły 3303 drużyny

• Znacząca większość kerneli implementowała algorytm Xgboost

• Metryka ewaluacyjna – RMSPE (and. Root mean squared percentage error)

RMSPE =1

𝑛

𝑖=1

𝑛𝑦𝑖 − ෝ𝑦𝑖𝑦𝑖

2

• Zwycięzca osiągnął wynik ok. 10% błędu

• Typowy problem prognozowania szeregów czasowych, a nie klasyfikacji czy regresji

Page 7: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Prognozowanie – trudności w szkoleniu• Dwa rodzaje zmiennych:

➢ Zmienne „statyczne” – opisujące mikrootocznie

sklepu

➢ Szeregi czasowe – wielkość sprzedaży i ilość klientów

• Problem szkolenia modelu dla szeregów czasowych:

➢ Standardowa walidacja krzyżowa nie zdaje egzaminu

➢ Losowy wybór obserwacji zaburza chronologię

➢ OOB error z tego samego powodu nie musi być najlepszym

estymatorem błędu rzeczywistego

• Duża wariancja predykcji i rozbieżność walidacji lokalnej i na

zbiorze walidacyjnym

• Konieczność zachowania zależności czasowych i nauczenia

modelu ich „rozumienia”

➢ Zależności sezonowe (trendy miesięczne i tygodniowe)

➢ Zależności autokorelacyjne

Page 8: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Przygotowanie danych

Wyznaczenie numerycznych zmiennych czasu:

• Numer dnia tygodnia

• Numer miesiąca

• Numer kwartału

Day: 19, month: 3, year: 2015, Q: 1 𝝁𝒒𝟐 = 𝟑𝟖𝟑𝟓, 𝝈𝒒𝟐 = 𝟏𝟖𝟎𝟓Wyznaczenie indeksów sezonowych:

• Średnie i odchylenia standardowe

• Wyliczane dla dni tygodnia /

kwartałów / miesięcy / półroczy /

weekendów

Wyznaczenie indeksów pomocniczych:

• Średnie ruchome różnych rzędów

• Liczone względem różnych okresów

(dni tygodnia/kwartałów/miesięcy)

Page 9: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Przygotowanie danych

Sklep Data Dzień tyg. Miesiąc Kwartał Typ sklepu Promocja Asortyment Sprzedaż 𝜇𝑠𝑝𝑟𝑧𝑒𝑑𝑎ż𝑑𝑧𝑖𝑒ń 𝑡𝑦𝑔.

𝜇𝑠𝑝𝑟𝑧𝑒𝑑𝑎ż𝑚𝑖𝑒𝑠𝑖ą𝑐

𝜇𝑠𝑝𝑟𝑧𝑒𝑑𝑎ż𝑘𝑤𝑎𝑟𝑡𝑎ł

1 10-01-2016 7 1 1 A TAK B 1536 954 1100 950

2 15-10-2016 6 10 4 C NIE A 764 1005 1256 1954

Znaczniki czasu Zmienne statyczne Indeksy sezonowey

Page 10: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Schemat treningowy

• Klasyczna walidacja krzyżowa nie sprawdziła się ze

względu na zmienność danych w czasie

• Zastosowano metodologię charakterystyczną dla

szkolenia modeli prognostycznych ARIMA, etc.

➢ Stopniowe przesuwanie okna prognozy i danych

treningowych

➢ Szkolenie modelu na coraz większym wolumenie

• Dodatkowo, XGBoost wewnętrznie wyliczał OOB-

score, oparty na próbkowaniu bootstrapowym

• Zbiór walidacyjny w konkursie obejmował dwa ostatnie

miesiące udostępnionego wolumenu

Źródło: https://robjhyndman.com/hyndsight/tscv/

Page 11: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

CEL BADAŃ I ICH ZAŁOŻENIA

Porównanie z innymi modelami

Analiza porównawcza modeli prognozowania wykorzystujących

zmienne egzogeniczne

Problem badawczy

• Porównanie w sposób systematyczny i dokładny prognoz modeli

„klasycznych” oraz XGBoost

• Czy zachodzi statystycznie istotna różnica pomiędzy trafnością

XGBoost a pozostałych modeli?

Porównanie trafności predykcji

• W przypadku modeli „klasycznych” – interpretacja parametrów

(średnich ruchomych, autokorelacji, różnicowania, etc.)

• W przypadku XGBoost – istotność atrybutów

Analiza istotności współczynników

Page 12: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Porównanie z innymi modelamiWYBÓR MODELI KLASYCZNYCH

Modele klasyczne

SARIMAX

Sezonowość

Średnie ruchome

Zmienne egzogeniczne

Postać parametryczna i

interpretowalność

HOLT-WINTERS

Sezonowość

Wygładzanie wykładnicze

XGBoost

?

?

?

Page 13: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Porównanie z innymi modelamiSCHEMAT TRENIGOWY MODELI

Jeden model per sklep

Dla każdego sklepu wyszkolono

osobny model

Automatyczny dobór

parametrów

Parametry dla modeli wybierane były w sposób

automatyczny, z użyciem funkcji

optymalizacyjnych

Interpolacja obserwacji

brakujących

W przypadku obserwacji brakujących – uzupełniono

je za pomocą interpolacji wielomianowej

Jeden model dla wszystkich sklepów

Badania eksperymentalne pokazały, że zmienne czasowe +

zmienne egzogeniczne zapewniają dostateczny poziom

generalizacji. Jeden model dla wszystkich sklepów jest

wystarczający

Drzewa regresji

Estymatorem były drzewa regresji liniowej, a funkcją błędu -

RMSPE

Walidacja szeregu czasowego

Model trenowano w oparciu o kroczącą walidację szeregu

czasowego + 1000 dodatkowych instancji wybranych w

każdej iteracji

MODELE KLASYCZNE XGBOOST

Page 14: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Analiza wynikówMetryka(mediana)

SARIMAX Holt-Winters XGBoost

Wsp.

Theila0.061 0.059 0.1364

Wsp. 𝑅2 0.838 0.54 0.92

RMSPE

(walidacja)0.17 0.18 0.13

RMSPE

(oficjalny)0.16 0.367 0.121

Modele

Różnica

średnich

RMSPE

Przedział

ufności od

Przedział

ufności doP-wartość

XGBoost -

SARIMAX-0.126 -0.141 -0.111 << 0.01

XGBoost - Holt-

Winters-0.218 -0.235 -0.200 << 0.01

Page 15: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Analiza wyników

0,00% 5,00% 10,00% 15,00% 20,00% 25,00% 30,00% 35,00%

CompetitionDistance

Promo

Store

meanSalesDow

CompetitionOpenSinceMonth

CompetitionOpenSinceYear

day

meanSalesMonth

Promo2SinceYear

Promo2SinceWeek

DayOfWeek

meanCustDow

month

StoreType

meanCustMonth

Promo2

Assortment

PromoInterval

year

meanSalesQ

meanCustQ

SchoolHoliday

quarter

Istotność atryubutów

Gain Cover Frequency

Page 16: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Analiza wyników

01XGBoost – lepsze wynikiWartości wszystkich metryk osiągają lepsze

wartości dla algorytmu XGBoost 04Istotność atrybutów – znaczniki czasuWśród pierwszych 15 najważniejszych atrybutów,

znalazły się znaczniki czasu – dzień, miesiąc, rok.

XGBoost był w stanie zidentyfikować wpływ

sezonowości

02Mniejsza wariancjaPredykcje algorytmu XGBoost są stabilniejsze

od pozostałych modeli – odznaczają się dużo

mniejsza wariancją

05Istotność atrybutów – indeksy sezonoweWśród pierwszych 15 najważniejszych atrybutów, znalazły

się indeksy sezonowe, takie jak średnia sprzedaż w dniu

tygodnia czy miesiącu

03Krótszy czas działaniaSzkolenie jednego modelu globalnie, dla

wszystkich sklepów, zajmuje znacznie mniej

czasu niż szkolenie 1115 modeli SARIMAX lub

Holta-WIntersa

06Istotność atrybutów – zmienne statyczneWśród pierwszych 15 najważniejszych atrybutów znalazły

się także zmienne statyczne – egzogeniczne – opisujące

charakterystykę sklepów

Page 17: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Inne zbiory danych

RMSE MAE RMSPE

XGB 0.146 0.123 1.321

ARIMA 0.330 0.206 2.654

RMSE MAE RMSPE

XGB 0.002 0.002 0.01

ARIMA 0.386 0.318 0.391

Page 18: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

PodsumowanieWstępne wyniki badań zdają się wskazywać, że XGBoost dobrze

sprawdza się, jako narzędzie prognozowania – zarówno w typowych

szeregach czasowych, jak i w przypadku danych o charakterze

mieszanym.

Na wszystkich testowanych zbiorach danych, predykcje XGBoost

odznaczają się niską wariancją i są stabilne.

Niska wariancja

Model jest w stanie rozpoznawać trendy i wahania sezonowe, a

istotność tych atrybutów potwierdza manualna analiza.

Identyfikacja trendów i sezonowości

Model potrafi jednocześnie obsługiwać zmienne o charakterze

indeksów czasowych oraz statycznych zmiennych egzogenicznych

Obsługa zmiennych statycznych

Page 19: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

Publikacje

Chen, T. i Guestrin, C. (2016) „XGBoost: A scalable tree boosting system”, w Proceedings of the 22nd ACM

SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD ’16. New York, USA:

ACM Press, s. 785–794

Ghosh, R. i Purkayastha, P. (2017) „Forecasting profitability in equity trades using random forest, support

vector machine and xgboost”, w 10th International Conference on Recent Trades in Engineering Science and

Management, s. 473–486.

Gumus, M. i Kiran, M. S. (2017) „Crude oil price forecasting using XGBoost”, w 2017 International

Conference on Computer Science and Engineering (UBMK). IEEE, s. 1100–1103.

Gurnani, M. i in. (2017) „Forecasting of sales by using fusion of machine learning techniques”, w 2017

International Conference on Data Management, Analytics and Innovation (ICDMAI). IEEE, s. 93–101

Page 20: XGBOOST JAKO NARZĘDZIE PROGNOZOWANIA SZEREGÓW CZASOWYCHmaddatascientist.eu/.../uploads/2018/06/xgboost_prognozowanie_pl-1.pdf · SZEREGÓW CZASOWYCH ... w którym zadaniem było

DZIĘKUJĘ ZA UWAGĘ