aktivno

Surfin USA: tko će osvojiti naslov u NBA ligi?

  • 13.05.2019.
  • 17
  • 2

Nova Tribina specijalizirana za teme iz američkog sporta. Ovaj puta je naglasak na NBA konferencijska finala i pitanje: tko će osvojiti naslov ove sezone?

Hoće li Milwaukee Bucks osvojiti naslov? prije ne nego da, 35% 4.2 1, 0, 1, 2, 4, 7, 2, 0, 0, 0, 0
Hoće li Toronto Raptorsi osvojiti naslov? vjerojatno ne, 20% 2.9 1, 2, 2, 8, 2, 0, 2, 0, 0, 0, 0
Hoće li Golden State Wariorsi osvojiti naslov? vjerojatno da, 80% 7.1 0, 0, 0, 0, 0, 1, 6, 4, 4, 1, 1
Hoće li Portland Trail-Blazersi osvojiti naslov? vrlo vjerojatno ne, 10% 1.9 3, 4, 6, 2, 1, 0, 1, 0, 0, 0, 0

Analize (2)

danchyy | 15.05.

Iako smo već duboko u playoff fazi, još uvijek nije poznat MVP za prethodnu sezonu pa sam odlučio pronaći podatke i probati napraviti nekakve predikcije pomoću tehnika strojnog učenja.

Pronašao sam podatke na basketball-reference stranici. Podaci glasanja za MVP-a lige sežu sve do 1968-69 sezone, no uzeo sam samo one od 1980-81 sezone pošto su tada počeli novinari odlučivati o pobjedniku. Evo primjera kako izgledaju podaci za 2015-16 sezonu.

Također ovdje sam pasteao sažetu verziju te tablice.

Most Valuable Player Table

 Voting Per GameShootingAdvanced
RankPlayerAgeTmFirstPts WonPts MaxShareGMPPTSTRBASTSTLBLKFG%3P%FT%WSWS/48
1 Stephen Curry 27 GSW 131.0 1310.0 1310 1.000 79 34.2 30.1 5.4 6.7 2.1 0.2 .504 .454 .908 17.9 .318
2 Kawhi Leonard 24 SAS 0.0 634.0 1310 0.484 72 33.1 21.2 6.8 2.6 1.8 1.0 .506 .443 .874 13.7 .277
3 LeBron James 31 CLE 0.0 631.0 1310 0.482 76 35.6 25.3 7.4 6.8 1.4 0.6 .520 .309 .731 13.6 .242

Provided by Basketball-Reference.com: View Original Table
Generated 5/15/2019.

Uz prethodne podatke, scrapeao sam web basketball-reference stranice za neke napredne statistike koje nisu bile dostupne, poput BPM, PER, TS%, i slično.

Pune podatke možete vidjeti na mom Github repozitoriju.

DEFINIRANJE PROBLEMA

Nakon što su podaci otprilike definirani, može se definirati problem koji će algoritmi strojnog učenja rješavati. Pošto je ovo zadatak rangiranja u svojoj suštini, a nema mnogo out of the box rješenja za taj problem, odlučio sam koristiti regresijski pristup (predviđanje vrijednosti) za rješavanje problema. 

Vrijednost koja će se predviđati jest Share stupac iz podataka koje sam linkao. Taj broj će uvijek biti između 0 i 1 i predstavlja udio glasova koje je igrač osvojio (zapravo udio bodova koje je igrač dobio u glasanju).

Dakle, ovdje praktički želim modelirati glasanje medija, tj želim predvidjeti kako će novinari glasati. Naravno ovdje izuzimamo bilo kakvu subjektivnost koja može biti prisutna kod njih, jer nije baš lako mjerljiva.

No odmah naletavamo na problem jer su ovi podaci vrlo nebalansirani, na histogramu za award share vrijednost, odnosno vrijednost koju želimo predvidjeti, može se vidjeti da je jako puno vrijednosti na razini 0.0* što je veliki problem.

ODABIR ZNAČAJKI ZA MODEL

Prije no što opišem način na koji sam trenirao i validirao model, prvo ću se dotaknuti odabira značajki i njihovog značenja. Mislim da će većina vas znati za većinu statistika koje su navedeni u podacima. No svejedno ću opisati nekoliko naprednih statistika.

PER stoji za Player Efficiency Rating, to je praktički zbrajanje svih pozitivnih i negativnih statistika uz neke sitne modifikacije.

BPM predstavlja Box Plus Minus i to je napredna statistika za evaluiranje kvalitete igrača i njegov doprinos ekipi. Uzima neke team based statistike u obzir, poput REB%, AST%, koje znači udio svih ekipnih skokova/asistencija koje je igrač uzeo dok je bio na terenu. Slično za ostale statistike.

TS_PCT stoji za True Shooting Percentage, i izračun je sljedeći: PTS / (2 * (FGA + 0.44 * FTA)) * 100

USG_PCT je skraćenica za Usage Percentage i to je procjena koliko timskih akcija igrač iskorištava dok je na terenu, izračun se može naći ovdje.

I za kraj, WS WS_per_48 stoje za Win Shares i Win shares per 48 minutes. Ta statistika pokušava podijeliti timski uspjeh na pojedince unutar ekipe.

Odabir značajki

Dosta tih statistika je vrlo slično pa sam odlučio izbaciti one koje ne doprinose sa mnoštvom informacija. Iskoristio sam nekoliko postupaka kako bih odlučio koje nisu potrebne.

Prvo je korištenjem uzajamne informacije, rezulati "bitnosti" značajka su sljedeći:

  • ws: 0.2884
  • per: 0.2811
  • ws_per_48: 0.2592
  • bpm: 0.2013
  • pts_per_g: 0.1482
  • usg_pct: 0.1053
  • win_pct: 0.0973
  • fta: 0.0948
  • ts_pct: 0.0872
  • fga: 0.0871
  • trb_per_g: 0.0695
  • mp_per_g: 0.0668
  • fg3a: 0.0355
  • ft_pct: 0.0311
  • ast_per_g: 0.0279
  • stl_per_g: 0.0139
  • fg_pct: 0.0089
  • blk_per_g: 0.0066
  • fg3_pct: 0.0000

Nakon toga sam iskoritio Random Forest Regressor. Na način da se natrenira jedna instanca modela te se pronađu najbitnije značajke za taj model. Ovo je rezultat:

  • ws: 0.3911
  • win_pct: 0.1326
  • per: 0.0938
  • bpm: 0.0537
  • ws_per_48: 0.0428
  • fga: 0.0368
  • usg_pct: 0.0310
  • ft_pct: 0.0263
  • ast_per_g: 0.0253
  • mp_per_g: 0.0251
  • fg_pct: 0.0231
  • fta: 0.0213
  • pts_per_g: 0.0183
  • fg3_pct: 0.0159
  • ts_pct: 0.0155
  • trb_per_g: 0.0153
  • blk_per_g: 0.0118
  • stl_per_g: 0.0103
  • fg3a: 0.0101

I za kraj, pronašao sam korelacijsku matricu između značajki, to mi je čak najviše pomoglo jer je to dobar način za vizualiziranje featurea koji su međusobno povezani što često nije dobro za modele poput linearne regresije te da pronađem značajke koje su korelirane s ciljnom vrijednošću (što je dobro).

Maknuo sam sve značajke/statistike koje su međusobno jako korelirane ili one koje predstavljaju praktički istu stvar (npr. TS_PCT i FG_PCT). No svejedno sam ostavio neke koje su mi se činile kao logičan odabir što nije možda u potpunosti korektno, no nekad treba imati hunch :)

Ovo su finalne značajke koje koristim:

  • ts_pct
  • bpm
  • mp_per_g
  • pts_per_g
  • trb_per_g
  • ast_per_g
  • stl_per_g
  • blk_per_g
  • ws
  • win_pct

Pokušao sam natrenirati nekoliko modela sa svim značajkama i rezultati su bili generalno lošiji što je dobar pokazatelj da odabir ovih značajki ima smisla i validan je.

TRENIRANJE I VALIDACIJA

Uvijek je poželjan postupak Cross-Validationa kada se radi sa postupcima strojnog učenja te sam ih i ja ovdje iskoristio. Pošto sam imao na raspolaganju 38 sezona te trebalo je odlučiti između nekoliko vrsta modela i mnoštva parametara koje ih predstavljaju odlučio sam pronaći hiperparametre tako da sam uvijek modele trenirao na 37 sezona, a validirao rezultate na 1 preostaloj sezoni. Glavna metrika je bila Mean Squared Error za svaku od tih sezona te sam u konačnici uprosječio tih 38 rezultata i po tome rangirao modele i parametre. Uz to koristio sam i mjeru točnosti za najboljeg igrača, i najboljih 5 igrača.

Ovo su modeli koje sam koristio:

  • Linear Regression
  • Ridge Regression
  • Gradient Boosting Regressor
  • Random Forest Regressor
  • SVR

Također iskoristio sam polinomijalne značajke 2 i 3. stupnja te pokušao sam skalirati podatke između 0 i 1. 

Potpune rezultate možete vidjeti na GitHub repozitoriju u sljedećim fajlovima: reg_results_mse_sorted.txt, reg_results_sorted_top_1.txt, and reg_results_sorted_top_5.txt.

PREDIKCIJE ZA 2018-19 SEZONU

I za kraj evo predikcija za ovu sezonu, prvo ću prikazati rezultate za nekoliko modela koji su bili najbolji po Mean Squared Error metrici.

Gradient Boosting Regressor

Druge varijacije ovog modela, odnosno modeli s drukčijim parametrima su imali slične rezultate te je gotovo uvijek Harden bio na prvom mjestu.

Random Forest Regressor

Ovaj model je također rekao Harden, no kada sam isprobao druge parametre dobio sam malo drukčije rezultate.

Ridge Regression

Ovo je regularizirana linearna regresija.

Linearna Regresija

Najzabavniji rezultati.

Pošto je ovo najjednostavniji algoritam, i poprilično glup algoritam, može se vrlo lako prenaučiti na nekim značajkama i onda dođe do ove situacije. 

Support Vector Regression

Varijacija SVM modela za regresiju.

UPROSJEČENE PREDIKCIJE

Uz predikcije po pojedinačnim modelima, također sam izvrtio predviđanje na top 50 modela po MSE metrici.

Harden ima vrlo malu prednost ispred Giannisa, nakon njih slijedi Jokara, a poslije njega je sve tu vrlo gusto, iako će te vrijednosti u realnosti biti puno manje.

ZAKLJUČAK

Čestitke Jamesu Hardenu na još jednom MVP naslovu! Ili bar tako kažu ovi algoritmi. Vidjet ćemo za mjesec dana što će se dogoditi i hoće li ovi modeli biti imalo precizni. Nekako mi se čini da su novinari skloniji Giannisu no Hardenu, što će uvelike utjecati na konačne rezultate, al eto, Harden je ipak imao vrlo dobru sezonu i nosio svoju ekipu.

Ovdje imate link na Jupyter Notebook u kojem je kod za sve ovo što sam opisao.

Također napisao sam članak na mediumu (praktički ovo, al engleski).

Uživajte i nadam se da je bilo zanimljivo :)

Predviđanje MVP-a NBA lige za 2018-19 sezonu koristeći strojno učenje
Iako smo već duboko u playoff fazi, još uvijek nije poznat MVP za prethodnu sezonu pa sam odlučio pronaći podatke i probati napraviti nekakve predikcije pomoću tehnika strojnog učenja. Pronašao sam podatke na basketball-reference stranici. Podaci glasanja za MVP-a lige sežu sve do 1968-69 sezone, no uzeo sam samo one od 1980-81 sezone pošto su tada počeli novinari odlučivati o pobjedniku. Evo primjera kako izgledaju podaci za 2015-16 sezonu. Također ovdje sam pasteao sažetu verziju te tablice. Most Valuable Player Table Voting Per GameShootingAdvanced RankPlayerAgeTmFirstPts WonPts MaxShareGMPPTSTRBASTSTLBLKFG%3P%FT%WSWS/48 1 Stephen Curry 27 GSW 131.0 1310.0 1310 1.000 79 34.2 30.1 5.4 ...
Predviđanje MVP-a NBA lige za 2018-19 sezonu koristeći strojno učenje
Iako smo već duboko u playoff fazi, još uvijek nije ...
Fantastično , koristiš li R osim Pythona, pruža odlične alate za vizalizaciju - chelsea_2012, 16.5.19. 13:11, 0 0 0
Hvala :) R je super al nažalost jako malo sam ga koristio. Al zapravo sam preko njega ušao u cijeli svijet vizualizacije i grafova preko ovog posta: https://thedatagame.com.au/2015/09/27/how-to-create-nba-shot-charts-in-r/ - danchyy, 16.5.19. 21:58, 0 0 0
cropol | 14.05.

Finale Istoka biti ce po svim pokazateljima istinski spektakl. Za razliku od zapadne konferencije gdje u finalu imamo 2vs2 (Steph/Klay protiv Lillard/McCollum) ovdje ce sva pozornost biti na vodjama/superstars Bucksa i Raptorsa. Naravno ukoliko obadvojica budu na najvisem nivou razliku ce vrlo vjerojatno napraviti njihov supporting cast, tko ce bolje sutirati otvorene 3pts, cija ce klupa bolje igrati. Statisticki podaci obje ekipe nakon 2 runde play offa su fascinantni i iz njih se da zakljuciti da su Bucksi favoriti samim tim sto imaju home floor prednost, ali Raptorsi svakako imaju sansu dobiti ovu seriju.

Najprije cu ovdje iznjeti pojedinacnu statistiku koja ce pokazati gdje su prednosti i slabosti ekipa gledano po pozicijama a onda i ekipnu statistiku koja otkriva sto trebaju napraviti Bucksi a  sto Raptorsi da prodju u veliko NBA finale

STARTERS

Giannis vs Kawhi

27.4pts /11.3rbd/4.4ast/+11.3 vs 31.8pts/8.5rbd/3.6ast/+10.7

Ovdje naravno niti jednom superstaru ne mozemo dati prevagu jer obojica igraju na vrhunskom nivou. Mala prednost za Kawhia na iskustvo jer Giannisu je ovo prvo finale konfrencije a Kawhi je vec bio MVP NBA Finals.

Bledsoe vs Lowry

16pts/3.3rbs/4.3ass/+9.8 vs 12.4pts/5rbd/7.1ast/+11.4

I na ovoj poziciji su obje ekipe izjednacene s tim da onaj igrac koji odnese znacajnu prevagu u bilo kojoj tekmi ce vjerojatno i odluciti tekmu. Ako Bledsoe moze davati oko 20ppg Bucks ce tesko izgubiti. Ako Lowry moze kontinuirano imati 8-9assista po mecu uz agresivnu obranu i 3-4ukradene lopte Raptorsi imaju sansu.

Middleton vs Siakam

19.1pts/6rbd/4.6ast/+13.7 vs 20.8pts/7.3rbd/2.5ast/+5.3

I ova pozicija je izjednacena uzimajuci u obzir da su Bucksi imali lakse protivnike.Middleton ce sigurno imati slicne brojke, pitanje je moze li neiskusniji Siakam odigrati tako dobro, i hoce li biti potpuno zdrav. S druge strane Siakam je talentiraniji.Ipak mala prednost Middleton na isukstvo.

Connaughton vs Green

8.4pts/7.9rbd/1.6ast/+7.0 vs 8.4pts/3.8rbd/1.2ast/+8.1

Moguce je da ce Brogdon startati ako je zdrav ali na osnovu 2runde play offa bez obzira na brojke ovdje prednost dajem Greenu, jer njegov 3pt sutevi i iskustvo mogu donijeti prevagu Raptorsima.

Lopez vs Gasol

8.3pts/4.7rbd/1.2ast/+10.6 vs 8.6pts/5.6rbd/2.9ast/+6.0

Dosta izjednacena pozicija, oba C ce rasiriti(spread the floor) parket sutacima i Giannisu odnosno Kawhiu, i smatram da niti jedan igrac nece odluciti niti jednu tekmu, ofanzivno su 4-5opcije, defanzivno ce odigrati korektno.

ZAKLJUCAK: startne petorke su izuzetno ujednacene, kad se brojkama dodaju faktori iskustva.

BENCH

Mirotic vs Ibaka

9.3pts/4.4rbs/0.9ast/+5.3 vs 9.0pts/5.8rbd/0.8ast/+4.3

Po brojkama izjednaceno, no Ibaka je puno bitniji za Raptorse nego Mirotic za Buckse. Ovekivati je da ce Ibaka dobiti vise minuta. Ne duza ali ipak prednost Ibaka.

Hill vs VanVleet

12.1pts/2.8rbd/3.0ast/+11.0 vs 4.2pts/1.5rbd/2.5ast/-1.2

VanVleet je bio ocajan protiv Sixersa, on je undersized  i velika prednost Bucksima. Raptorsi bi trebali vise forsirati Powella ili cak McCawa i mozda cak niti ne ici sa VanVleet. Ako ce Hill dominirati sigurno ce biti prevaga za barem jednu do dvije pobjede a samim tim i seriju.

Illysova vs Powell

6.2pts/6.2rbs/1.7ast/+9.4 vs  5.9pts/2.2rbd/1.2ast/+0.8

Illyasova je igrao bolje u play offu ali Powell ima potencijal ako ga krene ubaciti i preko 20koseva sta Illyasova sigurno ne moze i nece. Radi toga cu ovdje dati prednost Raptorsima, ukoliko ce Powell moci izboriti se za znacajnije minute

Brogdon vs OG Annouby

Brogdon se tek vraca nakon povrede do OG vjerojatno nece niti igrati pa je pvo druga velika prednost za Buckse pojedinacno

ZAKLJUCAK: 

Klupa - Prednost Bucks

X-FAKTOR 

Tony Snell vs Jeremy Lin

Tesko da ce Snell dobiti minute ako su svi drugi zdravi. lin bi mogao igrati ako ce VanVleet biti uzasno los a Powel bez ucinka. 

Bucks vs Raptors EKIPNO:

Prosjecna Pobjeda

1.Bucks najbolji u play offs za 15.3pts winning prosjecno

2.Raptors najbolji drugi za 7.6 pts winning prosjecno

Branjenje 3pts suta protivnika

3.Raptorsi-protivnik 31,5%

4.Bucks-protivnik 31,7%

Branjenje 2ts suta protivnika

1.Bucks-protivnik 39,9%

2.Raptors-protivnik 41,3%

Protivnik broj koseva prosjecan

1.Raptors-protivnik 96koseva 

3.Bucks-protivnik 101.6koseva

Postotak 3pts suta

5.Bucks 35,4%

Raptorsi nisu medju prvih 10-imaju ispod 32,7%

Postotak 2pts suta

2.Bucks-46,8%

5.Raptors-45,4%

Ukradene lopte

3.Raptors 8,3

Bucksi nisu medju prvih 10 ekipa-6,1

Prosjecan broj Assista

2.Bucks-25,6

9.Raptors-22,3

Skokovi po utakmici

1.Bucks-52

Raptorsi nisu medju prvih 10-41,8

Broj poena po utakmici

2.Bucks-116,9

10.Raptors-103,6

ZAKLJUCAK EKIPNO: Obje ekipe igraju 2 najbolje obrane u play offu. Imaju slicne postotke suta za 2pt i 3pt. Bucksi pogadjaju vise otvorenih suteva pa su im assisti bolji, ali Raptorsi imaju vise ukradenih lopti. Prednost ekipi Bucks su skokovi i ukoliko Raptorsi znacajno ne podignu tu kategoriju, tesko ce dobiti ovu seriju.

Kljucevi pobjede serije za obje ekipe su vrlo slicnne

BUCKSI CE POBJEDITI AKO: nastave igrati obranu jednako dobru kao Raptorsi, pogode otvorene suteve za 3pts, dominiraju u skoku.

RAPTORSI CE POBJEDITI AKO: Kawhi outplays Giannis, klupa Raptorsa odigra jednako dobro kao klupa Bucksa, ne dopuste ofanzivne skokove/druge sanse Bucksima.

Progonza: Navijam za Raptorse pa se nadam .cudu i Raptors in 6. Ali realno na Bucksima je da izgube ovu seriju i ako odigraju na svom max biti ce Bucks in 6.

I na kraju pobjednik ove serie ce imati domaci parket u NBA finalu i realnu sansu osvojiti NBA prsten, bit ce favorites ako im dodje Portland.

Finale Istoka - Giannis vs Kawhi
Finale Istoka biti ce po svim pokazateljima istinski spektakl. Za razliku od zapadne konferencije gdje u finalu imamo 2vs2 (Steph/Klay protiv Lillard/McCollum) ovdje ce sva pozornost biti na vodjama/superstars Bucksa i Raptorsa. Naravno ukoliko obadvojica budu na najvisem nivou razliku ce vrlo vjerojatno napraviti njihov supporting cast, tko ce bolje sutirati otvorene 3pts, cija ce klupa bolje igrati. Statisticki podaci obje ekipe nakon 2 runde play offa su fascinantni i iz njih se da zakljuciti da su Bucksi favoriti samim tim sto imaju home floor prednost, ali Raptorsi svakako imaju sansu dobiti ovu seriju. Najprije cu ovdje iznjeti pojedinacnu statistiku ...
Finale Istoka - Giannis vs Kawhi
Finale Istoka biti ce po svim pokazateljima istinski spektakl. Za ...

Respekt: Fenix22,

Ne slažem se: Fenix22,

Bledsoea uspoređivati sa playoff Lowryem te Middletona sa Siakamom koje ako limitirate ulaze je igrač manje u fazi napada što se vidilo u seriji sa Philom. Leonard koji igra monstruozno ovaj playoff te je sam povukao Toronto dalje, ne tteba kom... - Fenix22, 15.5.19. 10:50, 0 0 0
Serija će ovisiti o Marcu Gasolu i njegovoj sposobnosti da uspori jer je nemoguć neutralizirat Giannisa jer ako Leonard bude morao igrat obranu na njemu, patit će napadački učinak. Naravno, ovo pričam na postavljenoj obrani. - Fenix22, 15.5.19. 10:53, 0 0 0
Fenix22 ne slazem se u vezi Lowrya..imao je kljucni offensive skok i kradju lopte u zadnje 3minute 7utakmice protiv 76ers..zato sam napisao ako bude agresivan i bude imao steals.Uporedba je po,poazicijama - cropol, 15.5.19. 18:11, 0 0 0
Isto se ne slazem da ce Gasol biti kljucan na Giannisu.Giannisa ce cuvati Siakam donekle Ibaka i Kawhi.Kawhi je cuvao Giannisa 22puta ove sezone i u tih 22napada Giannis je sutirao samo TRI PUTA!Ne pogodio, sutirao 3od22 napada pa ti vidi. - cropol, 15.5.19. 18:14, 0 0 0
Prati nas

©2017. Vingd, Inc. Sva prava pridržana.