1 UVOD Športna analitika je področje statistične obdelave podat- kov, ki z analizo doseženih rezultatov in s projekcijo bodoče uspešnosti poskuša nosilcem odločanja ponuditi kompetitivno prednost v svetu športa. Metode podat- kovnega rudarjenja in strojnega učenja se uporabljajo na različnih področjih športne analitike - od napovedo- vanja izida tekem ([1], [2], [3]), preko kvantitativnega ocenjevanja zmogljivosti ekip [4], modeliranja taktičnih odločitev [5], do preučevanja zakonitosti in prvin športne igre ([6], [7], [8], [9]). Pregled metod podatkovnega rudarjenja v športu najdemo v [10]. V članku se ukvarjamo s praktičnim problemom, kako iz kronoloških zapisov o poteku košarkarskih tekem (t. i. podatki play-by-play) izdelati statistični model za generiranje verodostojnih simulacij tekem med iz- branima ekipama. Verodostojen in natančen simulator Prejet 9. marec, 2020 Odobren 30. junij, 2020 športnih tekem je lahko sestavni del ekspertnega sistema, namenjenega trenerjem in strokovnemu osebju v klubih, ki bi ga uporabljali kot orodje za analizo, usmerjeno k izboljševanju kakovosti igre in doseženih rezultatov. Generirane simulacije morajo biti predvsem skla- dne s pravili košarke. Zajemati morajo tudi značilne vzorce poteka dogodkov, ki sledijo iz ustaljenih taktičnih prijemov in specifike trenutne situacije na tekmi (na primer, ekipa v rezultatskem zaostanku dvigne tempo igre, postane bolj agresivna in prevzema več tveganja). Ne nazadnje, generirane simulacije morajo odražati tudi značilnosti ekip, ki igrajo simulirane tekme. Slednja lastnost implicira potrebo po značilkah za opis zmoglji- vosti košarkarskih ekip. Preproste značilke so podane v obliki osnovnih opisnih statistik (ang. box score), ki temeljijo na štetju ključnih dogodkov na odigranih tekmah. Z bogatenjem zapisov o poteku tekem so se razvile tudi bolj sofisticirane značilke učinkovitosti igre, ki so praviloma ročno določene na podlagi ekspertnega znanja o športu ([11], [12], [4])). Z raziskovalnega stališča je zanimiva možnost avtomatskega grajenja atri- butnega prostora za opis značilnosti ekip, ki ne po- trebuje ekspertnega predznanja. V nasprotju z metodo [13], ki sestavi atributni prostor v eksplicitni obliki, v članku predstavimo metodo za tvorbo latentnega opisa zmogljivosti ekip na podlagi vektorskih vložitev (angl. embedding). Vektorska vložitev je preslikava, ki diskretnim entite- tam priredi numerično predstavitev v zveznem (nizkodi- menzionalnem) prostoru. V strojnem učenju se vektor- ske vložitve uporabljajo za iskanje ustrezne predstavitve podatkov za dani učni problem. Nedavni veliki preboji na področju obdelave naravnega jezika temeljijo na upo- rabi vektorske vložitve besed [14], ki zajame semantične relacije med besedami in jih implicitno zakodira v VEKTORSKE VLOŽITVE PRI MODELIRANJU KOŠARKE 157 njihovo geometrijsko upodobitev v vektorskem prostoru. V zadnjih letih se podobni pristopi uporabljajo na po- dročjih, ki zahtevajo obdelavo strukturiranih podatkov, kot so grafi [15] ali proteini [16]. 2 PREGLED PODROČJA Stern [17] je uporabil 493 tekem ameriške profesionalne košarkarske lige (NBA) ter na podlagi trenutnih izidov ob koncu posameznih četrtin zgradil model Brownovega gibanja razvoja rezultata. Model se je izkazal kot dober napovedovalec verjetnosti zmage na osnovi podane tre- nutne razlike v rezultatu. Model ni upošteval moči ekip niti ni modeliral posesti žoge. Goldman in Rao [6] sta uporabila podoben model za proučevanje učinka psihološkega pritiska na kako- vost izvedbe. Modelirali so tudi stabilnost napovedane verjetnosti zmage v odvisnosti od majhnih sprememb trenutnega rezultata in jo uporabili za ocenjevanje po- membnosti situacije za končni razplet tekme. Gabel in Redner [18] sta uporabila model naključnega sprehoda za opisovanje različnih statističnih lastnosti gibanja rezultata med potekom košarkarske tekme. Po- kazala sta, da je igralni čas med zadetki eksponentno porazdeljen in je proces doseganja točk brez spomina. Ugotovila sta tudi, da imajo lastne vrline ekip majhen vpliv na splošno sliko gibanja rezultata. Merrit in Clauset [7] sta modelirala dinamiko gibanja rezultata na povprečni tekmi v različnih timskih športih (košarka, ameriški nogomet in hokej). Uporabila sta dva stohastična procesa. Prvi proces proizvaja zadetke, medtem ko drugi proces določa, katera ekipa je dosegla točke. Ugotovila sta tudi, da je model sposoben zelo natančno predvideti končni izid tekme samo na podlagi opažene dinamike nekaj prvih zadetkov. Shirley [19] je modeliral razvoj košarkarske tekme z diskretno markovsko verigo. Stanje je zakodiral v obliki trirazsežnega vektorja. Prva komponenta določa ekipo, ki ima žogo. Druga komponenta določa način, kako je ekipa prišla do žoge. Tretja komponenta predstavlja število točk, doseženih ob prihodu v to stanje. Shirley je za vsako ekipo zgradil svoj model na podlagi njenih opisnih statistik in pokazal, da je tak model dober napovedovalec verjetnosti zmage opazovane ekipe proti povprečnemu nasprotniku. Shirley je opisal tudi možnost učenja modela iz opisov poteka tekem (in ne na podlagi opisnih statistik) ob upoštevanju moči posameznih ekip, toda zaradi pomanjkanja podatkov tega ni izvedel. Štrumbelj in Vračar [20] sta izhajala iz Shirleyevega modela, le da sta implicitno razširila prostor stanj z atri- buti za opis moči ekip. Na ta način sta matriko prehoda med stanji Shirleyjevega modela izrazila v odvisnosti od karateristik ekip in tako pridobila splošen model za simuliranje tekem med poljubnima nasprotnikoma. Za opisovanje moči ekip sta uporabila zbirne statistike na podlagi štirih faktorjev [11]. Verjetnosti prehodov med stanji sta modelirala z multinomialno logistično regresijo, pri čemer sta vsako vrstico tranzicijske matrike obravnavala kot ločen klasifikacijski problem (stanja so neodvisna zaradi markovske lastnosti procesa). Ker sta- nja modela ne vsebujejo informacije o poteku igralnega časa, je simulacije konec po vnaprej določenem številu prehodov. Vračar in sod. [21] so prevzeli idejo o parametrizaciji verjetnosti prehodov med stanji z značilkami za opis zmogljivosti ekip in jo nadgradili z dodatno razširitvijo opisa prostora stanj s parametri, ki podajajo kontekst trenutka v razvoju tekme. Modelirali so tudi potek igralnega časa med napovedanimi dogodki. S temi nad- graditvami so bolje zajeli dinamiko razvoja igre, kar so tudi empirično pokazali. Isti avtorji so razvili postopek za avtomatsko ge- neriranje atributnega prostora [13]. Osnovna ideja te- melji na identifikaciji množic podobnih dogodkov, pri čemer se podobnost nanaša na neposredno soseščino (prejšnji in naslednji dogodek) v zaporedju dogodkov na košarkarskih tekmah. Atribute so definirali kot verje- tnosti prehoda med identificiranimi množicami podobnih dogodkov. Eksperimentalno so pokazali, da so modeli, dobljeni z učenjem na podlagi avtomatsko generiranih atributov, po kakovosti napovedovanja primerljivi z mo- deli, naučenimi z ekspertnimi atributi. Alcorn [22] je uporabil tehniko vektorskih vložitev za latentno predstavitev igralcev poklicne bejzbolske lige MLB. Dobljeno prezentacijo je uporabil za razvrščanje igralcev in modeliranje izida naslednjega meta. 3 METODOLOGIJA 3.1 Modeliranje poteka košarkarske tekme Na razvoj športne tekme lahko gledamo kot na reali- zacijo stohastičnega procesa, ki se v diskretnih korakih sprehaja v (zveznem) prostoru stanj S. Modeliranje je računsko manj zahtevno, če predpostavimo, da je proces brez spomina, tj. da je prihodnje stanje procesa odvisno samo od sedanjega stanja. Po drugi strani je jasno, da je realnost veliko bolj kompleksna in da dosedanjega poteka tekme ne moremo popolnoma zanemariti pri na- povedovanju nadaljnjih dogodkov. Predpostavko o mar- kovski lastnosti procesa zato nekoliko omilimo s tem, da v opis stanja zakodiramo tudi povzetek zgodovine, ki je relevanten za nadaljevanje procesa. V splošnem je možno prostor stanj S zakodirati v obliki vektorja, sestavljenega iz spremenljivk treh tipov, to so (1) slučajne spremenljivke, ki neposredno vplivajo na razvoj dogodkov na tekmi, (2) spremenljivke, ki vplivajo na razvoj dogodkov na tekmi, vendar niso slučajne (so posledica prejšnjih dogodkov na tekmi), in (3) parametri, ki vplivajo na potek tekme, vendar se nji- hova vrednost med tekmo ne spreminja. Pri modeliranju poteka košarkarske tekme smo prostor stanj S zakodirali v obliki vektorja: 〈Evt,Dur,Qtr, T ime,PtsDiff ,a,h〉. 158 VRAČAR Slučajna spremenljivka Evt predstavlja naslednji do- godek, ki se bo zgodil na tekmi. Množica mogočih vrednosti je prikazana v tabeli 1. Slučajna spremenljivka Dur predstavlja igralni čas (v sekundah), ki bo pretekel do naslednjega dogodka. Komponente Qtr, Time in PtsDiff niso slučajne spremenljivke, temveč povzemajo že odigrani del tekme. Časovni vidik povzemata kom- ponenti Qtr (trenutna četrtina) in Time (preostali čas v sekundah do izteka trenutne četrtine). Najbolj relevanten povzetek dosedanjega poteka tekme – trenutni rezultat (podan kot razlika v koših z vidika domačega moštva) – je predstavljen s komponento PtsDiff . Motivacija za vključitev komponent Qtr, Time in PtsDiff v opis stanja so empirične študije ([20], [18], [7]), ki potr- jujejo ekspertno znanje in intuicijo, da se dinamika igre spreminja v odvisnosti od trenutnega konteksta, ki ga določata predvsem čas do konca tekme in trenutni izid (na primer, ekipa v rezultatskem zaostanku igra bistveno drugače v končnici kot na polovici tekme). V prejšnji raziskavi smo pokazali tudi, da neupoštevanje trenutnega konteksta povzroča generiranje nerealističnih simulacij [21]. Končno, vektorja a in h predstavljata opis zmogljivosti gostujoče (away) oziroma domače (home) ekipe. Vključitev vektorjev a in h v opis stanja je samoumevna, saj želimo, da se v generiranih simulaci- jah tekem odražajo karakteristike izbranih nasprotnikov. Zmogljivosti ekip lahko izrazimo v prostoru ekspertnih atributov (če je ta na voljo) oziroma konstruiramo ustre- zni atributni prostor v ekplicitni (na primer z uporabo metode iz [13]) ali implicitni obliki (glej razdelek 3.3). Zaradi enostavnosti predpostavimo, da se zmogljivosti ekip a in h ne spreminjajo med trajanjem posamezne tekme (čeprav se lahko spreminjajo med sezono). Simulacijo košarkarske tekme generiramo s slučajnim sprehodom (x0,x1, . . . ,xf ), kjer stanji x0 in xf ustre- zata začetku in koncu tekme. Naj bo f(y|x) verjetno- stna porazdelitev naslednjega stanja y v odvisnosti od trenutnega stanja x. V opisu vsakega stanja sta samo dve slučajni spremenljivki, Evt in Dur, zato lahko z uporabo verižnega pravila pogojno porazdelitev f(y|x) poenostavimo in izrazimo v obliki: f(y|x) = fEvt(y(Evt)|x)fDur(y(Dur)|x, y(Evt)) (1) Pogojno porazdelitev iz enačbe (1) ocenimo s pomočjo dveh modelov: model MEvt ocenjuje marginalno po- gojno porazdelitev naslednjega dogodka ob podanem opisu trenutnega stanja, model MDur pa ocenjuje čas med dvema dogodkoma glede na opis trenutnega stanja in naslednji dogodek. Vzorčenje iz porazdelitve f(y|x) izvedemo s postopnim nastavljanjem vrednosti posame- znim komponentam iz opisa naslednjega stanja y. Naj- prej izberemo vrednost komponente Evt z vzorčenjem napovedi modela MEvt, ki na vhodu prejme opis tre- nutnega stanja x. Nato izberemo vrednost komponente Dur z vzorčenjem napovedi modela MDur, ki na vhodu poleg opisa trenutnega stanja x prejme tudi prej izbrano Tabela 1: Množica dogodkov za košarko. Oznaka dogodka Opis AJB, HJB Gostujoča / Domača ekipa je dobila sodniški met. AINB, HINB Gostujoča / Domača ekipa je vrnila žogo v igro. AORB, HORB Gostujoča / Domača ekipa je dobila skok v napadu. AOREB, HOREB Gostujoča / Domača ekipa je dobila ekipni skok v napadu. ADRB, HDRB Gostujoča / Domača ekipa je dobila skok v obrambi. ADREB, HDREB Gostujoča / Domača ekipa je dobila ekipni skok v obrambi. A2PA, H2PA Gostujoča / Domača ekipa je zgrešila met za 2 točki. A2PM, H2PM Gostujoča / Domača ekipa je zadela met za 2 točki. A3PA, H3PA Gostujoča / Domača ekipa je zgrešila met za 3 točke. A3PM, H3PM Gostujoča / Domača ekipa je zadela met za 3 točke. AFTiA, HFTiA Gostujoča / Domača ekipa je zgrešila pr- vega izmed i preostalih prostih metov (i ∈ [1 . . . 3]). AFTiM, HFTiM Gostujoča / Domača ekipa je zadela pr- vega izmed i preostalih prostih metov (i ∈ [1 . . . 3]). ATO, HTO Gostujoča / Domača ekipa je zapravila žogo. AV, HV Gostujoča / Domača ekipa je storila prekršek. AF, HF Gostujoča / Domača ekipa je storila osebno napako. vrednost Evt. Zdaj nastavimo vrednosti komponentam Qtr, Time in PtsDiff , saj lahko te rekonstruiramo neposredno na podlagi komponent Evt in Dur. Ker se, po predpostavki, vrednosti komponent a in h med tekmo ne spreminjajo, je s tem določen celoten opis naslednjega stanja y. 3.2 Modeliranje z eksplicitnim opisom zmogljivosti ekip Modela MEvt in MDur sta medseboj neodvisna, zato ju lahko učimo vsakega posebej. Pred učenjem je treba izbrati atributni prostor za predstavitev zmogljivosti ekip. V tem razdelku je opisan postopek učenja modelov v primeru, ko so zmogljivosti ekip podane v eksplicitni obliki (na primer z ekspertnimi statistikami na podlagi štirih faktorjev). Napovedovanje naslednjega dogodka (model MEvt) obravnavamo kot klasifikacijski problem. Učno množico za gradnjo modela MEvt sestavimo tako, da vhodne podatke play-by-play (kronološko zaporedje ključnih dogodkov na dejanskih tekmah) prevedemo v zapo- redje prehodov v izbranem prostoru stanj. En učni pri- mer predstavlja tranzicijo med zaporednima dogodkoma. Vsaki komponenti vektorja za kodiranje stanj ustreza en atribut (stolpec) v učni množici, razen komponentam za opis zmogljivosti ekip, ki sta sama vektorja in se raztezata čez več stolpcev (vsak element teh vektorjev predstavlja svoj atribut oziroma konkretno statistiko). Izsek vhodnih podatkov play-by-play je prikazan v tabeli VEKTORSKE VLOŽITVE PRI MODELIRANJU KOŠARKE 159 2. Učna množica, sestavljena na podlagi tega izseka, je prikazana v tabeli 3. Opis zmogljivosti ekip določimo za vsako tekmo po- sebej. Vrednosti atributov za tekočo tekmo izračunamo na podlagi statistik, ki jih je opazovana ekipa dosegla na že odigranih tekmah (na primer uporabimo povprečne vrednosti statistik). Pri izračunu atributov za opisova- nje domačega moštva upoštevamo samo tekme, ki jih je ta ekipa odigrala doma (ne glede na nasprotnika). Prav tako pri izračunu atributov za gostujočo ekipo upoštevamo samo tekme, ki so jih odigrali v gosteh (ne glede na nasprotnika). Z ločeno obravnavo domačih in gostujočih tekem implicitno upoštevamo prednost domačega igrišča. Odločitveno drevo z multinomialno logistično regre- sijo v listih se je izkazalo kot ustrezna izbira za model MEvt [21]. Hierarhična struktura odločitvenega drevesa uspešno povzame diskretna pravila igre in razdeli pro- stor stanj na disjunktne podmnožice, ki predstavljajo (v logičnem smislu) dovoljena nadaljevanja poteka do- godkov. Tako se izognemo neveljavnim prehodom v prostoru stanj (tistim, ki so v nasprotju s pravili igre). Dodatna prednost drevesnih modelov je njihova razu- mljivost za domenskega eksperta. Napovedovanje časa med dvema dogodkoma (model MDur) je v osnovi regresijski problem, saj ciljna spre- menljivka lahko zavzame poljubno zvezno vrednost med 0 in 24 (omejitev dolžine napada, izražena v sekundah). Po drugi strani pa lahko čas med dvema dogodkoma obravnavamo tudi kot ordinalno diskretno spremenljivko zaradi vsesplošne sekundne granulacije časa v podatkih play-by-play. Učna množica za model MDur je po strukturi skoraj identična tisti za MEvt (glej tabelo 3) – razlika je dodatni stolpec Dur, ki označuje čas prehoda iz trenu- tnega dogodka (atribut PrevEvt) v napovedan dogodek (atribut Evt) in predstavlja ciljno spremenljivko. Regresijsko drevo se je izkazalo kot ustrezen model za MDur [21]. Hierarhična struktura drevesa razdeli problemski prostor glede na par dogodkov: tistega, ki se je nazadnje zgodil, in tistega, ki je napovedan, da se bo naslednji zgodil. Posamezne napovedi o pretoku igralnega časa med omenjenima dogodkoma pa dobimo z vzorčenjem iz empirične porazdelitve primerov v listih drevesa. Prednost uporabe eksplicitnega atributnega prostora za opis zmogljivosti ekip je v tem, da modela MEvt in MDur, potem ko sta naučena, ni treba naknadno poso- dabljati (na primer ob večjih spremembah v zmogljivosti nekaterih ekip, kot so poškodbe ključnih igralcev ali prihod okrepitev). Vse morebitne spremembe v zmoglji- vosti ekip bodo zajete v vrednostih atributov. Modela MEvt in MDur bosta v svojih napovedih upoštevala novo situacijo brez potrebe po dodatnem učenju. 3.3 Modeliranje brez opisa zmogljivosti ekip V tem razdelku je predstavljen način učenja modelov MEvt in MDur brez eksplicitnega opisa zmogljivosti ekip. Osnovna ideja temelji na uporabi tehnike vektorske vložitve, ki med učenjem ciljne funkcije hkrati išče bolj ustrezno reprezentacijo vhodnih podatkov. Na sliki 1 je prikazana arhitektura nevronske mreže za učenje modela MEvt. Na vhodu sta domača (sloj I3) in gostujoča ekipa (sloj I4) predstavljeni z uporabo eničnega kodiranja (angl. one-hot encoding) – vsaka ekipa je predstavljena z binarnim vektorjem, katerega edini neničelni element je na poziciji, ki enolično določa opazovano ekipo. Na podoben način je na vhodu pred- stavljen tudi nominalen atribut PrevEvt (sloj I1). Pre- ostale atribute (Qtr, Time, PtsDiff in PrevDur), ki so na vhodu sloja I2, obravnavamo kot zvezne. Vsi skriti sloji (H1 do H5) so polno povezani in uporabljajo aktivacijsko funkcijo ReLU (Rectified Linear Unit). Iz- hod (sloj O1) je prav tako polno povezan, uporablja aktivacijsko funkcijo softmax in predstavlja verjetnostno porazdelitev napovedi kategorične ciljne spremenljivke Evt. Po končanem učenju mreže uteži na povezavah med sloji I3 in H3 ter I4 in H4 predstavljajo vektor- sko vložitev domače oziroma gostujoče ekipe. Zaradi eničnega kodiranja ekip se v nevrone na skritih nivojih H3 in H4 vpišejo samo vrednosti vhodnih nevronov, ki ustrezajo izbranima ekipama. Iz tega razloga lahko sloja H3 in H4 obravnavamo kot skrito oziroma implicitno atributno predstavitev ekip. Da bi dobili čim bolj robusten model MEvt, učenje mreže izvedemo z naslednjim iterativnim postopkom, pri katerem gradimo čedalje kompleksnejše modele. V prvem koraku izvedemo učenje nevronske mreže, ki je sestavljena iz slojev I1 in H1 ter polno povezanega izhodnega sloja O1. Ta mreža se nauči veljavnih sosledij dogodkov. V drugem koraku izvedemo učenje nevronske mreže, sestavljene iz slojev I1, I2, H1 in H2 ter polno povezanega izhodnega sloja O1, pri čemer začetne vre- dnosti vhodnih uteži v sloj H1 nastavimo na vrednosti iz mreže, naučene v prvem koraku. Tako dobimo model, ki upošteva lokalni kontekst pri napovedovanju naslednjega dogodka. V tretjem koraku izvedemo učenje celotne nevronske mreže, pri čemer začetne vrednosti vstopnih uteži v sloja H1 in H2 nastavimo na vrednosti iz mreže, naučene v drugem koraku. Tako dobimo celoten model MEvt, ki pri napovedovanju naslednjega dogodka upošteva tudi latentno predstavitev ekip. Napovedovanje časa med dogodki (model MDur) tokrat obravnavamo kot 25-razredni klasifikacijski pro- blem (zaloga vrednosti ciljne spremenljivke Dur, ki predstavlja časovni interval v sekundah, so cela števila na intervalu od 0 do 24). Osnovna motivacija za takšen pristop je možnost vzorčenja iz napovedane verjetno- stne porazdelitve za ciljno spremenljivko, kar omogoča generiranje bolj pestrih in s tem tudi bolj realističnih 160 VRAČAR Tabela 2: Izsek podatkov play-by-play iz prve četrtine tekme NBA, odigrane 28. marca 2010 med gostujočim Denverjem in domačim Orlandom. En zapis vsebuje podatek o četrtini (stolpec Qtr), času do konca četrtine (stolpec Time), ekipi (stolpec Team) in igralcu (stolpec Player), ki je izvedel akcijo (stolpec Action). Stolpec Score vsebuje oznako vodilne ekipe in trenutni rezultat. Qtr Time Team Player Action Score 1 6:51 DEN N Hilario 2 Point Miss DEN 10-8 1 6:48 DEN A Afflalo Offensive Rebound DEN 10-8 1 6:40 ORL D Howard Foul DEN 10-8 1 6:40 DEN N Hilario 1 Point Free Throw DEN 11-8 1 6:40 DEN N Hilario Missed Free Throw DEN 11-8 1 6:38 ORL M Barnes Defensive Rebound DEN 11-8 Tabela 3: Učni primeri, ki ustrezajo dogodkom play-by-play iz tabele 2. Posamezna vrstica predstavlja tranzicijo in dogodka PrevEvt v Evt (ciljna spremenljivka). Stolpci od Aatt1 do Aattw predstavljajo vrednosti atributov, ki opisujejo zmogljivosti gostujoče ekipe. Podobno stolpci od Hatt1 do Hattw opisujejo zmogljivosti domače ekipe. Stolpci Qtr, Time in PtsDiff predstavljajo četrtino, čas do konca četrtine (v sekundah) in trenutno razliko v rezultatu (z vidika domače ekipe) ob začetku tranzicije. Stolpec PrevDur je čas trajanja prejšnje tranzicije (tiste, ki je pripeljala do dogodka PrevEvt). Aatt1 . . . Aattw Hatt1 . . . Hattw Qtr Time PtsDiff PrevDur PrevEvt Evt a1 . . . aw h1 . . . hw 1 411 -2 - A2PA AORB a1 . . . aw h1 . . . hw 1 408 -2 3 AORB HF a1 . . . aw h1 . . . hw 1 400 -2 8 HF AFT2M a1 . . . aw h1 . . . hw 1 400 -3 0 AFT2M AFT1A a1 . . . aw h1 . . . hw 1 400 -3 0 AFT1A HDRB PrevEvt Qtr Time PtsDiff PrevDur HomeTeam AwayTeam Evt I1 H1 I2 I3 I4 H2 H3 H4 H5 O1 Slika 1: Arhitektura nevronske mreže za klasifikacijski pro- blem napovedovanja naslednjega dogodka na tekmi (model MEvt). simulacij. Arhitektura nevronske mreže za model MDur je zelo podobna tisti, prikazani na sliki 1. Prva razlika je v tem, da ima vhodni sloj I1 dvakrat več nevronov in prejema enično kodirane vrednosti nominalnih atri- butov PrevEvt in Evt (prejšnji in naslednji dogodek na tekmi). Druga razlika je izhodni sloj O1, ki ima zdaj 25 nevronov. Učenje mreže za model MDur prav tako izvedemo z iterativnim postopkom, ki je analogen tistemu za učenje modela MEvt. Pomanjkljivost opisanega pristopa za učenje modelov MEvt in MDur z vektorsko vložitvijo je v statičnosti latentne predstavitve ekip. Če želimo z modeloma zajeti spremembe v zmogljivosti ekip, ju je treba dodatno učiti in tako prilagoditi latentno predstavitev novi situaciji. Robustnost dodatnega učenja modelov povečamo tako, da fiksiramo sloja H1 in H2 ter s tem dovolimo mreži posodobitev le latentnih predstavitev ekip. 4 EKSPERIMENTALNA EVALVACIJA Za eksperimentalno evalvacijo predstavljenih metod smo uporabili podatke play-by-play tekem, odigranih v re- dnem delu osmih sezon lige NBA (od 2008/09 do 2015/16). Podatke smo pridobili na spletnem naslovu stats.nba.com. 4.1 Pimerjava različnih modelov za MEvt Primerjali smo različne modele po točnosti napove- dovanja naslednjega dogodka na košarkarski tekmi (za podrobnejši opis glej [13]). HOMEvt je najpreprostejši med obravnavanimi mo- deli za MEvt. Verjetnostna porazdelitev naslednjega dogodka je modelirana kot relativna frekvenca mogočih nadaljevanj, pogojena s trenutnim dogodkom (preostale atribute iz učne množice ignoriramo). Naslednji trije modeli so v obliki odločitvenega dre- vesa z multinomialno logistično regresijo v listih. Koren- sko vozlišče drevesa je pri vseh modelih ročno izbrano in predstavlja nebinarno razbitje problemskega prostora glede na trenutni dogodek (predstavlja ga vrednost atri- buta PrevEvt), ustrezna poddrevesa pa so avtomatsko VEKTORSKE VLOŽITVE PRI MODELIRANJU KOŠARKE 161 zgrajena z rekurzivno binarno delitvijo, pri čemer se kot mera za izbiro delitvenega kriterija uporablja ocena MDL [23]. Gradnja drevesa se ustavi, ko število prime- rov v vozlišču pade pod 500 ali ko nobeno razbitje ni kompresivno glede na oceno MDL. Logistični modeli v listih drevesa uporabljajo celoten nabor atributov iz učne množice, na podlagi katere je drevo zgrajeno. QTDEvt je model, naučen na podmnožici atribu- tov, ki se nanašajo samo na lokalni kontekst tekme (četrtina, čas do konca četrtine, razlika v rezultatu, trajanje prejšnje akcije in trenutni dogodek), medtem ko se opisi zmogljivosti ekip ignorirajo. FFEvt je model, naučen na podlagi vseh atributov v učni množici, vključno z zmogljivostmi ekip. Slednje so opisane z ekspertnimi atributi, znanimi kot štirje faktorji [11]. ACAEvt je model, podoben zgornjemu, le da so atributi za opisovanje zmogljivosti ekip dobljeni avto- matsko z uporabo metode iz [13]. Definicijo atributov smo sestavili na podlagi 3.690 tekem iz treh sezon NBA (od 2008/09 do 2010/11). Zadnji model v primerjavi je naš novi model NNEvt, ki ustreza nevronski mreži, prikazani na sliki 1. Število nevronov na slojih H3 in H4 je nastavljeno na 4 (vek- torska vložitev v štiridimenzionalni prostor). Število ne- vronov na preostalih skritih slojih smo izbrali empirično, in sicer: H1(38), H2(42) in H5(50). Celotna mreža ima 8.024 prostih parametrov. Za učenje mreže smo uporabili 40 iteracij (angl. epoch) pri velikosti serije (angl. batch size) 128. Vse modele razen NNEvt smo učili na tekmah iz dveh zaporednih sezon, testirali pa na naslednji, tretji sezoni. Pri tem so vrednosti atributov v učnih primerih izračunane za vsako sezono posebej (tj. zmogljivosti ekip na začetku ene sezone se ne navezujejo na njihovo uspešnost v predhodni sezoni). Model NNEvt smo najprej naučili na vseh tekmah ene sezone, nato smo ga testirali na naslednji sezoni. Testiranje smo izvedli po igralnih dneh. Po končanem testiranju modela na tekmah tekočega igralnega dneva smo model posodobili z dodatnim učenjem na tistih tekmah. Za vsak testni primer so vsi obravnavani modeli vrnili verjetnostno porazdelitev dogodka, ki se bo naslednji zgodil na tekmi. Različnost med vrnjenimi predikcijami in dejanskimi dogodki smo ocenili z Brierjevo mero [24]. Rezultati so prikazani v tabeli 4. Iz rezultatov lahko sklepamo, da je model HOMEvt bistveno slabši od preostalih modelov, ki so po uspešnosti napovedovanja naslednjega dogodka precej primerljivi. Model QTDEvt je presenetljivo dober na- povedovalec naslednjega dogodka, čeprav ne upošteva značilnosti ekip. Iz tega lahko sklepamo, da lokalni kontekst trenutka bolj vpliva na naslednji dogodek kot značilnosti ekip – to zlasti drži za ligo NBA, kjer so razlike med ekipami načrtno precej majhne, da bi se spodbujala negotovost tekmovanja. V obeh sezonah se Tabela 4: Povprečne vrednosti ocene Brier score, izmerjene pri napovedovanju naslednjega dogodka v rednem delu tekme (četrtine 1–4) rednega dela sezon NBA 2014/15 in 2015/16. Standardna napaka pri vseh rezultatih je 5.5× 10−4. 2014/15 2015/16 Model Brier score Brier score HOMEvt 0.5806 0.5795 QTDEvt 0.5666 0.5658 FFEvt 0.5670 0.5661 ACAEvt 0.5674 0.5665 NNEvt 0.5651 0.5646 N = 591397 N = 596345 je kot najboljši izkazal model NNEvt. 4.2 Analiza verodostojnosti generiranih simulacij Za generiranje simulacij poteka košarkarske tekme potrebujemo par modelov: MEvt za napovedovanje na- slednjega dogodka in MDur za napovedovanje, koliko igralnega časa preteče do nastopa tega dogodka. V na- daljevanju predstavljamo uporabljene modele za MDur. HOMDur je najpreprostejši med obravnavanimi mo- deli. Čas med zaporednima dogodkoma modelira z vzorčenjem iz populacije vseh prehodov (opaženih v učni množici) med tema dogodkoma. HOMADur je podoben modelu HOMDur, le da ločeno modeliramo končnico (zadnjih 60 sekund) od preostanka četrtine. Motivacija za ta pristop je ugotovi- tev, da se dinamika igre bistveno spremeni v končnicah četrtin [21]. Naslednji trije modeli so v obliki regresijskega dre- vesa. Prva dva nivoja drevesne strukture sta ročno določena in razdelita problemski prostor glede na pred- hodni dogodek (korensko vozlišče) in napovedani na- slednji dogodek (vozlišče pod korenom). Preostanek drevesa pa je avtomatsko zgrajen z rekurzivno delitvijo po kriteriju najmanjših kvadratov na podlagi celotnega nabora atributov iz učne množice. Gradnja drevesa se ustavi, ko v listu ostane premalo učnih primerov, pri čemer se prag eksperimentalno določi na podlagi valida- cijske množice. Predikcijo modela v obliki diskretne ver- jetnostne porazdelitve igralnega časa med zaporednima dogodkoma dobimo iz empirične porazdelitve primerov v listih drevesa. QTDDur je model, naučen na podmnožici atribu- tov, ki se nanašajo samo na lokalni kontekst tekme (četrtina, čas do konca četrtine, razlika v rezultatu, trajanje prejšnje akcije, trenutni in naslednji dogodek), medtem ko se opisi zmogljivosti ekip ignorirajo. FFDur je model, naučen na celotnem naboru atribu- tov vključno z atributi za opis zmogljivosti ekip. Upo- rabljeni so ekspertni atributi na podlagi štirih faktorjev [11]. ACADur je prav tako model, naučen na celotnem naboru atributov, le da so tokrat atributi za opisovanje 162 VRAČAR zmogljivosti ekip dobljeni z avtomatskim postopkom iz [13]. Uporabljeni atributi so zgrajeni z namenom napovedovanja časa med zaporednima dogodkoma na tekmi. Definicija atributov je zgrajena na podlagi 3690 tekem iz treh NBA sezon (od 2008/2009 do 2010/2011). NNDur je nevronska mreža, ki modelira čas med dogodkoma na podlagi vektorske vložitve v štiridimenzionalni prostor. Število nevronov na skritih slojih je bilo izbrano empirično: H1(76), H2(80), H3(4), H4(4) in H5(88). Celotna mreža ima 22.637 prostih parametrov. Za učenje mreže smo uporabili 40 iteracij pri velikosti serije 128. Vse modele smo učili na podoben način kot pri napovedovanju naslednjega dogodka. Drevesne modele smo po učenju porezali na globino, ki optimizira kako- vost napovedi na validacijski množici (redni del sezone 2010/11). Z različnimi pari modelov MEvt-MDur smo gene- rirali 10 simulacij za vsako tekmo iz sezon 2014/15 in 2015/16. Tako smo z vsakim parom modelov dobili 23.800 simulacij*. Generirane simulacije smo nato pri- merjali z dejanskimi tekmami. Verodostojnost generiranih simulacij smo najprej oce- nili s pomočjo tradicionalnih zbirnih statistik (angl. box score), ki predstavljajo števce osnovnih dogodkov na posamezni tekmi. Primerjali smo porazdelitev vrednosti zbirnih statistik iz simuliranih tekem s porazdelitvami na dejanskih tekmah. Kot mero različnosti med diskretnima porazdelitvama S (empirično dobljena iz generiranih simulacij) in E (empirično dobljena iz dejanskih tekem) smo uporabili Kullback-Leiblerjevo (KL) divergenco, ki jo lahko interpretiramo kot količino izgubljene infor- macije, ko za aproksimacijo porazdelitve E uporabimo porazdelitev S. V tabeli 5 je prikazana parna primerjava različnih modelov glede na vrednost KL-divergence med porazdelitvami osnovnih košarkarskih statistik. V naslednjem eksperimentu smo generirane simula- cije primerjali z empiričnimi rezultati na podlagi ne- katerih karakteristik dinamike igre in gibanja rezultata (dolžina posesti, čas med zaporednima košema, dolžina niza zaporednih košev, število izmenjav vodilnega na tekmi in podobno), ki sta jih predstavila Gabel in Redner [18]. Parna primerjava med nekaterimi modeli je prikazana v tabeli 6. Rezultati sugerirajo, da najbolj verodostojne simu- lacije glede na predstavljene kriterije generirata kom- binaciji NNEvt-HOMDur in NNEvt-HOMADur. Manj prepričljive simulacije generirajo modeli, ki ne upoštevajo konteksta (HOMEvt-HOMDur) oziroma značilnosti ekip (QTDEvt-QTDDur). 4.3 Napovedovanje zmagovalca Kakovost napovedovanja zmagovalca lahko upora- bimo kot še eno možno oceno verodostojnosti generi- ∗Teoretično bi morali dobiti 24.600 simulacij, toda začetnih tekem v sezoni ni mogoče simulirati z modeli, ki uporabljajo eksplicitne opise zmogljivosti ekip, saj za nje ne moremo določiti vrednosti atributov. ranih simulacij. Od dobrega simulatorja pričakujemo, da bodo izidi generiranih tekem v povprečju skladni z rezultati dejanskih tekem. Posamezen par modelov MEvt-MDur smo ovrednotili glede na kakovost napovedovanja zmagovalca tekme s pomočjo naslednjega postopka. Za vsako tekmo iz sezon 2014/15 in 2015/16 smo generirali po 1.000 simulacij. Delež simuliranih tekem, ki jih je zmagalo domače moštvo, smo uporabili kot verjetnostno napoved za zmago domačina. Nato smo uporabili Brierjevo mero za oceno kakovosti napovedi kot povprečno kvadratno raz- liko med napovedanimi verjetnostmi zmag domačinov in dejanskimi izidi tekem. Iz testa smo izločili dejanske tekme, ki so po rednem delu končane brez zmagovalca. Tako smo kakovost napovedovanja zmagovalca za sezono 2014/15 določili na podlagi 1.117 parov, medtem ko smo za sezono 2015/16 uporabili 1.113 parov (od teoretičnih 1.230 te- kem, odigranih v posameznih sezonah). Dobljeni rezul- tati so zbrani v tabeli 7. Najboljši napovedovalec zma- govalca je par FFEvt-FFDur, ki je naučen z uporabo ekspertnih atributov. Nekoliko slabši je par ACAEvt- ACADur, naučen z avtomatsko generiranimi atributi. Modela HOMEvt-HOMDur in QTDEvt-QTDDur sta pričakovano najslabša, saj ne upoštevata dejanskih ka- rakteristik ekip in vedno napovedujeta povprečen izid. Pri tem eksperimentu sta para NNEvt-NNDur in NNEvt-HOMADur dosegla relativno slab rezultat, kar sugerira, da je latentni opis ekip samo delno zajel njihove zmogljivosti. Za primerjavo, model, ki vedno napove zmago domačina v skladu z deležem domačih zmag v učnih po- datkih, za sezono 2014/15 doseže klasifikacijsko točnost 0.58 in povprečno Brierjevo mero 0.244 (± 0.0001). Za sezono 2015/16 pa so rezultati tega modela: klasifikacij- ska točnost 0.59 in povprečna Brierjeva mera 0.242 (± 0.0001). Najboljši javni vir napovedi športnih izidov so kvote stavnic. Stavna borza Betfair je za sezono 2014/15 dose- gla klasifikacijsko točnost 0.71 in povprečno Brierjevo mero 0.196 (± 0.0051). 5 SKLEP V članku je predstavljena metodologija za modeliranje razvoja košarkarske tekme. Izhajali smo iz markovskega modela, pri čemer smo prostor stanj razširili z opisom trenutnega konteksta tekme. Tako smo v opis stanja vključili tudi del zgodovine razvoja tekme in s tem omilili markovsko lastnost modela. Verjetnost prehoda aproksimiramo z dvema modeloma, ki zaporedno (in pogojeno eden na drugega) napovedujeta posamezne dele opisa naslednjega stanja. Metodologija je uporabna pri modeliranju vseh športov, ki jih lahko dobro opišemo s stanji in prehodi med njimi. Predstavili smo postopek za avtomatsko generiranje latentnega atributnega prostora za opis zmogljivosti ekip, VEKTORSKE VLOŽITVE PRI MODELIRANJU KOŠARKE 163 Tabela 5: Parna primerjava glede na vrednost KL-divergence med porazdelitvami osnovnih košarkarskih statistik, ki so izmerjene na dejanskih in simuliranih tekmah (združeni sezoni NBA 2014/15 in 2015/16). Zapis oblike X : Y v i-ti vrstici in j-tem stolpcu pomeni, da je v neposredni primerjavi i-ti model boljši X-krat, j-ti model pa Y-krat. Zaradi enostavnosti zapisa so uporabljene kratice parov modelov. Oznake HOM , QTD, FF , ACA in NN predstavljajo pare istoimenskih modelov MEvt-MDur . Oznaka NH predstavlja par NNEvt-HOMDur , oznaka NHA pa par NNEvt-HOMADur . HOM QTD FF ACA NN NH NHA HOM - 16 : 8 13 : 11 8 : 16 9 : 15 6 : 18 5 : 19 QTD 8 : 16 - 4 : 20 3 : 21 4 : 20 3 : 21 3 : 21 FF 11 : 13 20 : 4 - 9 : 15 10 : 14 6 : 18 4 : 20 ACA 16 : 8 21 : 3 15 : 9 - 12 : 12 7 : 17 5 : 19 NN 15 : 9 20 : 4 14 : 10 12 : 12 - 10 : 14 9 : 15 NH 18 : 6 21 : 3 18 : 6 17 : 7 14 : 10 - 7 : 17 NHA 19 : 5 21 : 3 20 : 4 19 : 5 15 : 9 17 : 7 - Tabela 6: Parna primerjava glede na vrednost KL-divergence med porazdelitvami košarkarskih statistik za opis dinamike doseganja točk, ki so izmerjene na dejanskih in simuliranih tekmah (združeni sezoni NBA 2014/15 in 2015/16). Oblika zapisov in kratice so enake kot v tabeli 5. HOM QTD FF ACA NN NH NHA HOM - 4 : 4 2 : 6 2 : 6 5 : 3 1 : 7 0 : 8 QTD 4 : 4 - 2 : 6 3 : 5 5 : 3 2 : 6 2 : 6 FF 6 : 2 6 : 2 - 4 : 4 5 : 3 2 : 6 1 : 7 ACA 6 : 2 5 : 3 4 : 4 - 5 : 3 2 : 6 1 : 7 NN 3 : 5 3 : 5 3 : 5 3 : 5 - 1 : 6 1 : 6 NH 7 : 1 6 : 2 6 : 2 6 : 2 6 : 1 - 5 : 2 NHA 8 : 0 6 : 2 7 : 1 7 : 1 6 : 1 2 : 5 - Tabela 7: Evalvacija parov MEvt-MDur na podlagi napovedovanja zmagovalca, izmerjeno na tekmah rednega dela lige NBA v sezonah 2014/15 in 2015/16. Klasifikacijska točnost in povprečna Brierjeva mera se nanašata na napovedano verjetnost zmage domačega moštva. Vrednosti v oklepajih predstavljajo standardno napako. 2014/15 2015/16 Model Točnost Brier score Točnost Brier score HOMEvt-HOMDur 0.58 0.244 (± 0.0022) 0.59 0.243 (± 0.0019) QTDEvt-QTDDur 0.58 0.244 (± 0.0026) 0.59 0.241 (± 0.0022) FFEvt-FFDur 0.65 0.215 (± 0.0042) 0.65 0.214 (± 0.0043) ACAEvt-ACADur 0.63 0.223 (± 0.0043) 0.65 0.217 (± 0.0044) NNEvt-NNDur 0.61 0.231 (± 0.0038) 0.61 0.232 (± 0.0034) NNEvt-HOMADur 0.62 0.230 (± 0.0038) 0.61 0.231 (± 0.0033) N = 1117 N = 1113 ki temelji na tehniki vektorskih vložitev. Eksperimen- talna evalvacija, izvedena na sezonah lige NBA 2014/15 in 2015/16, je pokazala, da modeli, naučeni v latentnem atributnem prostoru, generirajo verodostojne simulacije. Po drugi strani so ti modeli izkazali nizko točnost napovedovanja zmagovalca, kar sugerira, da je latentni opis samo delno zajel zmogljivosti ekip. V nadaljnjem delu bomo preizkušali različne nasta- vitve dimenzionalnosti latentnega prostora pri vektorski vložitvi ekip. Preizkušali bomo še drugačne arhitekture nevronske mreže kakor tudi sam postopek in parametre učenja.