嘗試以機器學習排出P+前三隊 - 籃球

Table of Contents

大家好
前陣子世界賽,看到很多人在討論P+前兩隊的選人標準
突然想到我曾經做過類似的專題(感興趣的人可以A我文章看,但很簡略xD)
因此決定再做一次,看看是不是與媒體投票的結果有所差異~
先打預防針,這是機器學習的結果,基本上就是個黑盒子,所以大家看看就好,別太認真!


-
懶人包:

以 PCA+t-SNE 對資料降維,並以 K-Means 對球員分群^[1]
再考慮各群對球隊勝率的幫助及各自的上場時間,得出結論(有根據P+規則)
第一隊-> 吉爾貝克李德威李家瑞陳堅恩李愷諺
第二隊-> 辛巴朱雲豪曾文鼎楊盛硯(?)、簡祐哲
第三隊-> 塞瑟夫林志傑林書緯林俊吉高國豪
(參考板友意見後,在推文有另一個版本)


-
正文:

首先機器學習最重要的就是資料,分成傳統數據和進階數據
傳統數據部分來自P+網站,進階數據部分則來自Game Changer網站^[2]
範圍是本季例行賽,出賽多於十場、平均上場多於六分鐘、總上場時間多於一百分鐘

在這裡先吐槽一下,P+可不可以趕快完善數據這一塊,不懂到底難在哪......
都有一個NBA stat給你抄了,到現在還是只有傳統數據@@


但現在的資料維度(95個)太高,直接跑的結果不會好,因此需要先設法降低
這邊用的是比較常見的 PCA 和 t-SNE

PCA 的中文叫做「主成分分析」,原理簡單來說是透過軸的旋轉
找到新的變數(即主成分),這個變數可以同時保留很多維度的訊息,從而達到降維目的
可以想像在二維平面上,假設資料點都是(1,1)、(2,2)、(3,3)......
那麼比起用x、y軸記錄這些點,不如將座標軸旋轉45度,那就是只用一個軸達到同樣效果

但 PCA 完後仍有3X個維度,因此再引入另一種方法再度降維
t-SNE 我不太確定正式的中文譯名,直接翻的話叫「t分布隨機鄰近插入」
假設我們想要將一個圓上均勻的點投射在一條線上,勢必有重疊但其實距離很遠的點
那要如何讓這些點在線上可以分別?答案比想像中粗暴:先量原本的距離
量完後根據距離丟到t分布上,並賦予這些點一個條件機率
使這些點有更高的機會在投射後被分到原本距離近的點附近(抱歉真的很難解釋^[3])


維度順利降到二維後,就可以開始對球員進行分群了,在這裡順便解釋一下原因
在現行所有評估球員的方法中,最難的點就是怎麼降低場上其他人的影響?

這就回到我的目的,也就是選出前三隊
對我來說,前三隊代表這些人上場就是贏球保證
因此我藉由觀察其他表現差不多的球員,去看說是不是其他人上場越多,球隊勝率越高?
當然這個想法有很多瑕疵,但現行公開的數據來看,我認為可能沒有更好的選項

分群的方法應該就不用介紹了,就是將距離近的點抓在一起,而這裡我將球員分10群^[4]
接著計算各群在各隊的上場時間,加上各隊勝率跑個迴歸,便得到各群平均對勝率的影響
值得注意的是各群之間各球員的相似度落在0.375至0.4左右
因此如果直接用上面得到的結果,會造成精確度的影響很大,那要怎麼解決呢?

其實統計很常見的做法就是:一次不行,那就多跑幾次,相信大數法則xD
所以我重複上述步驟100次,並將每次得到的勝率乘上同群相似度和總上場時間
最後得到的結果便是我用來決定前三隊的指標!(結果如懶人包所示)^[5]


-
心得:

1.以這項指標來看,MVP德威、最佳洋將大B、最佳新人小烈
而敏哥和又瑋在這項指標中都不算太好

2.國王和領航猿的洋將在隊內排名都不高(湯瑪士隊內第9,里喬羅三人則幾乎墊底)
可能是國王的體系讓本土球員可以更好的發揮優勢?

3.結果看起來對中鋒評價都比較高,可能是採用的數據問題,也可能在台灣中鋒真的很好用
這一點等之後有更多數據後再作觀察

4.FMVP辛特力在隊內排名倒數第二,真正的季賽養生季後殺生代表?

5.這項指標為負值的人有->
張耕淯聶歐瑪李盈鋒里金斯林宜輝錢肯尼
而領航猿和鋼鐵人大多都為負值,可能勝率太低所致,也可能體系有很大的問題

6.另外有一項指標是看各球員被分到的群,在全部裡面排名第幾
我原本想當作觀察有誰應該得到更多上場時間的指標,但容毅燊名列前矛讓我有點懷疑

7.以結果來看,應該模型表現沒有很好,未來再找找看有沒有衡量的指標做為參考
也歡迎對數據有興趣的板友們一起討論、集思廣益!


-
附註:

[1]這個過程參考自UCLA的一篇論文:https://tinyurl.com/544k9dkf

[2]https://tinyurl.com/2e6y5qfr
其中除了各區域命中率以外皆有使用
順便問一下有沒有高人可以指點如何爬這種網站?慢慢複製好累......

[3]有興趣的板友推薦看https://tinyurl.com/4vhbkww3
非常淺顯易懂!

[4]群數的決定辦法是土法煉鋼,從分2群到分10群,各跑1000次看結果哪個最好

[5]最後附上各隊前六名:
勇士 -> 塞瑟夫 > 曾文鼎 > 林書緯 > 林志傑 > 曾祥鈞 > 張宗憲
國王 -> 李愷諺 > 簡祐哲 > 林仕軒 > 林力仁 > 陳俊男 > 楊興治
領航猿-> 陳冠全 > 林耀宗 > 李家慷 > 林 正 > 溫立煌 > 盧峻翔
攻城獅-> 辛 巴 > 李家瑞 > 朱雲豪 > 陳堅恩 > 高國豪 > 吳岱豪
夢想家->吉爾貝克> 李德威 > 楊盛硯 > 林俊吉 > 吳永盛 > 陳振傑
鋼鐵人-> 布 朗 > 王柏智 > 王律翔 > 班尼特 > 鄭德維 > 盧哲毅

--

All Comments

Zanna avatarZanna2022-07-05
會不會有垃圾時間的問題?
Emily avatarEmily2022-07-08
有趣 推個
Zanna avatarZanna2022-07-05
這數據是不是冠軍賽直接打臉,不然就是一人球隊無法
參考
Robert avatarRobert2022-07-08
第三隊三後衛,是不是該換掉一個?
Franklin avatarFranklin2022-07-05
原PO沒有考量到主力問題嗎? 基本上前三隊一定是該
隊主力阿
James avatarJames2022-07-08
你名單出現非主力排擠主力 不覺得有問題嗎
Carol avatarCarol2022-07-05
李家瑞攻城獅第二?
Frederica avatarFrederica2022-07-08
感覺很多都跟直覺上的排名不一樣
Yedda avatarYedda2022-07-05
如果用一樣的系統排NBA的不知道會怎樣
Victoria avatarVictoria2022-07-08
機器學習的問題通常都是數據的問題
Ina avatarIna2022-07-05
數據很多 但要放那些資料才可以客觀評比都是學問
Tristan Cohan avatarTristan Cohan2022-07-08
官方提供的數據不足時 模型
George avatarGeorge2022-07-05
更難建立
原PO滿有心的 推
Caitlin avatarCaitlin2022-07-08
辛特力完全沒上榜 扯
Charlie avatarCharlie2022-07-05
Sample size感覺不太夠?就算PCA之後sample size是
不是也不到parameters 的10倍?
Quintina avatarQuintina2022-07-08
有趣推個
George avatarGeorge2022-07-05
技術含量很高給推 XD
Michael avatarMichael2022-07-08
原PO加油 做到聯盟來找你就成功了
Rachel avatarRachel2022-07-05
有正規化和Data cleaning嗎 怎麼德威家瑞會在第一
隊= =
Skylar DavisLinda avatarSkylar DavisLinda2022-07-08
家瑞德威的共同點都是季中有一段時間沒有上場
Harry avatarHarry2022-07-05
資料維度太高的話要不要試試看LBG vector quantiza
tion 來壓縮一下?
Tom avatarTom2022-07-08
P的官網數據真的少到可憐
Ina avatarIna2022-07-05
之前大勝還被登記到領航猿
Brianna avatarBrianna2022-07-08
這數據確實有趣
Megan avatarMegan2022-07-05
以前我是用類神經網路拓樸最佳群數
Suhail Hany avatarSuhail Hany2022-07-08
看到第一隊有李德威、李家瑞就可以end 了
Vanessa avatarVanessa2022-07-05
猿隊陳冠全最高??? 李家慷 > 盧峻翔???
James avatarJames2022-07-08
有趣
Vanessa avatarVanessa2022-07-05
喔喔看錯了你已經降維了XD 那可能真的就是數據太少
John avatarJohn2022-07-08
的問題 可以再抓一些進階數據來建模型應該會更準
Quintina avatarQuintina2022-07-05
用效率值來算說不定最準?
Edward Lewis avatarEdward Lewis2022-07-08
效率值的問題可能會更偏好一些會在垃圾時間刷分的
人,而且會忽視掉很多防守貢獻,我覺得以on/off 值
Doris avatarDoris2022-07-05
來做球隊內的比較應該特徵性會高點
Robert avatarRobert2022-07-08
很好的想法 原po加油
Andy avatarAndy2022-07-05
Tristan Cohan avatarTristan Cohan2022-07-08
台籃板難得的優文
Hedda avatarHedda2022-07-05
Heather avatarHeather2022-07-08
好有趣的文,雖然目前還不太準……XD
Odelette avatarOdelette2022-07-05
用autoencoder降維看看 結果有沒有比較好
Elizabeth avatarElizabeth2022-07-08
另外也可以用DBscan試試看分群 多用看看不同方法吧
Sandy avatarSandy2022-07-05
推推!
Hedda avatarHedda2022-07-08
有趣給推
Robert avatarRobert2022-07-05
有人看到跟自己的印象分數不一樣就開酸= =就說是純
機器演算 有什麼毛病
Xanthe avatarXanthe2022-07-08
有趣 期待之後的結果 推!
Thomas avatarThomas2022-07-05
純粹機器演算本來就有可能不準 看這份結果有人質疑
也很正常
Franklin avatarFranklin2022-07-08
國王隊為啥沒有楊敬敏,是不是少了啥
Xanthe avatarXanthe2022-07-05
德威德威 耀武揚威
Ophelia avatarOphelia2022-07-08
有趣推推
Jessica avatarJessica2022-07-05
覺得用心 推!
Andrew avatarAndrew2022-07-08
全世界頂級體育聯盟都在用數據分析了,還有人跟印象
分數不同就end或開酸
Ursula avatarUrsula2022-07-05
數字是不會錯的,所以為什麼會跟印象分數差很多就是
Enid avatarEnid2022-07-08
分析要做的事,是要修正模型還是數據量不夠等等等
什麼年代了,竟然還有人跟感覺不同就說數據沒用
Rae avatarRae2022-07-05
Cara avatarCara2022-07-08
推 有趣
Oliver avatarOliver2022-07-05
Victoria avatarVictoria2022-07-08
推 數值是用per36嗎?
Rae avatarRae2022-07-05
推Game Changer 台籃進階數據專業網站
Enid avatarEnid2022-07-08
推數據 p的model比較複雜 牽扯到洋將使用限制
Zenobia avatarZenobia2022-07-05
推,以後誰再酸家瑞只會假動作不敢投的,就拿這篇
打臉
Charlie avatarCharlie2022-07-08
推,敲碗control分差過大時的數據再跑一次的結果
Kristin avatarKristin2022-07-05
推一個
Belly avatarBelly2022-07-08
原PO是全部下去跑吧 也許可先做Feature Selection?
Kumar avatarKumar2022-07-05
原來PCA也可以這樣玩xD
Carol avatarCarol2022-07-08
推用心分析 台籃真的回來了XD
Yuri avatarYuri2022-07-05
會不會以後每一季都出一篇論文XD
Caitlin avatarCaitlin2022-07-08
優文必推
Caitlin avatarCaitlin2022-07-05
推用心
Brianna avatarBrianna2022-07-08
結果看起來跟大家印象不一樣 勝率是使用logistic re
gression跑嗎
Lucy avatarLucy2022-07-05
推一個,這好酷
Xanthe avatarXanthe2022-07-08
就算多跑幾次機器可能也會跟著你的數據客製化學習方
Caroline avatarCaroline2022-07-05
式,不過這算是無解的資料問題了,機器學習其實沒法
用太少的數據解決太複雜的問題
Jacky avatarJacky2022-07-08
推。不過多跑幾次不是大數法則,那是p-hacking,
一個當代的濫觴XD 個人比較不建議。
Charlie avatarCharlie2022-07-05
第一隊好弱
Edwina avatarEdwina2022-07-08
有趣
Madame avatarMadame2022-07-05
雖然看不太懂,但有其專業給推XD
Irma avatarIrma2022-07-08
DATA那麼少
Daniel avatarDaniel2022-07-05
Iris avatarIris2022-07-08
Madame avatarMadame2022-07-05
記者投票是憑感覺 也不是看數據的
Regina avatarRegina2022-07-08
這種套用只是好玩 實用上沒什麼意義
Cara avatarCara2022-07-05
爬資料這點稍微看了一下他的網頁,可以試試selenium
加上pandas應該可以省去很多麻煩