xgboost jako narzĘdzie prognozowania szeregÓw...
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/1.jpg)
XGBOOST JAKO NARZĘDZIE
PROGNOZOWANIA
SZEREGÓW CZASOWYCH
Filip Wójcik
Objectivity Digital Transformation Specialists
Doktorant na Uniwersytecie Ekonomicznym we Wrocławiu
![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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c77167109d3f2a94e8b6ada/html5/thumbnails/20.jpg)
DZIĘKUJĘ ZA UWAGĘ