• Rezultati Niso Bili Najdeni

Primerjava metode Gradient boosting in nevronskih mreˇz z Uberjevo arhitekturo za napovedovanje prodaje

N/A
N/A
Protected

Academic year: 2022

Share "Primerjava metode Gradient boosting in nevronskih mreˇz z Uberjevo arhitekturo za napovedovanje prodaje"

Copied!
75
0
0

Celotno besedilo

(1)

Univerza v Ljubljani

Fakulteta za raˇ cunalniˇ stvo in informatiko

Jan Debelak

Primerjava metode Gradient boosting in nevronskih mreˇ z z Uberjevo

arhitekturo za napovedovanje prodaje

DIPLOMSKO DELO

VISOKOˇSOLSKI STROKOVNI ˇSTUDIJSKI PROGRAM PRVE STOPNJE

RA ˇCUNALNIˇSTVO IN INFORMATIKA

Mentor : doc. dr. Martin Moˇ zina

Ljubljana, 2021

(2)

besedilo, slike, grafi in druge sestavine dela kot tudi rezultati diplomskega dela lahko prosto distribuirajo, reproducirajo, uporabljajo, priobˇcujejo javnosti in pre- delujejo, pod pogojem, da se jasno in vidno navede avtorja in naslov tega dela in da se v primeru spremembe, preoblikovanja ali uporabe tega dela v svojem delu, lahko distribuira predelava le pod licenco, ki je enaka tej. Podrobnosti licence so dostopne na spletni strani creativecommons.si ali na Inˇstitutu za intelektualno lastnino, Streliˇska 1, 1000 Ljubljana.

Izvorna koda diplomskega dela, njeni rezultati in v ta namen razvita program- ska oprema je ponujena pod licenco GNU General Public License, razliˇcica 3 (ali novejˇsa). To pomeni, da se lahko prosto distribuira in/ali predeluje pod njenimi pogoji. Podrobnosti licence so dostopne na spletni strani http://www.gnu.org/

licenses/.

Besedilo je oblikovano z urejevalnikom besedil LATEX.

(3)

Kandidat: Jan Debelak

Naslov: Primerjava metode Gradient boosting in nevronskih mreˇz z Uber- jevo arhitekturo za napovedovanje prodaje

Vrsta naloge: Diplomska naloga na univerzitetnem programu prve stopnje Raˇcunalniˇstvo in informatika

Mentor: doc .dr. Martin Moˇzina Somentor: doc. dr. Martin Moˇzina Opis:

ˇSe nedavno so se za napovedovanje prodaje uporabljale predvsem statistiˇcne metode, kot je npr. ARIMA, ki pa se v zadnjem ˇcasu nadomeˇsˇcajo z meto- dami iz strojnega uˇcenja. Izpostavimo lahko predvsem dve metodi, Gradient Boosting in rekurenˇcne nevronske mreˇze. Gradient Boosting je metoda, s katero tekmovalci na strani Kaggle redno dosegajo zelo dobre rezultate v na- logah, ki vkljuˇcujejo napovedovanje ˇcasovnih vrst. Nevronske mreˇze se sicer tam uporabljajo manj, vendar so za ta namen uporabljene v veˇcjih podjetjih, kot sta Uber in Amazon.

Kandidat naj preuˇci metodo Gradient Boosting (specifiˇcno Gradient Bo- osting Trees) in Uberjevo arhitekturo nevronskih mreˇz za napovedovanje ˇcasovnih vrst. Metode naj analizira, implementira in uporabi na Walmar- tovih prosto dostopnih podatkih, kjer napove prihodnjo prodajo artiklov.

Rezultate napovedi naj kvantitativno oceni glede na razliˇcne dimenzije, npr.

glede na stopnjo agregacije, glede na dolˇzino ˇcasovnega horizonta in tudi, kako ˇcasovno potratno je uˇcenje ene in druge metode. Na koncu naj poda razmislek, katero metodo priporoˇca.

Title: Comparison between Gradient Boosting and Neural Networks with Uber Architecture for Sales Forecasting

Description:

In recent years, many data scientists working on sales forecasting have shifted

(4)

Gradient Boosting trees) and recurrent neural networks. Gradient boosting was successfully used to win several Kaggle challenges, whereas neural ne- tworks were applied to sales forecasting by large companies, such as Uber and Amazon.

In this thesis, the candidate should study and describe Gradient Boosting and Uber architecture of neural networks. The candidate should then apply these methods to sales forecasting using the freely accessible data set provided by Walmart, and quantitatively compare them on different different levels of aggregation, different time horizons, and computational complexity. In the end, the candidate should conclude with a discussion how to select the most suitable methods for sales forecasting.

(5)

Za pomoˇc pri diplomski nalogi se zahvaljujem svojemu mentorju Martinu Moˇzini in svoji druˇzini.

(6)
(7)

Kazalo

Povzetek Abstract

1 Uvod 1

1.1 Ozadje . . . 1

1.2 Motivacija . . . 2

1.3 Prispevki . . . 2

1.4 Struktura . . . 3

2 Pregled podroˇcja 5 2.1 Sorodne naloge . . . 5

2.2 Razvoj napovedovanja prodaje . . . 5

3 Podatki 9 3.1 Struktura podatkov . . . 9

3.2 Pregled lastnosti . . . 12

4 Metode 17 4.1 Gradient boosting . . . 17

4.2 Nevronske mreˇze z dolgim kratkoroˇcnim spominom (LSTM) . 23 5 Eksperimentalna primerjava metod 37 5.1 Mere ocenjevanja . . . 37

5.2 Opis eksperimentov . . . 40

(8)

6 Zakljuˇcek 57

(9)

Seznam uporabljenih kratic

kratica angleˇsko slovensko

NN Neural network Nevronska mreˇza

LSTM Long short-term memory Dolgi kratkoroˇcni spomin ULSTM Uber long short-term memory

architecture

Uberjeva arhitekrura nevro- snkih mreˇz z kratkoroˇcnim spominom

RT Regresion tree Regresijsko drevo

GBRT Gradient boosting regresion tree

Gradient boosting z regresij- skimi drevesi

(10)
(11)

Povzetek

Naslov: Primerjava metode Gradient boosting in nevronskih mreˇz z Uber- jevo arhitekturo za napovedovanje prodaje

Avtor: Jan Debelak

Diplomska naloga govori o razlikah med metodo Gradient boostinga z regre- sijskimi drevesi (GBRT) in Uberjevimi nevronskimi mreˇzami pri napovedo- vanju prodaje.

Napovedovanje prodaje je pomembno zaradi vedno veˇcjega ˇstevila izdel- kov in omejenega prostora v skladiˇsˇcih. Obstaja ˇze dolga zgodovina napo- vedovanja prodaje, ki se razdeli na veˇc dob. Najnovejˇsa med njimi je doba napovedovanja s strojnim uˇcenjem, kamor spadata tudi obravnavani metodi diplomske naloge.

Metode so bile testirane na podatkih tekmovanja iz spletne strani Kaggle, kjer je bil cilj tekmovanja napovedati prodajo za 10 razliˇcnih Wallmartovih tr- govin za obdobje 28 dni.Na sploˇsno je bil bolj uspeˇsen model, ki je uporabljal metodo GBRT, ki se je izkazala bolje na volatilnem in stabilnem obdobju in napovedala bolje, kot Uberjeva arhitektura LSTM (ULSTM). ULSTM se je izkazala bolje v krajˇsih ˇcasovnih obdobjih in v enem, kljub sploˇsni prevladi metode GBRT napovedala bolje.

Pri veˇcjih naborih atributov se je metoda GBRT izkazala za veliko hitrejˇso od ULSTM, prav tako je bila velika razlila pri vplivu nakljuˇcnega semena na rezultate, kar se je izkazalo za veˇcji problem pri ULSTM. Rezultati testiranja so pokazali, da obstaja veliko razlogov zakaj je Gradient boosting veliko bolj uporabljen pri napovedovanju ˇcasovnih serij, kot LSTM.

(12)
(13)

Abstract

Title: Comparison between Gradient Boosting and Neural Networks with Uber Architecture for Sales Forecasting

Author: Jan Debelak

The diploma thesis talks about the differences between Gradient boosting with regression trees (GBRT) and Uber neural networks in sales forecasting.

Sales forecasting is important because of the ever-increasing number of products and limited space in warehouses. There is a long history of sales forecasts, which is divided into several periods. The latest among them is the period of forecasting through machine learning, which also includes the methods discussed methods.

The methods were tested on data from a competition on Kaggle, where the goal of the competition was to predict sales for 10 Wallmart stores for a period of 28 days. In general, the more a successful method was GBRT method, which overall predicted better than Uber’s LSTM architecture (UL- STM). ULSTM performed better in shorter time periods and in one, despite the general dominance of the GBRT method, predicted better.

For larger sets of attributes, the GBRT method proved to be much faster than ULSTM and there was also a large difference between the impact of ran- dom seed on the results, which proved to be a major problem with ULSTM.

Test results showed that there are many reasons why Gradient boosting is much more used in forecasting time series such as LSTM.

Keywords: LSTM, Gradient boosting,sales forecasting.

(14)
(15)

Poglavje 1 Uvod

1.1 Ozadje

V ˇcasu, ko imajo trgovine vedno veˇcje nabore razliˇcnih izdelkov in morajo imeti na zalogi vse veˇcje ˇstevilo izdelkov, je vedno bolj pomembno imeti dobro urejeno zalogo. Zaradi veˇcjega ˇstevila izdelkov, je vedno teˇzje skrbeti za logistiko in skrbeti, da imajo na zalogi izdelke, preden jih potrebujejo.

V primeru, da nekdo pride v trgovino in izdelka katerega iˇsˇce ni na zalogi, lahko s tem podjetje poslediˇcno izgubi nakup, kar pomeni, da podjetje izgubi stranko. Poslediˇcno lahko s konstantno in dosledno zalogo podjetje ohrani ali celo pridobi stranke. Poleg tega ima zaloga tudi velik vpliv na skladiˇsˇcenje. Z dobro napovedjo prodaje lahko uresniˇcimo, da je skladiˇsˇcni prostor ˇcim bolje izkoriˇsˇcen. Ker prostor v skladiˇsˇcih ni neomejen, je potrebno v ta namen ˇcim bolje predvideti, katere izdelke bomo potrebovali in v kakˇsnih koliˇcinah.

Eden najbolj pomembnih korakov pri optimizaciji logistike je toˇcna napoved prodaje za vsak artikel.

Za reˇsevanje teh problemov in napovedovanje prodaje lahko uporabimo veˇc razliˇcnih pristopov, ki se uporabljajo ˇze veˇc let, kot so: roˇcna analiza po- datkov ali napovedovanje z razliˇcnimi raˇcunalniˇskimi metodami. Vedno bolj aktualna, zaradi velikega napredka raˇcunalniˇstva in vedno veˇcje zmogljivosti raˇcunalnikov, postaja tretja moˇznost: strojno uˇcenje.

1

(16)

Strojno uˇcenje je vedno bolj uporabljen naˇcin napovedovanja in se je izkazalo za zelo natanˇcnega. V veˇcini primerov premaga pretekle pristope in je stalno v razvoju.

V ta namen si bomo ogledali dva najbolj uporabljeni metodi v strojnem uˇcenju: Gradient boosting regresijska drevesa (GBRT) in Uberjevo arhitek- turo nevronskih mreˇz, ter primerjali njuno delovanje in rezultate. Da bo primerjava ˇcim boljˇsa, sem uporabil podatke iz Kaggle tekmovanja, na kate- rem so napovedovali prodajo Wallmartovih trgovin.

1.2 Motivacija

Glavna motivacija diplomske naloge je olajˇsati nadaljnje delo in odloˇcitev vsem, ki bi ˇzeleli napovedovati prodajo ali podobne lastnosti glede na pre- tekle podatke. Zmagovalec Kaggle tekmovanja je uporabil metodo Gradient boostinga z regresijskimi drevesi. To metodo je prav tako uporabilo tudi se- dem izmed prvih desetih udeleˇzencev tekmovanja. Namen je predstaviti ali je res razlog, da je Gradient boosting tako uporabljen pristop in ali bi bila boljˇsa za uporabo dosti manj uporabljena Uberjeva arhitektura LSTM (ULSTM).

Diplomska naloga bo predstavila oba pristopa ter primerjala njune razlike, lastnosti in primere, v katerih najbolje delujeta. S tem pa si bodo lahko vsi, ki ne bodo prepriˇcani, kateri pristop uporabiti, malce olajˇsali izbiro.

1.3 Prispevki

Cilj diplomske naloge je primerjava Gradient boostinga z regresijskimi drevesi in ULSTM za napovedovanje prodaje, glede na pretekle podatke in lastnosti, ter s tem olajˇsati morebitne odloˇcitve vseh, ki bi ˇzeleli implementirati model za napovedovanje. Predstavljeno bo, kaj so lastnosti obeh modelov in kaj lahko priˇcakujejo, ˇce bi ˇzeleli implementirati podoben model.

(17)

Diplomska naloga 3

1.4 Struktura

Diplomska naloge je sestavljena iz ˇsestih glavnih poglavij. Namen drugega poglavja je predstavitev podroˇcja, ter predstavitev zgodovine razvoja napo- vedovanje prodaje. Tretje poglavje predstavlja podatke, ki so bili podani, ter nato uporabljeni pri nalogi. ˇCetrto poglavje je pregled uporabljenih metod in opis njihovih lastnosti. V petem poglavju je predstavitev ugotovitev pri- merjav med modeloma. Zadnje, ˇsesto poglavje vsebuje zakljuˇcek in povzetek ugotovitev, ter mnenje o obeh modelih.

(18)
(19)

Poglavje 2

Pregled podroˇ cja

2.1 Sorodne naloge

Na podobno temo je napisanih kar nekaj diplomskih in magistrskih nalog.

Ena izmed njih, katero je predlagal tudi mentor, je magistrska naloga Nika Pirnovara [1], ki podrobno opisuje lastnosti in delovanje LSTM modela in ka- terega naloga mi je pomagala pri boljˇsem razumevanju LSTM, ter omogoˇcila boljˇso izbiro hiperparametrov. ˇSe ena naloga, ki je sorodna moji, je naloga Teje Roˇstan[2], katera govori v podrobnosti o Gradient boostingu in njegovi uporabi.

2.2 Razvoj napovedovanja prodaje

Za razumevanje, zakaj je strojno uˇcenje dobro za napovedovanje prodaje, je dobro, da si ogledamo, kako so napovedali, preden je obstajalo strojno uˇcenje. Napovedovanje prodaje ima dolgo zgodovino. Deli se na nekaj glav- nih obdobij:

Obdobje naivnega napovedovanja

Kot je razvidno iz 2.1 je prvo obdobje in zaˇcetek napovedovanja, naivno napovedovanje. Zgodnji naˇcini napovedovanja niso vkljuˇcevali nobenih po-

5

(20)

Slika 2.1: Evolucija napovedovanja prodaje skozi ˇcas [3].

sebnih metod, ampak so bili povsem reaktivni in sklepali, da kar se je zgodilo v prejˇsnjem obdobju se bo ponovilo v naslednjem. Primer tega bi bil, da je bilo prejˇsnji teden v petek prodanih veliko izdelkov in zato priˇcakujemo, da se bo enako zgodilo tudi ta petek.

Napovedovanje s statistiˇcnimi metodami

Obdobju naivnega napovedovanja je sledilo obdobje napovedovanje s stati- stiˇcnimi metodami, kar je pomenilo velik napredek. Preteklo ˇcasovno obdo- bje se je lahko uporabilo za idelavo grafov, ki so predstavljali prodajo. Napo-

(21)

Diplomska naloga 7 vedovalo je prihodno prodajo, tako da je enostavno vzelo obnaˇsanje preteklih obdobij in enostavno dodalo ali vzelo nekaj odstotkov pretekli ˇstevilki. Med te metode ˇstejemo: ARIMA [4], Holt-Winters napovedovanje [5] in ˇse mnogo drugih.

Planiranje povpraˇsevanja

Naslednji velik napredek v napovedovanju je priˇsel s planirajnjem povpraˇsevanja (ang. Demand planning)[6], ki je uporabljalo ˇcasovne dobe skozi zgodovin- sko povpreˇsevanje in ustvarjalo premikajoˇca povpreˇcja in trende. Zaˇcelo se je upoˇstevati tudi datum in obdobje podatkov. Problem tega naˇcina je bila uporaba od zgoraj navzdol (ang. Top down) pristopa. Ta naˇcin je najprej napovedal prodajo za celotni nabor podatkov, nato pa je napoved razdelil na razliˇcne dele, npr. po trgovinah, po tipu izdelka. To je pomenilo, da so bile sploˇsne napovedi dobre, izgubile pa so se podrobnosti, kot so, kateri izdelek naj se kupuje, za katere poslovalnice se kupijo in podobno. To je povzroˇcilo, da so bile niˇzje agregacije nenataˇcne. Primeri planiranja povpraˇsevanja so:

drseˇce povpreˇcje (ang. mowing avarage), linearna regresija [7] in ˇcasovni trendi.

Modeliranje povpraˇsevanja

Po planiranju povpreˇsevanja je nastalo in se razvilo modeliranje povpreˇsevanja.

Za razliko od preteklih pristopov deluje od spodaj navzgor. Ustvari model povpraˇsevanja, ki prepozna unikatne dnevne vzorce za vsako kombinacijo lastnosti. Tako razbije tok povpraˇsevanja v serijo komponent z notranjimi in zunanjimi faktorji ter oceni, kako kakˇsen faktor vpliva na povpraˇsevanje.

Med te faktorje lahko spadajo razliˇcne stvari, kot so datum, dnevna pro- daja, dan v tednu, vreme,... Ta naˇcin moˇcno izboljˇsa natanˇcnost napovedi in zmanjˇsa potrebno delo. Ta pristop je pomemben, ker velik del odstopa- nja prodaje pride iz majhnih podrobnosti iz katerih lahko nato prestopimo na veˇcje podatke. Primeri tega so: Three Statement Model, model seˇstevka delov [8], Merger Model (MA) ali MedPro model, ki se uporablja za napoved

(22)

porabe energije [9], ter ˇse mnogo drugih.

Strojno uˇcenje

Najnovejˇsi napredek v napovedovanju prodaje je strojno uˇcenje (ang. Ma- chine leaning), ki ujame in modelira kompleksne vzore v prodaji in s tem omogoˇca napovedovalcem, da konstantno izboljˇsujejo napoved. Ta tehnolo- gija odkrije skrite vzorce in trende, ki so drugaˇce zelo teˇzki ali zelo ˇcasovno potratni za odkrivanje s preteklimi pristopi. Rezultati se uporabljajo na prihodnje analize in s tem naredijo sistem pametnejˇsi in bolj sposoben za napovedovanje. Med te spada velik nabor modelov, kot so k-najbliˇzjih sose- dov[10], nakljuˇcni gozd (ang. random forest) [11] in tudi modela, ki ju bomo obravnavali: LSTM in Gradient boosting z regresijskimi drevesi.

(23)

Poglavje 3 Podatki

3.1 Struktura podatkov

Nabor podatkov zajema prodajo desetih Wallmartovih trgovin v obdobju od 29.1.2011 do 21.5.2016. Podatki zajemajo 10 trgovin iz treh zvezdnih drˇzav in so razdeljeni na 3 glavne kategorije (hrana, hiˇsa in hobiji) in 7 podkategorij. Vseh 10 trgovin vkljuˇcuje podatke za 3049 enakih izdelkov, ki se nato razdelijo na 30490 vrstic v tabeli, ker imajo izdelki med trgovinami razliˇcne cene in lastnosti. Razporeditev je prikazana na sliki 3.1 .

Zdaj, ko vemo katere podatke imamo, si bomo ogledali, kako so ti podatki porazdeljeni. V okviru tekmovanja so bile vkljuˇcene 3 datoteke, po katerih so porazdeljeni podatki. Prva datoteka, ki vsebuje informacije o posameznih datumih, je callendar.csv. Za boljˇsi pregled podatkov si bomo ogledali ˇse katere stolpce vsebuje in kaj nam le-ti povedo.

Datoteka 1: “calendar.csv”

• date: Datum v “y-m-d” formatu.

• wm-yr-wk: Id tedna kateremu pripada datum.

• weekday: Dan v tednu (imensko).

• wday: Id dneva v tednu (vrednosti se zaˇcnejo z soboto).

9

(24)

Slika 3.1: Hierarhiˇcna razdelitev podatkov[12].

• month: Mesec datuma.

• year: Leto datuma.

• event-name-1: V primeru, da datum vsebuje dogodek tukaj piˇse ime dogodka

• event-type-1: : V primeru, da datum vsebuje dogodek je tukaj podan tip dogodka (verski, ˇsportni, kulturni ali drˇzavni).

• vent-name-2: V primeru, da dan vsebuje ˇse en dogodek, ime dogodka.

• event-type-2: V primeru, da dan vsebuje ˇse en dogodek, tip tega do- godka.

(25)

Diplomska naloga 11

• snap-CA, snap-TX, and snap-WI: Binarna vrednost od 0 do 1 in pred- stavlja ali na podani dan podana trgovina omogoˇca SNAP nakupe.

1 pomeni, da so nakupi omogoˇceni, 0 pa da niso. SNAP je drˇzavni program, ki omogoˇca pomoˇc pri nakupu prehrane ljudem z nizkim do- hodkom (bolj znano, kot food stamp program).

Naslednja datoteka vsebuje datuma in takratne cene izdelkov. Ta dato- teka vsebuje cene izdelkov, te pa tekom obdobja ne ostajajo enake, ampak se spreminjajo. Prav tako so razlike v ceni enakih izdelkov v razliˇcnih trgovinah.

Datoteka 2: “sell-prices.csv”

• store-id: Id trgovine kjer se izdelek prodaja.

• item-id: Id izdelka,

• wm-yr-wk: ˇStevilski id tedna prodaje.

• sell-price: Cena izdelka za podani teden in trgovino. Cena je podana kot povpreˇcje cene sedmih dni. V primeru, da cene ni pomeni, da se v tistem tednu izdelek ni prodajal.

Na koncu je ˇse glavna datoteka, kjer so podatki o prodaji vseh posameznih izdelkov za vsak dan v casovnem obdobju. Datoteka 3: “sales-train.csv”

• item-id: Id izdelka, ki je sestavljen iz stevilke, trgovine prodaje in od- delka iz katerega je izdelek.

• dept-id: Id oddelka, pod katerega spada izdelek.

• cat-id: Id kategorije izdelka.

• store-id: Id trgovine, kjer se izdelek prodaja.

• state-id: Id zvezdne drˇzave, kjer se nahaja trgovina

• d-1, d-2, . . . , d-i, . . . d-1941: ˇStevilo prodanih izdelkov za posamezni dan, vrednosti dni se zaˇcnejo z 29.1.2011.

(26)

3.2 Pregled lastnosti

Za boljˇse razumevanje problema in rezultatov je pomembno tudi poznava- nje porazdelitve razliˇcnih spremenljivk. V ta namen si bomo ogledali nekaj lastnosti podatkov. Prva lastnost, ki si jo bomo ogledali, so kategorije. Ka- tegorije se delijo, kot smo omenili, na 3 razliˇcne: prehrana, hiˇsni izdelki in hobi izdelki. Porazdelitev znotraj kategorij ni enakovredna. Hrana je veliko bolj prodajana kot hobiji in hiˇsni izdelki, prav tako pa ima veliko manjˇsa nihanja med dnevi. Vsaka kategorija tudi nima enakovredno ˇstevilo izdel- kov. Hobi izdelki vsebujejo 565 izdelkov, prehrana 1438 in hiˇsni izdelki 1046, porazdelitev izdelkov pa je razvidna iz spodnje slike 3.2 .

Slika 3.2: Porazdelitev izdelkov po kategorijah.

Prav tako so velike razlike v prodaji. Prodaja skozi ˇcas ni konstantna in prihaja do velikih nihanj pri prodaji. Prav tako so velike razlike med posameznimi trgovinami, tako v koliˇcini prodanih izdelkov kot v nihanjih skozi ˇcas. Nekatere trgovine imajo konstantno rast skozi ˇcas (CA-1, CA- 3. CA-4) s samo opaznimi nihanji med letnimi ˇcasi, nekatere pa imajo zelo velike padce in vzpone (CA-2, WI-1). To pomeni, da ni nujno, da vzorec

(27)

Diplomska naloga 13 prodaje ene trgovine ne velja za drugo trgovino, kar je razvidno iz slike 3.3 .

Slika 3.3: Prodaja skozi ˇcas v razliˇcnih trgovinah.

Prodaja skozi teden tudi ni enaka, ampak so velika nihanja med dnevi v tednu. Med tednom je najmanj prodaje. Prodaja nato konstanto raste do nedelje, ter nato moˇcno pade in pride do najmanjˇse v sredini tedna. Ra- zlogov za to je veˇc. Glavni razlog je zagotovo razpoloˇzljiv ˇcas za nakupe, katerega je konec tedna zagotovo veˇc. ˇSe ena ˇcasovna lastnost, ki si jo bomo ogledali je doloˇcitev, ali je dan praznik (ali dogodek) ali ne. Pomembno je omeniti, da podatki ˇstejejo praznike in dogodke v skupni stolpec. Pribliˇzno 8 odstotkov dni vsebuje neke vrste praznik ali dogodek. Podatki vkljuˇcujejo veliko praznikov, ki se delijo na 4 dele: verske, drˇzavne, kulturne in ˇsportne.

Med verske spadajo prazniki, kot so pravoslavna velika noˇc, med drˇzavne dan neodvisnosti (4. julij), kulturne materinski dan in med ˇsportne SuperBowl.

Kot vidimo iz 3.4 je najveˇc verskih dogodkov, tem sledijo drˇzavni, nato kulturni in zadnji so ˇsportni dogodki. Poznavanje, kdaj in kateri dogodek je, se je izkazalo za zelo pomembno. Pred velikim delom praznikov prodaja moˇcno naraste in pade na dan praznika. Dan po prazniku prodaja naraste.

Dober primer tega je Boˇziˇc. Dneve pred boˇziˇcem je prodaja poveˇcana, nato

(28)

Slika 3.4: Porazdelitev praznikov glede na tip.

pa pade na 0, kar je razvidno is 3.5. Boˇzic je edini dan v letu, ko so Wall- martove trgovine zaprte. Pomembna so tudi obdobja v letu, naprimer hiˇsni izdelki in hobi izdelki se malo prodajajo v zimskem ˇcasu.

Slika 3.5: Nihanje prodaje skozi leto.

Zdaj vemo, da obstaja veliko lastnosti, ki vplivajo na prodajo. Moramo se zavedati, da poleg lastnosti, ki smo si jih ogledali, obstaja ˇse mnogo drugih, ki so hitro razvidne ali pa tudi ne. V ta namen se ˇse posebej vidi uporabnost

(29)

Diplomska naloga 15 strojnega uˇcenja, ki skozi ˇcas prepozna pomembnost doloˇcenih lastnosti in jim namesto nas doloˇci vrednost uteˇzi, ter s tem zagotovi boljˇso napoved prodaje.

(30)
(31)

Poglavje 4 Metode

4.1 Gradient boosting

4.1.1 Sploˇ sno

Prva od metod, ki si jih bomo ogledali je, metoda GB. Metoda GB je tehnika strojnega uˇcenja, ki se uporablja za regresijo, klasifikacijo in druge naloge.

Prvi jo je predlagal Leo Breiman v ˇclanku Stochastic gradient boosting [13].Je ena izmed najbolj popularnih metod za reˇsevanje nalog iz strojnega uˇcenja in se v velikem naboru primerov obnese bolje, kot drugi pristopi. Dokaz tega je, da je vkljuˇcena v velikem delu zmagovalnih kod na spletni strani Kaggle.

Pomemben del metode GBRT je, kot bi si mislili, boosting del. Ideja boostinga je priˇsla iz vpraˇsanja ali se lahko slabega uˇcenca spremeni, da postane boljˇsi. Kot slab uˇcenec je definiran nekdo, katerega uspeˇsnost je vsaj malo boljˇsa od nakljuˇcne vrednosti. Boosting je tehnika zaporednega sestavljanja, kjer se primerom, ki so teˇzki za klasificirati, da veˇcje uteˇzi.

Obstaja pa veˇc naˇcinov boostinga, ki delujejo na razliˇcne naˇcine in imajo razliˇcne prednosti. GBRT (Gradient Boosting Regresion Tree) je metoda Gradien boosting-a, ki uporablja regresijska drevesa in na kateri temelji mo- del. Deluje tako, da pregleda vse primere (ang. instance) podatkov in oceni vrednost pridobljenih informacij za vse moˇzne porazdelitve. Do problemov

17

(32)

pride, ko je podatkov veliko in so dimenzije lastnosti veˇcje. V takih primerih ima model veliko podatkov skozi katere mora priti, kar poslediˇcno zavzame veliko ˇcasa. Kljub temu razlogu je ˇse vedno privzeta moˇznost in je v praksi najbolj varen, kljub poˇcasnosti pa ima tudi najmanˇsa odstopanja. GOSS (Gradient-based One-Side Sampling) je hitrejˇsa implementacija GBRT, kjer se ne uporabijo vsi podatki za ocene vrednosti informacij, vendar se uporabi samo manjˇsa mnoˇzica. Lahko je zelo natanˇcna pri manjˇsih naborih podat- kov in hitrejˇsa, kot GBRT, vendar lahko pride do velikih odstopanj pri veˇcjih naborih podatkov. EFB (Exclusive Feature Bundling) je ˇse ena implementa- cija GBRT, ki poskuˇsa zmanjˇsati ˇstevilo lastnosti z grupiranjem medsebojno izkljuˇcujoˇcih lastnosti in jih obravnavati, kot eno samo lastnost.

4.1.2 Delovanje

Metoda GBRT je sestavljena iz 3 glavnih elementov: funkcije napake, ki se jo optimizira, ˇsibkega uˇcenca za napovedovanje in dodajnega modela za dodajanje ˇsibkih uˇcencev in s tem minimiziranje funkcije napake.

Funkcija napake

Prvi sestavni del del je funkcija napake. Izbira funkcije je odvisna od pro- blema, katerega se ˇzeli reˇsevati. Ideja funkcije napake je, da hoˇcemo imeti nek kriterij, po katerem bomo lahko ocenjevali uspeˇsnost. Podprtih je velik nabor funkcij, lahko pa definiramo tudi svojo. Edini pogoj pri izbiri funkcije je, da je odvedljiva. Za regresijo lahko uporabimo kvadratno napako in lo- garitemsko napako za klasifikacijo. Za izbiro funkcije je moˇznih velik nabor razliˇcnih funkcij, kot so RMSE, MEA, MSE in ˇse mnoge druge.

ˇSibki uˇcenec

Izraz ˇsibki uˇcenec se nanaˇsa na enostavni model, ki vrne rezultate, ki so samo malo boljˇsi od nakljuˇcnih vrednosti. Proces uˇcenja se zaˇcne z enim ˇsibkim uˇcencem in se nadaljuje po naslednjem vzorcu:

(33)

Diplomska naloga 19 1. Treniraj ˇsibkega uˇcenca.

2. Ugotovi, katere primere je napovedal narobe in za koliko.

3. Izgradi novega ˇsibkega uˇceneca, ki se osredotoˇca na podroˇcja, ki jih je predhodni uˇcenec napovedal napaˇcno

4. Ponavljaj postopek, dokler ne pride do v naprej pripravljenega pogoja.

Te pogoji lahko vkljuˇcujejo kriterije, kot so ustvarjeno ˇstevilo ˇsibkih uˇcencev ali pa je uspeˇsnost modela priˇsla do toˇcke, kjer se ne izboljˇsuje.

Na tak naˇcin je vsak ˇsibki uˇcenec posebno prirejen, da se osredotoˇci na ˇsibke toˇcke prejˇsnih ˇsibkih modelov. Veˇckrat, kot je napoved napaˇcna, veˇcja je moˇznost, da bo naslednji uˇcenec napovedal pravilno. Tako deluje veˇc ˇsibkih uˇcencev skupaj, da ustvarijo enega moˇcnega uˇcenca.

Dodajni model

Dodajni model je model, v katerega lahko dodajamo drevesa enega po enega, brez da bi ta vplivala na ˇze dodana drevesa. Pri vsakem dodajanju drevesa uporabimo Gradienti sestop proceduro za minimiziranje napake. Gradienti sestop se uporabi za minimizacijo nabora parametrov, kot so koeficenti v regresijski enaˇcbi ali uteˇzi v nevronski mreˇzi. Po izraˇcunu napake ali izgube se posodobijo uteˇzi z ciljem zmanjˇsevanja napake ali izgube. Po izraˇcunu napake je potrebno v model dodati drevo, ki zmanjˇsa napako, nato pa ponovno poˇzenemo Gradienti sestop. Fiksno ˇstevilo dreves se doda ali pa se testiranje zakljuˇci, ko vrednost napake pride do sprejemljive stopnje ali pa se vrednost preneha izboljˇsevati. Z namenom, da se izboljˇsa konˇcni rezultat modela, se izhod novega drevesa doda izhodu preteklih dreves

4.1.3 Izboljˇ save delovanja

GBRT je pohlepena metoda in lahko hitro pride do prevelikega prileganja (ang. overfitanja) podatkov. Problem prevelikega prileganja se ne more ˇcisto odpraviti, lahko pa se zelo zmanjˇsa moˇznost, da se zgodi. To lahko doseˇzemo

(34)

z uporabo razliˇcnih metod, ki kaznujejo razne dele algoritma, pri katerih bi lahko priˇslo do prevelikega prileganja. Obstajajo 4 glavni naˇcini za iz- boljˇsanje delovanja metode GBRT: omejitve dreves, zmanjˇsevanje, nakljuˇcne podmoˇzice in kaznovano uˇcenje.

Omejitve dreves

Prva izboljˇsava, ki si jo bomo ogledali, so omejitve dreves. Ideja te izboljˇsave je, da imajo ˇsibki uˇcenci ˇcim veˇc znanja, ampak ˇse vedno ostanejo ˇsibki. To lahko doseˇzemo s postavitvijo omejitev na drevesa. Sploˇsno velja, da bolj, kot omejimo drevesa, veˇc dreves bomo potrebovali. Velja pa tudi obratno, manj kot imamo omejena drevesa, manj jih bomo potrebovali. Zato potrebujemo doˇciti nekakˇsno razmerje med ˇcasom izvajanja in omejitvijo dreves.

Obstaja veˇc razliˇcnih omejitev, katere lahko dodamo odloˇcitvenim dreve- som:

• ˇStevilo dreves: dodajanje dreves modelu moˇcno podaljˇsa ˇcas kadar pride do prevelikega prileganja. Priporoˇcilo je, da se drevesa dodaja, dokler je opazna izboljˇsava.

• Globina dreves: bolj globoka drevesa so tudi bolj kompleksna, zato so zaˇzelena niˇzja drevesa. Naˇceloma so najboljˇsi rezultati pri drevesih z globino med 4 in 8.

• ˇStevilo vozliˇsˇc ali ˇstevilo listov: podobno kot globina lahko omejijo velikost drevesa. Razlika je v tem, da rezultat ni nujno simetriˇcna struktura.

• Minimalna izboljˇsava napake: je omejitev, ki doloˇci za koliko se more model izboljˇsati iz enega cikla v drugega, v nasprotnem primeru se uˇcenje zakljuˇci.

(35)

Diplomska naloga 21 Uteˇzene posodobitve

Prispevek posameznega drevesa skupni vrednosti se lahko uteˇzi in s tem upoˇcasni uˇcenje algoritma. Temu uteˇzenju se reˇce krˇcenje (ang. shrinkage) ali stopnja uˇcenja. To je pomembno, ker lahko z nizko stopnjo uˇcenja prepreˇcimo ali zelo zmanjˇsamo moˇznosti, da pride do prevelikega prileganja. Poslediˇcno se zgodi, da je uˇcenje upoˇcasnjeno in potrebujemo dodati veˇc dreves modelu.

S tem se podaljˇsa tudi ˇcas uˇcenja. Tako pridemo do nekakˇsne izmenjave med ˇstevilom dreves in uˇcno stopnjo.

Stochastic Gradient Boosting

ˇSe ena izmed najbolj uporabljenih izboljˇsav GBRT je Stochastic Gradient boosting. Deluje tako, da se drevesa gradijo iz podmnoˇzic uˇcnega nabora podatkov namesto celotne mnoˇzice. Hkrati tudi zmanjˇsa korelacijo med dre- vesi v zaporedju in modeli GBRT. S tem se moˇcno zmanjˇsa moˇznost preveli- kega prileganja modela. Obstaja nekaj pogosto uporabljenih vrst Stochastic Gradient Boostinga, kot so podmnoˇzica vrstic, pred vsako izgradnjo drevesa, podmnoˇzica stolpcev pred vsako izgradnjo drevesa in podmnoˇzica stolpcev pred upoˇstevanjem razcepitve.

4.1.4 Primeri uporabe

Metoda GBRT ima zelo razˇsirjeno uporabo. Iskalnika Yahoo in Yandex upo- rabljata izpeljavo metode GBRT pri uˇcenju strojnih modelov za vrstni red prikazov rezultatov pri iskanju [14]. Prav tako se ga uporablja v visoko ener- gijski fiziki za analizo podatkov. Na velikem hadronskem trkalniku (LHC) so bile izpeljave GBRT uspeˇsne pri reprodukciji rezultatov analiz, ki so bili uporabljeni za odkrivanje Higgsovega bozona [15]. Prav tako je eden najbolj priljubljenih algoritmov na spletni strani Kaggle.

(36)

4.1.5 Prednosti in slabosti

Metoda GBRT se je, od kar se uporablja, izkazala za zelo zanesljivo metodo, ki vraˇca dobre rezultate. V primerjavi s podobnimi algoritmi se je tudi izkazal kot zelo hitrega. Velika prednost je tudi zmoˇznost dela z velikimi nabori podatkov in majhna poraba raˇcunalniˇskega spomina. Ima pa tudi nekaj slabosti, kot so neprimernost za majhne nabore podatkov in veliko ˇstevilo parametrov, katerih nastavitve so pomembne pri pridobivanju dobrega rezultata.

4.1.6 Knjiˇ znica

Za implementacijo GBRT v Python-u obstaja veˇc knjiˇznic, ki imajo razliˇcne prednosti in slabosti. Med najbolj znanimi so Scikit-Learn, XGBoost, Li- ghtGBM in CatBoost. Raziskava primerjave uspeˇsnosti med njimi [[16]] je pokazala da se LightGBM knjiˇznica najhitrejˇsa za implementacijo in izvaja- nje, ter v povpreˇcju vrne boljˇse rezultate, kot preostale. Je odprto kodna implementacija stochastic gradient boosting algoritma in tako vsebuje ˇze eno izmed omenjenih izboljˇsav GBRT. Prav tako je najbolj popularnih in uporabljenij knjiˇznic na Kaggle tekmovanjih[17] in je bila uproabljena pri zmagovalni reˇsitvi ter v sedmih od prvih desetih reˇsitvah.

4.1.7 Parametri

Parametri so bili pridobljeni iz zmagovalne reˇsitve Kaggle tekmovanja, kjer je bil prav tako uporabljen LighGBM. Podrobneje pa so bomo ogledali nekaj glavnih parametrov 4.1.

4.1.8 Uporabljeni atributi

Zdaj, ko smo si ogledali parametre modela si bomo ogledali ˇse atribute, ki jih model uporabi pri uˇcenju. Vsak uˇcni primer (vrstica) predstavlja prodajo enega izdelka za en dan. Vse atribute lahko vidimi v tabeli 4.2.

(37)

Diplomska naloga 23

Parameter Opis Vrednost

”boosting type” Tip boostinga , ki se uporabi pri uˇcenju

in napovedovanju ’GBRT’

’objective’ Doloˇci nalogo za uˇcenje in pripadajoˇci cilj uˇcenja. ’tweedie’

’metric’ Kriterij po katerem se ocenjuje uspeˇsnost iteracije. ’rmse’

’learning rate’ Stopnja uˇcenja, manjˇse vrednosti prepreˇcujejo

nevarnost prevelikega prileganja. 0.015

’num leaves’ Omejitev ˇstevila listov v drevesu. 2**11-1

’feature fraction’ nevarnost prevelikega prileganja 0.5

’max bin’

V primeru, da je vrednost manjˇsa od 1 npr. 0.5, to pomeni,da LightGBM izbere 50% znaˇcilnosti (stolpcev) preden zaˇcne uˇciti posamezno drevo in ne vseh.

100

’n estimators’ ˇStevilo iteracij boostinga 3000

Tabela 4.1: GBRT parametri.

4.2 Nevronske mreˇ ze z dolgim kratkoroˇ cnim spominom (LSTM)

4.2.1 Sploˇ sno

Zdaj, ko smo si ogledali GBRT metodo, si bomo ogledali ˇse drugo od upo- rabljenih metod, LSTM. Nevronske mreˇze z dolgim kratkoroˇcnim spominom oz. kratko LSTM (ang. Long short term memory), so posebna vrsta re- kurzivnih nevronskih mreˇz (RNN) [18] , ki so sposobna uˇcenja dolgoroˇcnih odvisnosti. Idejo LSTM sta leta 1997 predstavila Sepp Hochreiter in J¨urgen Schmidhuber v ˇclanku Long Short-Term Memory [19], ideja pa je bila nato ˇse izpopolnjena in populizirana v delih razliˇcnih avtorjev. Ugotovili so, da delu- jejo na ˇsirokem naboru problemov in sedaj je njihova uporaba zelo razˇsirjena.

LSTM-ji so eksplicitno narejeni, da se izognejo problemu dolgoroˇcne odvisno- sti. Uˇcenje informacij za dolgo obdobja je nekaj, za kar so bila narejena in

(38)

Ime lasnosti Opis parametra

Item id Unikatna identifikacija izdelka Dept id Unikatna identifikacija odelka

State id Unikatna identifikacija zvezne drˇzave Cat id Unikatna identifikacija kategorije Sell price Prodajna cena izdelka na podani dan

Price min Minimalna prodajna cena do takratnega dni Price max Maksimalna prodajna cena do takratnega dni Price mean Povpreˇcna cena izdelka v celotnem ˇcasu Price norm Norm cena izdelka v celotnem ˇcasu Price momentum Hitrost naraˇsˇcanja cena v celotnem ˇcasu

Date Datum

Day Dan v mesecu

WeekDay ˇStevilsk dan v tednu, vrednost 1 je sobota month ˇStevilski mesec

Year ˇStevilska vrednost leta

Snap CA Ali trgovine v Kaliforniji sprejemajo Snap znamke Snap TX Ali trgovine v Teksasu sprejemajo Snap znamke Snap WI Ali trgovine v Wisconsinu sprejemajo Snap znamke event name 1 Ime prvega dogodka

event type 1 Tip prvega dogodka event name 2 Ime drugega dogodka event type 2 Tip drugega dogodka

rolling mean 7 Povpreˇcna prodaja izdelka zadnjih 7 dni rolling mean 14 Povpreˇcna prodaja izdelka zadnjih 14 dni rolling mean 28 Povpreˇcna prodaja izdelka zadnjih 28 dni rolling mean 56 Povpreˇcna prodaja izdelka zadnjih 56 dni Rolling std 7 Premikanje standarnega odklona zadnjih 7 dni Rolling std 14 Premikanje standarnega odklona zadnjih 14 dni Rolling std 28 Premikanje standarnega odklona zadnjih 28 dni Rolling std 56 Premikanje standarnega odklona zadnjih 56 dni Lag1 Prodaja izdelka prejˇsnjega dneva

Lag7 Prodaja izdelka 7 dni nazaj Lag14 Prodaja izdelka 14 dni nazaj Lag28 Prodaja izdelka 28 dni nazaj

Tabela 4.2: GBRT uporabljeni atributi.

(39)

Diplomska naloga 25 pri tem nimajo problemov. Vsa rekurzivna nevronska omreˇzja imajo obliko verige ponavljajoˇcih se modulov nevronskega omreˇzja. Razlika med nava- dnimi RNN in LSTM je v notranjosti teh modulov. Pri navadnih DNN ima ta modul zelo enostavno zgradbo in ponavadi vsebuje samo eno tanh plast, kar lahko vidimo is slike 4.1.

Slika 4.1: Zgradba navadnega RNN omreˇzja[20].

LSTM se razlikuje od navadnih DNN po tem, da je notranja struktura modulov bolj kompleksna, kar se vidi na sliki 4.2. Namesto, da ima samo plast nevrosnke mreˇze ima ˇstiri, ki sodelujejo na poseben naˇcin. V nade- ljevanju si bomo pogledali, kaj je funkcija vsake od njih in kako se njihovi rezultati zdruˇzijo v konˇcni rezultat.

Slika 4.2: Zgradba LSTM omreˇzja.

(40)

4.2.2 Delovanje

Kljuˇcna stvar v delovanju LSTM je stanje celice, vodoravna ˇcrta, ki gre skozi zgornji del diagrama. Stanje celice je kot nekakˇsen tekoˇci trak, ki prenaˇsa podatke, kar je razvidno iz spodnje slike 4.3. Teˇce vodoravno od vhoda do izhoda celice s samo manjˇsimi interakcijami na poti in lahko informacije zelo enostavno prehajajo iz vhoda do izhoda brez, da bi se spremenile.

Stanje celice

Slika 4.3: Pot skozi celico.

LSTM ima zmoˇznost odstranjevanja ali dodajanja informacij stanju celice z uporabo struktur, ki se imeujejo vrata. Vrata so naˇcin, da informacije spustimo naprej ali pa jih zaustavimo. Sestavljene so iz sigmoid nevronske mreˇzne plasti in toˇckovne mnoˇzilne operacije. Poleg glavnega toka, pa LSTM celica vsebuje ˇse 3 vrata, ki si jih bomo podrobneje ogledali v nadeljevanju.

Pri LSTM poznamo dve glavni aktivaciji. Prva izmed njih je sigmoid, ki smo jo ravno omenili, uporablja se tudi tanh. Da jih bomo bolje razumeli v naslednjih korakih, si jih bomo malo bolj podrobno ogledali. Sigmoid se uporablja za kot nekako zapiranje na vseh treh vratih (vhodnih, izhodnih in pozabnih), ker vrne vrednost med 0 in 1 in lahko ali popolnoma ustavi tok

(41)

Diplomska naloga 27 informacij ali pa celoto spusti naprej. Tanh se uporablja za reˇsitev problema izginjajoˇcega gradienta, za katerega potrebujemo funkcijo, katere drugi odvod lahko drˇzi dolgo obdobje preden postane 0. Tanh je ena izmed teh funkcij in se je dobro izkazala v praksi.

Pozabna vrata

Kot smo omenili LSTM celica vsebuje 3 vrata, prva od teh so pozabna vrata, katera lahko vidimo na 4.4. Pozabna vrata so zadolˇzena za odloˇcitev, ka- tere informacije bomo uporabili in katere bomo odvrgli iz stanja celice. To odloˇcitev izvede sigmoid plast imenovana pozabna vrata. Vrata sprejmejo dva vhoda: nove informacije(xt) in izhod prejˇsne celice (ht-1), nato pa vrata, z uporabo merila od 0 do 1, odstranijo nepotrebne informacije. Vrednost 0 predstavlja, da je atribut oznaˇcen za popolno odstranitev in 1, ki predsta- vlja da je atribut obvezen za napovedovanje. Po odstranjevanju nepotrebnih informacij vrata rezultat zdruˇzijo s stanjem celice. Vrata delujejo na enak naˇcin, kot se ljudje odloˇcajo o neˇcem in izpustijo doloˇcene informacije, ki se jim zdijo nepotrebne za odloˇcitev. Primer tega je napovedovanje prodaje glede na pretekle atribute. Stanje celice bi naprimer vsebovale trgovino, kjer se izdelek prodaja, ter kategorijo izdelka. Ko pridemo do novega izdelka, bi te podatke radi pozabili, saj za novi izdelek niso pomembni.

Vhodna vrata

Naslednji korak po pozabnih vratih so vhodna vrata 4.5. Tukaj se odloˇcamo, katere podatke bomo shranili v stanje celice za nadaljno uporabo. ˇCloveˇska razliˇcica bi bila upoˇstevanje novo pridobljenih informacij poleg starih pri odloˇcitvi. Ta vrata so sestavljena iz dveh delov. Prvi je sigmoid plast, katera imenuje plast vhodnih vrat in odloˇca katere vrednosti bomo posodobili. De- luje na podoben naˇcin, kot pri pozabnih vratih, kjer gre za odloˇcanje ,kakˇsen deleˇz informacij se bo obdrˇzal. Nato sledi tanh plast, ki naredi vektor no- vih vrednosti kandidata, ki bi ga lahko dodali stanju celice. V naslednjem koraku zdruˇzimo dela in posodobimo stanje celice. ˇCe nadaljujemo prejˇsni

(42)

Slika 4.4: Pozabna vrata.

primer napovedovanja prodaje, bi hoteli pri napovedi prodaje za posamezni izdelek dodati kategorijo in trgovino, kjer se prodaja izdelek, v stanje celice, da nadomestita vrednosti, ki smo jih pozabili pri prejˇsnem koraku.

Slika 4.5: Vhodna vrata.

(43)

Diplomska naloga 29 Glavna pot

Zdaj, ko smo doloˇcili, kaj je za odstraniti in kaj je za dodati, je ˇcas, da te spremembe izvedemo in spremenimo staro stanje celice v novo stanje celice.

Kot smo omenili, so prejˇsni koraki doloˇcili, kaj je potrebno narediti. Zdaj je potrebno te spremembe izvesti. Ta proces zaˇcnemo tako, da staro stanje po- mnoˇzimo z izhodom pozabnih vrat in pozabimo stare vrednosti. Stanju celice nato dodamo ˇse nove informacije iz vhodnih vrat. To so zdaj nove vrednosti kandidata uravnane glede na to, kakˇsen deleˇz stanja celice smo posodobili.

Podatke se dodaja in odstranjuje ˇsele na glavni poti, katero vidimo na sliki 4.6 in ne na pozabnih ali vhodnih vratih. V primeru napovedovanja prodaje bi ˇsele tukaj odstranili podatke o preteklem izdelku in dodali podatke novega izdelka.

Slika 4.6: Glavna pot.

Izhodna vrata

Zadnji korak, prikazan na 4.7 je odloˇcanje, kaj bomo vrnili kot izhod celice.

Izhod temelji na filtriranem stanju celice, kjer vrnemo samo, kar se nam zdi pomembno. Najprej poˇzenemo podatke skozi sigmoid plast, ki se odloˇci, katere dele stanja celice bomo vrnili kot izhod. Nato poˇsljemo status celice

(44)

skozi tanh plast (da pridobimo vrednosti med -1 in 1) in ga pomnoˇzimo z izhodom sigmoid vrat, da vrnemo samo dele, za katere smo se odloˇcili. Pri primeru napovedovanja prodaje, bi po izraˇcunu prodaje izdelka za dan, hoteli to vrednost posredovati napovedi prodaje izdelka za naslednji dan.

Slika 4.7: Izhodna vrata.

4.2.3 Optimizerji

Pomemben del, za izboljˇsanje uˇcenja in ˇcim boljˇse napovedovanje, so opti- mizerji. Optimizerji so algoritmi ali metode, ki se uporabljajo za spremembo atributov nevornskih omreˇzij kot so uteˇzi in stopnja uˇcenja (ang. Learning rate) z namenom, da ˇcim bolj zmanjaˇsamo napake. Za ˇcim boljˇse delovanje in uˇcenje je potrebno, da izberemo dober optimizer. Obstaja veˇc optimizerjev, ki imajo razliˇcne uporabe, zato si jih bomo nekaj pogledali v nadaljevanju.

Gradientni sestop

Prvi, ki si ga bomo pogledali in obenem tudi najbolj enostaven, ter najbolj uporabljen optimizer, je gradientni sestop. Njegova uporaba je zelo razˇsirjena pri linearni regresiji in klasifikacijskih algoritmih. Gradientni sestop je opti- mizacijski algoritem prvega reda, kar pomeni, da je odvisen na prvem odvodu

(45)

Diplomska naloga 31 funkcije napake. Uporabi se ga za izraˇcun, na kakˇsen naˇcin se potrebuje spre- meniti uteˇzi, da lahko funkcija doseˇze minimum. Z uporabo ˇsirjenja nazaj (ang. backpropagation), se napaka prenese iz ene plasti v drugo in s tem spremenija uteˇzi modela, tako da minimizira napako.

Stochastic gradientni sestop

Je razliˇcica gradientnega sestopa, ki je bila prviˇc opredeljena v ˇclanku Sto- chastic Estimation of the Maximum of a Regression Function [21] poskuˇsa posodobiti parametre modela bolj pogosto, tako da so parametri spremenjeni po izraˇcunu napake vsakega testnega primera. Za primer: ˇce nabor podatkov vsebuje 100 vrstic bo SGD posodobil parametre modela 100 krat v enem ciklu nabora podatkov namesto 1 krat, kot pri navadnem Gradientnem sestopu.

Ker se parametri modela pogosto posodabljajo, imajo tudi velika nihanja in razlike med vrednostmi v funkciji napake skozi ˇcas.

Adagrad

Slabost dosedanjih optimizerjev je, da je stopnja uˇcenja konstantna za vse parametre in za vsak cikel. Adagrad to spremeni. Spremeni tudi stopnjo uˇcenja vsakega parametra vsak ˇcasovni korak. To pomeni, da lahko hitreje pride do boljˇsih rezultatov.

Adam

Trenutno eden najbolj uporabljenih algoritmov, ki se je izkazal za zelo do- brega, je Adam. Aloritem sta leta 2015 predstavila Diederik Kingma in Jimmy Ba v ˇclanku “Adam: A Method for Stochastic Optimization“. [22]

. Med predstavljenimi optimizerji je najnovejˇsi. Deluje zelo dobro na pro- blemih z velikim naborom podatkov ali lastnosti. Porabi manj spomina kot predhodniki in je zelo uˇcinkovit. Zdruˇzuje pristopa dveh algoritmov: gradi- enti sestop z momentumom in RMSP algoritem.

(46)

4.2.4 Primeri uporabe

LSTM se uporablja na veˇcih razliˇcnih podroˇcjih, npr: prepoznavanje govora, uˇcenje vzorcev, napovedovanje ˇcasovnih serij, uˇcenje slovnice in ˇse mnogo drugih. Med bolj znanimi je tudi Applova Siri. Leta 2015 ga je zaˇcel upo- rabljatu tudi Google in z njim za 50 odstotkov izboljˇsal prepoznavanje od predhodnika. [23].

4.2.5 Prednosti in slabosti

Med glavne prednosti vkljuˇcujemo zmoˇznost dela z manjkajoˇcimi podatki, ˇsiroko podroˇcje na katerih se lahko uporablja, zelo dober je tudi pri prepo- znavanju vzorcev in ˇse mnogo drugih. Glavne slabosti: uˇcenje je v primeru veˇcjih parametrov lahko poˇcasno, hitro lahko pride do prevelikega prileganja in napovedane vrednosti so zelo obˇcutljive od nakljuˇcnih inicializacij uteˇzi.

Pomembno je omeniti tudi enega glavnih razlogov, da se ne uporabljajo tako razˇzirjeno, kot bi se lahko. To je velika poraba spomina in poslediˇcno teˇzka uporaba na velikih naborih podatkov. Ta problem pride iz arhitekture LSTM celice, ki vsebuje 4 linearne celice, ki so pomnilniˇsko potratne.

4.2.6 Uberjeva arhitektura LSTM

Zdaj, ko smo spoznali LSTM je ˇcas, da spoznamo Uber-jevo implementacijo LSTM (ULSTM), ki jo bomo obravnavnavali in uporabljali za primerjavo.

Uber je razvil svojo implementacijo LSTM za namen, da bi ˇcim bolje napo- vedoval voˇznje. S tem modelom je izboljˇsal rezultate za 4 odstotke in nadome- stil prejˇsni model, ki so ga uporabljali za te namene. [https://eng.uber.com/neural- networks-uncertainty-estimation/] Implementacija se razlikuje od navadne v tem, da zdruˇzuje LSTM Avtoenkoder za uˇcenje modela in Bayesian inference dropout za dodajanje nakljuˇcja rezultatom, ter posebej del za napovedovanje vrednosti. Avtoenkoder je sestavljen iz kodirnega in dekodirnega dela in se uporablja za uˇcenje modela, tako da kodirnik stisne vhod, dekodirnik pa ga poskuˇsa sestaviti nazaj. Dropout je izpuˇsˇcanje izbranih lastnosti, tako da

(47)

Diplomska naloga 33 namesto vseh, ki jih ima model na voljo, jih uporabi samo nekaj. Navadni dropout se izvede samo pri uˇcenju modela ne pa pri testiranju modela. Kar pomeni, da se pri testiranju spreminjajo samo vrednosti uteˇzi. To pomeni, da so vrednosti med testiranjem determonistiˇcne in bo enako nauˇcen model vedno napovedoval enako. Pri Bayesian pristopu se dropout uporabi tako pri uˇcenju, kot pri testiranju modela. To pomeni, da napoved ni veˇc deter- ministiˇcna, ampak se spreminja glede na izbrane parametre, ki jih je model obdrˇzal.

Slika 4.8: Uber arhitektura [24].

Kot vidimo iz slike 4.8 je Uberjevega arhitektura LSTM sestavljena iz dveh glavnih delov: Kodrino-dekodirnega dela, ki je sestavljen iz veˇc pove- zanih LSTM plasti, katerih izhodi gredo iz predhodnega v naslednjega in so razdeljeni na kodirni del in dekodirni del. Kodirni del se uporablja za bra- nje vhodnih podatkov in za zagotavljanje uporabnih lastnosti (stolpcev) za napovedovanje na sliki te vhode predstavlajo x vrednosti od 1 do T, kjer T predstavlja zadnji dan podatkov. Nasledni del je dekodirni del, ki sprejema podatke iz kodirnega dela in napoveduje nadaljne vredosti (X vrednosti od

(48)

T+1 do T+F) in sluˇzi za uˇcenje modela. Napovednega dela, ki se po za- kljuˇcku uˇcenja kodrino-dekodirnega dela uporablja za napovedovanje nadalj- nih vrednosti. Deluje tako, da prejme izhode iz kodrino-dekodirnega dela, kateri pridobi lasnosti iz podatkov in skupaj z moˇznimi zunanjimi lasnosti, kot so v Uberjevem primeru vreme napove nadaljne vrednosti.

4.2.7 Knjiˇ znica

Keras je odprtokodna in lahka za uporabo knjiˇznica, za gradnjo modelov za globoko uˇcenje. Narejena je okoli Theano in TensorFlow knjiˇznic. Je zelo pogosto uporabljena knjiˇznica v Kaggle tekomovanjih, vendar ne za namene napovedovanja ˇcasovnih serij, vendar za probleme, kot so prepoznavanje slik, prepoznavanje govora, iskanje vzorcev,... Je knjiˇznica, ki je narejena okoli druge knjiˇznice z imenom TensorFlow,

4.2.8 Parametri

Zdaj si bomo tako, kot pri GBRT ogledali ˇse glavne parametre modela v tabeli 4.3.

Za doloˇcanje parametrov, kot so ˇstevilo enot na LSTM plasti in uˇcno stopnjo modela lahko uporabimo knjiˇznica Kerastuner. Knjiˇznica omogoˇca nastavitev razpona vrednosti, ki jih bo knjiˇznica uporabila za testiranje.

Knjiˇznica nato preiskusi razliˇcne kombinacije nastavitev parametrov in oceni njihovo uspeˇsnost glede na podani kriterij. Na koncu testiranja vrne kombi- nacijo parametrov, ki so dobili najboljˇse rezultate glede na podani kriterij, te pa nato uporabimo v modelu.

4.2.9 Uporabljeni atributi

Tako kot pri GBRT si bomo tudi tukaj ogledali, kaj predstavlja ena vrstica vhodnega nabora podatkov. Tukaj so uporabljeni podobni parametri, kot pri GBRT vendar jih je manj. Glavni za razlog za to je, da je prihajalo do slabˇsih rezultatov in upoˇcasnjenega uˇcenja pri veˇcjih naborih spremenljivk. Zato

(49)

Diplomska naloga 35

Parameter Opis parametra Vrednost

ˇstevilo enot na LSTM plasti

Doloˇca ˇstevilo parametrov, ki se poˇslje v naslednjo

LSTM celico. Pri preveliki ˇstevilki lahko pride do nevarnosti

prevelikega prileganja

550

Dropout

Dropout je izpuˇsˇcanje izbranih lastnosti,tako da namesto vseh, ki jih ima model

na voljo uporabi samo nekaj.

0.2

uˇcna stopnja (ang. Learning rate)

Stopnja s katero se uˇci model.

Veˇcja, kot je ˇstevilka hitreje se model uˇci.

Tako, kot pri GBRT manjˇsa vrednost zmanjˇsa moˇznost prevelikega prileganja

0.001

Optimizer

Optimizerji so algoritmi ali metode, ki se uporabljajo za spremembo atributov nevornskih omreˇzij.

Adam

Batch size

Batch size doloˇci ˇstevilo vnosov, ki se poˇsljejo v omreˇzje

v vsaki iteraciji

64

Epoch

ˇStevilo iteracij uˇcenja modela v katerih vzame batch size ˇstevilo vrednosti.

1000

Tabela 4.3: Parametri LSTM.

(50)

Ime lastnosti Opis lastnosti

Item-id Unikatna identifikacija izdelka Store-id Unikatna identifikacija trgovine Dept-id Unikatna identifikacija odelka

State-id Unikatna identifikacija zvezne drˇzave Cat-id Unikatna identifikacija kategorije

Date Datun

WeekDay ˇStevilsk dan v tednu, vrednost 1 je sobota Price Cena izdelka

event-name-1 Ime prvega dogodka

Lag1 Prodaja izdelka prejˇsnjega dneva

Tabela 4.4: LSTM uporabljeni atributi.

bomo v ta namen uporabili samo manjˇsi nabor atributov, ki so se izkazali za pomembne. Te lahko vidimo v tabeli 4.4

Ena vrstica predstavlja vnos za en izdelek za doloˇcen datum, tako, da je za vsak datum 30490 (ˇstevilo izdelkov) vrstic. Izhodna vrednost, tako kot pri GBRT je ˇstevilo prodanih izdelkov na dan. Te pa se nato poˇsiljajo v naborih po 28 dni v model.

(51)

Poglavje 5

Eksperimentalna primerjava metod

5.1 Mere ocenjevanja

Ker je cilj diplomske naloge primerjati razliˇcna modela, so bili v ta namen izbrani ˇstirje kriteriji, po katerih bomo modela ocenili. Ker prodaja ni vsak dan enaka, ampak so velika odstopanja, je treba prikazati tako absolutno razliko, kot odstotek in ali je model bolj pesimistiˇcen ali optimistiˇcen. V ta namen je za ocenjevanje uspeˇsnosti modelov po razliˇcnih dimenzijah upora- bljenih ˇstiri kriterijev: MAE, MAPE, MASE in BIAS.

MAE

Prvi in najbolj enostaven od naˇcinov, ki sem jih uporabil za ocenjevanje modelov je MAE. Povpreˇcna absolutna napaka (ang. Mean absolute error) je model raˇcunanja napake, ki se nanaˇsa na absolutno razliko v napovedi vseh instanc podatkov. Napaka je razlika med dejansko vrednostjo in vrednostjo napovedi. Statistiˇcno predstavlja MAE rezultat raˇcunanja razlike med dvema neprekinjenima (continuous) spremenljivkama.

MAE = Pn

i=1|yi−xi|

n =

Pn i=1|ei|

n 37

(52)

Tako prednost, kot slabost tega naˇcina raˇcunanja napake je, da vrne ab- solutno ˇstevilo prodaj, ki so bile izgubljene zaradi pomankanja izdelkov ali zavzeti prostor v skladiˇsˇcu, ker se napovedani izdelki niso prodali. Problem tega naˇcina ocenjevanja je, da lahko manjˇsa napaka pri napovedi prodaje za dneve, kjer je veliko prodaje izgleda veliko veˇcja, kot veˇcja napaka pri dnevih, kjer je manj prodaje. Iz tega sledi, da potrebujemo naˇcine, kjer lahko vidimo odstotno odstopanje prodaje.

MAPE

Drugi naˇcin raˇcunanja napake je povpreˇcna absolutna procentna napaka (ang. mean absolute percentage error ) ali MAPE. Vrnjena napaka je vre- dnost povpreˇcne odstotne napake, kar pomeni, da za razliko od MAE name- sto neposredne ˇstevilke odstopanja vrne odstotno odstopanje. To pomaga pri raˇcunanju odstopanja pri dnevih z majhno prodajo, ker imajo za raz- liko od MAE enako enakovredno uteˇz, ki bi se pri MAE zaradi manjˇsega neposrednega odstopanja izgubilo. ˇStevilka, ki jo vrne MAPE, nam pove, do kakˇsnega odstopanja je priˇslo. Vrednost 0.2 nam na primer pove, da je bilo na povpreˇcje 20 odstotkov razlike med napovedano in dejansko prodajo.

Zaradi lahkega razumevanja je MAPE zelo ˇsiroko uporabljen pri ocenjevanju metod. Manjˇsa, kot je vrednost MAPE, boljˇsa je napoved.

MAPE = 100 n

n

X

t=1

At−Ft At

Velika slabost MAPE je obnaˇsanje v primeru, da je ena ali veˇc od dejanskih vrednosti enaka 0. V tem primeru vrne neskonˇcnost, kar pa je lahko problem v nekaterih poljih, kot pri napovedi prodaje posameznega izdelka.

MASE

Nasledni naˇcin, ki si ga bomo ogledali za raˇcunanje napake, je povpreˇcna absolutna skalirana napaka (ang. Mean Absolute Scaled Error) ali MASE.

Ker MASE deluje na drugaˇcen naˇcin kot MAE, ne primerja rezultata samo

(53)

Diplomska naloga 39 z dejanskimi vrednostmi, ampak tudi z naivno napovedjo. Pri MAE so bile vrednosti napake dejanske ˇstevilske razlike. Pri MASE je malo drugaˇce, ker se uspeˇsnost primerja z naivno napovedjo. Naˇceloma so rezultati med 0 in 1.

Bliˇzje kot je 0, bolje se je napoved obnesla. V primeru, da je vrednost veˇcja od 1, pove, da se je napoved obnesla slabˇse kot naivna napoved. Prednost MASE je, da je imun na eno od teˇzav, ki je velik problem pri MAPE in to je, ko je dejanska vrednost ˇcasovne serije 0. V tem primeru pride pri MAPE do problema in vrne neskonˇcno vrednost. MASE tega problema nima. ˇSe ena lastnost MASE je, da ni obˇcutljiv na obseˇznost napovedi, ker uporablja razmerja med napakami. To pomeni, da bodo vrednosti podobne ne glede ali ocenjujemo ˇcasovne serije z velikimi vrednostmi, kot so celotna prodaja ali pa z manˇsimi vrednostmi, kot je prodaja posameznega izdelka.

MASE = mean |ej|

1 T−1

PT

t=2|Yt−Yt−1|

!

=

1 J

P

j|ej|

1 T−1

PT

t=2|Yt−Yt−1|

BIAS

Kot smo omenili, bi potrebovali naˇcin, da ocenimo ali je bila napoved bolj optimistiˇcna ali pesimistiˇcna, to doseˇzemo z uporabo BIAS. Namesto nepo- srednega odstopanja prodaje za posamezen dan lahko vidimo, koliko odstot- kov preveˇc ali premalo prodaje je bilo napovedano. BIAS je definiran, kot povpreˇcna napaka.

BIAS = 100 n

n

X

t=1

At−Ft

At

Pozitivne vrednosti pomenijo, da je metoda napovedala optimistiˇcno, nega- tivne vrednosti pa, da je napovedala pesimistiˇcno. Namen tega naˇcin oce- njevanja ni, da oceni celotno metodo, ampak da pokaˇze, kako se obnaˇsa metoda. Zelo velike negativne ali pozitivne vrednosti ˇse vedno povedo, da je nekaj narobe z modelom.

(54)

Id Stopnja agregacije vnosov 1 Prodaja izdelkov agregirana glede na trgovino in drˇzavo 1 2 Prodaja izdelkov agregirana glede na drˇzavo 3 3 Prodaja izdelkov agregirana glede na trgovino 10 4 Prodaja izdelkov agregirana glede na kategorijo 3 5 Prodaja izdelkov agregirana glede na oddelek 7 6 Prodaja izdelkov agregirana glede na drˇzavo in kategorijo 9 7 Prodaja izdelkov agregirana glede na drˇzavo in oddelek 21 8 Prodaja izdelkov agregirana glede na trgovino in kategorijo 30 9 Prodaja izdelkov agregirana glede na trgovino in oddelek 70 10 Prodaja izdelka agregirana glede na vse trgovino in drˇzavo 3,049 11 Prodaja izdelka agregirana glede na drˇzavo 9,147 12 Prodaja izdelka agregirana glede na trgovino 30,490

Tabela 5.1: Stopnje agregacije.

5.2 Opis eksperimentov

Ogledali si bomo 4 razliˇcne primerjave. Prva od teh je Primerjava po sto- pnjah agregacije, ki razdeli podatke na 12 razliˇcnih agregacij na katerih nato primerjamo modela. Naslednja primerjava je Primerjava ˇcasa izvajanja in strojne zahtevnosti, kjer primerjamo ˇcas, ki ga metodi porabita za napo- ved, ter porabo strojne opreme. Tej sledi primerjava uspeˇsnosti napovedi za bolj in manj prodajane izdelke. Nato bomo primerjali ˇse obnaˇsanje metod pri razliˇcnih nakljuˇcnih semenih. Na koncu pa ˇse obnaˇsanje modelov pri razliˇcnih semenih.

(55)

Diplomska naloga 41

5.3 Eksperimenti

5.3.1 Primerjava po stopnjah agregacije

Prva dimenzija primerjav med modeloma, ki si jo bomo ogledali, je enaka, kot je bila uporabljena na Kaggle tekmovanju. Porazdelitev je sestavljena iz 12-ih stopenj, kar se lahko vidi iz tabele 5.1, ki se delijo na 3 glavne dele:

• agregacija vseh izdelkov po enem atributu: tukaj so stopnje od 1 do vkljuˇcno 5,

• agregacija vseh izdelkov po dveh atributih: tukaj so stopnje od vkljuˇcno 6 do 9 in

• agregacija posameznega izdelka: kjer so preostale tri stopnje

Cilj veˇcih stopenj je, da vidi uspeˇsnost modela na razliˇcnih stopnjah in razliˇcnih agregacijah. Razlog za to je v tem, da lahko na manjˇsih stopnjah na rezultate moˇcno vplivajo ekstremni primeri, ki lahko zakrijejo pomankljivosti ali prednosti modela. ˇSe vedno pa so manjˇse stopnje agregacije pomembne za pregled sploˇsnega obnaˇsanja modela, kjer se lahko bolje vidi ali je napovedal bolj optimistiˇcno ali pesimistiˇcno.

Opis stopenj

Preden si ogledamo rezultate, je dobro, da razumemo, kaj kakˇsna stopnja predstavlja.

1. Prva stopnja agregacije vsebuje samo 1 serijo, kjer pa so skupaj zbrane vse prodaje vseh izdelkov, trgovin in zveznih drˇzav. Iz te stopnje lahko pribliˇzno vidimo, kako dobro delujeta modela. Problem te stopnje je v tem, da ne razlikuje med prodajami izdelkov. Zato lahko prevelika prodaja enega izmed izdelkov zakrije premajhno napovedano prodajo ostalih izdelkov v skupnem izraˇcunu. Kljub temu se nekako vidi ali mo- dela napovedujeta bolj optimistiˇcno ali pesimistiˇcno glede na okoliˇsˇcine.

(56)

2. Druga stopnja agregacije je razdeljena na 3 serije, kjer so izdelki zbrani podobno, kot pri prejˇsni stopnji, vendar so razdeljeni po zveznih drˇzavah (CA, TX, WI). Zvezne drˇzave, ki so vkljuˇcene so Kalifornija, Teksas in Wisconsin.

3. Tretja stopnja agregacije je podobna kot druga, vendar namesto, da je prodaja razdeljena samo na zvezne drˇzave, je razdeljena na posame- zne trgovine v teh drˇzavah. Podatki vkljuˇcujejo 10 trgovin in to 4 v Kaliforniji, 3 v Teksasu in 3 v Wisconsinu.

4. ˇCetrta stopnja agregacije sledi enakemu pravilu, vendar v tem primeru izdelke porazdelimo po kategorijah. Kategorije so hrana, hiˇsa in ho- biji. Kot smo omenili ˇze pri analizi podatkov, je kategorija izdelka zelo pomembna, saj so hranilni izdelki veliko bolje prodajani kot izdelki iz preostalih dveh kategorij (hiˇsa in hobiji).

5. Peta stopnja ponovno sledi enakemu primeru, vendar kategorije zame- njamo z oddelki.

6. ˇSesta stopnja je prva stopnja, ki vkljuˇcuje agregacijo po dveh stolpcih in se ˇze bolje vidi, kako dobro sta modela upoˇstevala glavne lastnosti.

Agregacija je izvedena po zveznih drˇzavah in kategorijah. To pomeni, da vsebuje 9 vnosov (3 kategorije * 3 zvezdne drˇzave).

7. Sedma stopnja prav tako vkljuˇcuje agregacijo po dveh stolpcih: po zveznih drˇzavah in oddelkih in vsebuje 3 (zvezne drˇzave) * 10 (oddelki)

= 30 vnosov.

8. Osma stopnja je agregacija po trgovini in kategoriji in vsebuje 10 (ˇstevilo trgovin) * 3 (ˇstevilo kategorij) = 30 vnosov.

9. Deveta stopnja je zadnja od stopenj z agregacijo po dveh lastnostih in sicer agregacijo po trgovinah in oddelkih in vsebuje 70 vnosov.

10. Deseta stopnja je prva od zadnje kategorije agregacij, kjer namesto da agregiramo veˇc razliˇcnih izdelkov skupaj, agregiramo samo enake vrste

(57)

Diplomska naloga 43 izdelke skupaj. Vse razliˇcne izdelke (3049 razliˇcnih izdelkov) agregira skupaj ne glede na preostale stolpce, kot so kategorija, trgovina ali zvezna drˇzava.

11. Enajsta stopnja agregacije se razlikuje od desete stopnje po tem, da vse izdelke razdeli ˇse po zveznih drˇzavah (Kalifornija, Teksas in Wisconsin), kar pomeni, da imamo 3 serije po 3049 izdelkov in skupaj 3049 * 3 = 9147 vnosov.

12. Na koncu v 12 stopnji vzamemo vse izdelke kakor so, brez kakrˇsne koli agregacije. To pomeni, da imamo 30490 vnosov. Tukaj se bodo najbolj opazile razlike pri napovedi prodaje, saj se bodo videli rezultati na toˇcno doloˇcenih izdelkih z vsemi parametri, prav tako pa se bo lahko videlo veˇcja odstopanja. Uteˇz posameznega izdelka ˇse vedno ostaja njegova celotna prodaja do sedaj.

Volatilno obdobje

Kot pri Kaggle tekmovanju, bomo za preverjanje uspeˇsnosti modelov vzeli obdobje 28 dni. Ker je pomembno, da vidimo rezultate v dveh razliˇcnih obdobjih, si bomo ogledali bolj volatilno obdobje, ki vsebuje veˇc dogodkov in ima zelo nenavadno prodajo, ter bolj umirjeno obdobje brez praznikov, ki je bolj podobno navadnemu tednu.

Prvo obdobje, ki si ga bomo ogledali in na katerem bomo preverjali uspeˇsnost obeh modelov, je volatilno obdobje od vkljuˇcno 1914 dneva do 1941 dneva podatkov, za uˇcenje modela so bili uporabljen podatki od prvega do 1913 dneva prodaje.

Za nadaljne razumevanje rezultatov modelov je pomembno, da razu- memo obdobje, za katerega bosta modela napovedovala. Obdobje traja od 13.10.2016 do 11.11.2016 in vsebuje 28 dni. Vkljuˇcuje 4 praznike, katere lahko vidimo iz slike 5.1 od teh sta 2 verska: Pasha in Pravoslavna velika noˇc, ter 2 kulturna Cinco De Mayo in Materinski dan. Ti prazniki so glavni razlog za tako nihanje. Opazimo lahko tudi, da je v tem obdobju tudi najveˇcja

(58)

Slika 5.1: Volatilno obdobje z oznaˇcenimi prazniki

dnevna prodaja v zadnjem letu in da vkljuˇcuje malo bolj nestandardna ni- hanja, ki izgledajo kot nekakˇsne stopniˇcke. Prav tako je povpreˇcna prodaja v drugem delu tega obdobja nadpovpreˇcna in ne vsebuje tako velikih padcev prodaje med tednom, kot pri preteklih podatkih. Iz tega lahko sklepamo, da so podatki v tem obdobju bolj volatilni in ne po nekakˇsnem oˇcitnem vzorcu.

Celotno obdobje

Iz 5.2 je hitro razvidno, da je na vsaj na celotni prodaji GBRT model napovedal veliko bolje, kot ULSTM. Ker ne moremo biti prepriˇcani ali je to samo zaradi naˇcina prikaza ali pa so rezultati dejansko taki, si bomo ˇse bolj podrobno ogledali spodnjo tabelo.

Iz vseh kriterijev iz tabele 5.2 je razvidno, da se je ULSTM model na sploˇsno obnesel dosti slabˇse, kot GBRT model. Slabˇse se je obnesel na MAE, MASE, MAPE IN BIAS kriteriju. To ni bilo samo na prvi stopnji, katero je predstavljal graf, ampak se je odnesel slabˇse tudi na preostalih stopnjah.

(59)

Diplomska naloga 45

Slika 5.2: Primerjava modelov v volatilnem obdobju.

Razlike med napakami so kar velike. Kljub temu zgleda, kot da se razlika med napakami zmanjˇsuje, kar lahko vidimo iz vedno manjˇse razlike v raz- merju med vrednostima napak, kot so MAE in MASE med modeloma. Oba modela imata negativni BIAS, kar pomeni, da sta oba modela v tem obdobju napovedala pesimistiˇcno. Ni nujno, da je ta pesimistiˇcnost samo posledica algoritmov, ampak je moˇzni razlog tudi izredna volatilnost in zelo nadpov- preˇcna prodaja obdobja, ki je najveˇcja do sedaj in se moˇcno razlikuje od podobnega obdobja v preteklih letih. Kljub pesimistiˇcni napovedi obeh mo- delov je GBRT ˇse vedno napovedal veliko bolj optimistiˇcno, kot ULSTM.

Vidimo tudi, da se pojavi nek vzorec manjˇsanja MAE napake. Razlog za to je vedno veˇcja porazdelitev izdelkov ter veˇcanje MASE in MAPE napake, kar nakazuje, da se z veˇcanjem ˇstevila porazdelitve izdelkov, za katere napo- vedujemo, veˇca tudi teˇzavnost napovedi in poslediˇcno se veˇca tudi napaka.

Izgleda, kot da je nekakˇsna izjema temu pravilu stopnja 4. Razlog za to je, da je edina stopnja, ki ni urejena po ˇstevilu zapisov in vsebuje samo 3 vrstice, v primerjavi z tretjo stopnjo, ki vsebuje 10 zapisov.

Kako se modela obnaˇsata pri veˇcjih stopnjah, kjer ˇstevilo vrstic poraz- delitve preskoˇci iz 72 na 3049? Vidimo, da se pojavi kar velik preskok pri vrednostih MAPE in MASE iz preteklih stopenj. Pretekle stopnje so vsebo-

(60)

MAE MASE MAPE BIAS

st GBRT ULSTM GBRT ULSTM GBRT ULSTM GBRT ULSTM

1 874.525 1977.75 0.176 0.398 0.019 0.044 -0.015 -0.041 2 519.294 829.669 0.293 0.459 0.035 0.054 -0.03 -0.048 3 215.909 309.83 0.37 0.535 0.046 0.066 -0.038 -0.056 4 556.274 1136.45 0.231 0.44 0.025 0.049 -0.021 -0.039 5 352.627 646.038 0.299 0.548 0.034 0.062 -0.028 -0.054 6 309.385 494.285 0.335 0.501 0.042 0.063 -0.026 -0.059 7 205.831 291.234 0.403 0.592 0.054 0.079 -0.032 -0.063 8 129.598 187.637 0.419 0.572 0.059 0.079 -0.036 -0.071 9 86.855 121.356 0.487 0.655 0.077 0.101 -0.046 -0.091 10 10.452 13.461 0.849 1.051 0.213 0.365 -0.232 -0.282 11 4.59 6.979 0.921 1.118 0.271 0.379 -0.251 -0.345 12 2.902 4.683 0.971 1.251 0.251 0.437 -0.285 -0.391

Tabela 5.2: Tabela napak za celotno volatilno obdobje.

vale najveˇc 70 serij, tukaj pa vse stopnje vsebujejo 3409 serij ali veˇc. Velika sprememba napak nam pove, da so na teh stopnjah veˇcja odstopanja med dejansko prodajo in napovedano prodajo. Tako, kot pri prejˇsnjih stopnjah se tudi tukaj izkaˇze GBRT za boljˇsega po vseh ˇstirih kriterijih. Vidi se tudi teˇzavnost napovedovanja iz tega, da se obe vrednosti MASE pribliˇzata ali celo preseˇzeta enko. Tako lahko reˇcemo, da se je GBRT brez dvoma odnesel bolje, kot ULSTM. Ker ni nujno, da to vedno velja in je lahko razlog za slab rezultat ULSTM krivo obdobje. Preden pridemo do konˇcne odloˇcitve si bomo ogledali ˇse rezultate naslednjega obdobja. Na sploˇsno lahko reˇcemo, da se je GBRT dosti bolje obnesel v volatilnem okolju, kot pa ULSTM.

Prvih sedem dni

Preden bomo nadaljevali na stabilno obdobje, si bomo bolj podrobno ogledali ˇse prvih sedem dni volatilnega obdobja.

Za razliko od prvih dveh grafov od grafov iz slike 5.3, ni hitro razvidno,

(61)

Diplomska naloga 47

Slika 5.3: Primerjava modelov v prvih sedmih dneh volatilnega obdobja.

kateri model se je obnesel bolje in bo treba podrobneje pogledati rezultate.

Hiter pogled slike 16 nam pove, da je GBRT napovedal bolj pesimistiˇcno, ULSTM pa bolj optimistiˇcno.

Rezultati iz tabele 5.3 pokaˇzejo , da se je GBRT ˇse vedno izkazal bolje, vendar so razlike dosti manjˇse in je ULSTM celo zmagal z majhno razliko v prvi in drugi stopnji. Iz BIAS-a se vidi, da za razliko od celotnega obdobja, je tukaj GBRT pesimistiˇcen in ULSTM optimistiˇcen. Kljub temu, da se ni ULSTM izkazal bolje kot GBRT, se je njegov rezultat izboljˇsal, kar nakazuje da je model boljˇsi za krajˇsa obdobja.

Stabilno obdobje Celotno obdobje

Ker je bilo prvo obdobje zelo volatilno in je imelo zelo nenavadno prodajo, si bomo zdaj uspeˇsnost modelov pogledali ˇse na bolj stabilnem obdobju, kjer ni praznikov in je prodaja bolj podobna klasiˇcnem tednu. Ker so se grafi izkazali za vsaj pribliˇzek dejanskim rezultatom, jih bomo ponovno uporabili tudi za to obdobje. Iz pregleda grafov iz slike 5.4 se zdi da, se je ULSTM obnesel nekako bolje, kot v prejˇsnem obdobju in ima vsaka metoda nekaj prednosti in nekaj slabosti. GBRT je veliko bolje napovedal glavno obliko

(62)

MAE MASE MAPE BIAS

st GBRT ULSTM GBRT ULSTM GBRT ULSTM GBRT ULSTM

1 798.576 774.084 0.209 0.203 0.019 0.017 -0.015 0.015 2 476.773 467.091 0.359 0.359 0.033 0.031 -0.028 0.027 3 191.437 219.851 0.41 0.462 0.043 0.048 -0.033 0.041 4 461.706 450.194 0.264 0.284 0.025 0.026 -0.024 0.023 5 306.899 449.893 0.341 0.379 0.033 0.047 -0.031 0.039 6 271.203 301.064 0.393 0.454 0.04 0.044 -0.04 0.041 7 196.869 235.46 0.481 0.604 0.053 0.065 -0.043 0.04 8 112.181 133.059 0.461 0.544 0.056 0.062 -0.051 0.062 9 80.785 99.445 0.549 0.665 0.075 0.088 -0.065 0.078 10 9.319 10.233 0.891 0.922 0.231 0.256 -0.121 0.129 11 5.805 6.553 0.925 0.925 0.282 0.296 -0.141 0.146 12 2.974 3.092 0.981 1.106 0.311 0.317 -0.201 0.251

Tabela 5.3: Tabela napak za prvih sedem dni volatilnega obdobja.

prodaje in vrhove prodaje, vendar ni bil uspeˇsen pri napovedi padcev prodaje med tednom. Nasprotje temu je ULSTM, ki je bolj pravilno napovedal padce prodaje, vendar ni napovedal vrhov prodaje. Oblikovno se zdi, da se slabˇse prilega. Da pa si bomo to bolje pogledali in videli ali je problem samo pri takem izrisu, si bomo ogledali ˇse rezultate po stopnjah.

V tabeli 5.4 za celotno obdobje lahko vidimo, da je ˇse vedno boljˇse napo- vedoval GBRT. Vendar so razlike med uspeˇsnostima modelov zelo majhne.

To se najbolj opazi pri MAPE kriteriju, kjer so vrednosti obeh modelov sko- raj enake. V nekaterih primerih je ULSTM napovedal prodajo celo bolje, npr. MAPE stopnjah sedem in osem. Razlika med vsemi napakami se z veˇcanjem stopnje vedno bolj zmanjˇsuje. Glavni razlog, da se je ULSTM pri- bliˇzal GBRT, ni samo, da je napovedal bolje, ampak je tudi slabˇsi rezultati GBRT, ki se je tukaj obnesel slabˇse, kot pri prejˇsnem obdobju. Pri volatilnem obdobju sta bila oba modela pesimistiˇcna. Kazalo je, da GBRT napovedoval bolj optimistiˇcno kot ULSTM. Kaj pa tukaj, ko je prodaja bolj standardna

Reference

POVEZANI DOKUMENTI

Ta koliˇ cina igralcev in pa uporaba tehnologije omogoˇ ca igranje veˇ c iger pokra naenkrat, veˇ cina poker aplikacij namreˇ c omogoˇ ca, da ima igralec od- prtih veˇ c razliˇ

V nadaljevanju poglavja si bomo bolj podrobno ogledali Linux kot primer operacijskega sistema z ukaznim uporabniˇ skim vmesnikom in tudi grafiˇ cni naˇ cin dela z Linuxom.. Na teh

Nauˇ cili smo veˇ c detektorjev z razliˇ cnimi uˇ cnimi mnoˇ zicami, ki so jih sestavljale sintetiˇ cne in realistiˇ cne slike, ter primerjali, kako ˇstevilo uˇ cnih epoh in

Program je kompleksen, saj vsebuje veliko ˇstevilo razliˇ cnih funkcionalnosti, kot lahko vidimo na sliki 3.3.... 26

Zgra- dil bom modele razliˇ cnih topologij globokih nevronskih mreˇ z in med njimi primerjal doseˇ zene rezultate na podatkovni mnoˇ zici medicinskih podatkov.. Analiziral bom

Njegova prednost je v tem, da nudi podporo za veˇ c razliˇ cnih siste- mov za prikaz navidezne resniˇ cnosti in tako omogoˇ ca uporabo iste kode, kar zmanjˇsa moˇ znosti za napake

V naˇ sem modelu bomo pri napovedovanju nihanja vrednosti uporabili vhodne podatke, ki jih bomo pridobili iz veˇ c razliˇ cnih virov (knjiga naroˇ cil, zgodovina trgovanja, objave

Predvidevamo tudi, da je vsebnost pri bolj gostem vzorcu višja kot pri čistem filtratu, saj menimo, da gošča, ki je nastala pri mletju, vsebuje več vitamina C,