2020美賽F獎論文(三):足球團隊指標和基於機器學習的球隊表現預測

上接:2020美賽F獎論文(二):傳球網絡模型(PNM)的建立和影響因子分析
全文:

4 足球團隊指標和基於機器學習的球隊表現預測

足球隊中成功團隊合作有許多指標,通過數據分析和實際經驗,我們主要考慮以下indicators:靜態指標和動態指標。首先,我們使用Goal(Gi)Goal(G_{i})
評價一場比賽的球隊整體發揮,作爲單場比賽表現標籤,定義Goal(Gi)Goal(G_{i})

Goal(Gi)={1,  OwnScoreOpponentScore<10,  OwnScoreOpponentScore[1,1]1,  OwnScoreOpponentScore>1 Goal(G_{i}) = \left\{ \begin{matrix} - 1,\ \ OwnScore - OpponentScore < - 1 \\0,\ \ OwnScore - OpponentScore \in \left\lbrack - 1,1 \right\rbrack \\1,\ \ OwnScore - OpponentScore > 1 \\\end{matrix} \right.

4.1 靜態指標

爲了考慮球員位置分佈,我們採出每個球員在整個賽季中的位置座標,做出球員運動位置的熱點圖,熱力圖每個點的值定義如下:

Heatmappk[i,j]=14δ2xδx+δyδy+δ{1,player has been here0, player never passeddxdy ,δ>0 \text{Heatmap}_{p_{k}}\left\lbrack i,j \right\rbrack = \frac{1}{4\delta^{2}}\int_{x - \delta}^{x + \delta}{\int_{y - \delta}^{y + \delta}\left\{ \begin{matrix} 1,player\ has\ been\ here \\ 0,\ player\ never\ passed \\ \end{matrix}\text{dxdy} \right.\ },\delta > 0

顏色越深則表示出現在此處的頻率較大,越淺表示出現的頻率越小。經過Heatmappk[i,j]\text{Heatmap}_{p_{k}}\left\lbrack i,j \right\rbrack的計算,主力11人的位置熱點圖如下:

球員位置分佈熱點圖

在一場球賽中,球隊的陣型對團隊協作起到重要作用,我們考慮在一場球賽中球員陣型,我們採取每一場比賽中每一位球員的運動座標,採用座標對時間積分的方法,找出每場球賽中,每一位球員平均座標。將在數據中可以獲取(球員出現在Origin/Destination)的時間點作爲新的橫座標,X或Y座標作爲新的縱座標,得出函數X(t) and Y(t)X\left(t \right)\ and\ Y(t)。我們近似認爲在任意兩個有記錄的時間點,球員在X或Y方向上勻速移動,這樣就將離散型的數據集轉換爲了連續性的數據集(每個)。因此平均座標,以X座標爲例,Y座標同理:

X(t) is a piecewise function, Xt is the X exactly when t. X\left( t \right)\text{\ is\ a\ }\text{piece}wise\ function,\ X_{t}\text{\ is\ the\ X\ exactly\ when\ t.}

{AvgX(pi)=090minX(t)dti=1n[12(ti+1ti1)×Xt]n=num of our events  \left\{ \begin{matrix} \text{AvgX}\left( p_{i} \right) = \int_{0}^{90min}{X\left( t \right)\text{dt}} \approx \sum_{i = 1}^{n}\left\lbrack \frac{1}{2}\left( t_{i + 1} - t_{i - 1} \right) \times X_{t} \right\rbrack \\ n = num\ of\ our\ events \\ \end{matrix} \right.\

將這11位球員的位置標在圖中繪製出每場球賽的陣型圖,部分陣型圖如下:
Match 1球員陣型圖
Match 11球員陣型圖

4.2 動態指標

動態指標包括了球隊人爲影響因素和在比賽裏產生的技術數據:人爲影響因素包括了教練、對手水平、主客場,技術數據包括了射門、傳球、解圍在內的各種events統計。原始的數據以單個事件作爲樣本的單位,而我們將其分類統計爲以一場比賽爲單位的動態類型數據,通過觀察以新結構存儲的數據,提取出其中的若干特徵信息。

4.2.1數據清洗和特徵工程

在特徵工程中,爲了降低特徵的維度,不僅使用PCA篩選並剔除影響不顯著的特徵,還可以使用ChiMerge這一特徵分箱的方法,將EventSubTypes分爲傳球,進攻,防守和Fail四個方面,與教練、主客場、對手水平一起作爲一場比賽的特徵。通過標準化、啞變量、結合分析等方法處理統計後的數據來量化比賽的特徵:

(1)統計型數據 Statistical data

Defence(Gi)=Clearance+Blocks+Interruption+Aerial Dual+Saves Defence(G_{i}) = Clearance + Blocks + Interruption + Aerial\ Dual + Saves

Attack(Gi)=Shots+Dribbles+Touch+Corners+Offside Attack(G_{i}) = Shots + Dribbles + Touch + Corners + Offside

Fail(Gi)=Loss of Possession+Fouls Fail(G_{i}) = Loss\ of\ Possession + Fouls

Oppo(Gi)=Pts(OpponentID)+j=138GDj(OpponentID) \text{Oppo}\left( G_{i} \right) = Pts\left( \text{OpponentID} \right) + \sum_{j = 1}^{38}{\text{GD}_{j}\left( \text{OpponentID} \right)}

(2)多事件結合分析型數據 Multi-event combined analysis data

Possession(Gi)=190mini=2n(titi+1),(n is the number of Huskiesdata) Possession(G_{i}) = \frac{1}{90min}\sum_{i = 2}^{n}{(t_{i} - t_{i + 1})},(n\ is\ the\ number\ of\ Huskies^{'}data)

(3)One-Hot編碼啞變量數據 One-Hot encoded dummy variable data

Side(Gi)={0,home1,away ={[1,0],home[0,1],away  \text{Side}\left( G_{i} \right) = \left\{ \begin{matrix} 0,h\text{ome} \\ 1,away \\ \end{matrix} \right.\ = \left\{ \begin{matrix} \left\lbrack 1,0 \right\rbrack,home \\ \left\lbrack 0,1 \right\rbrack,away \\ \end{matrix} \right.\

{Coach(1)=[1,0,0]Coach(2)=[0,1,0]Coach(3)=[0,0,1]  \left\{ \begin{matrix} \text{Coac}h\left( 1 \right) = \left\lbrack 1,0,0 \right\rbrack \\ \text{Coac}h\left( 2 \right) = \left\lbrack 0,1,0 \right\rbrack \\ \text{Coac}h\left( 3 \right) = \left\lbrack 0,0,1 \right\rbrack \\ \end{matrix} \right.\

4.2.2 可視化分析

分析Side(Gi)\text{Side}\left( G_{i} \right)對於 Goal(Gi) and Ratings(Gi)\text{\ Goal}\left( G_{i} \right)\ and\ Ratings(G_{i})影響:
主客場與得分的關係圖

Side(Gi)=0\text{Side}\left( G_{i} \right) = 0Goal(Gi)=0 or 1\text{Goal}\left( G_{i} \right) = 0\ or\ 1的分佈更多,Ratings(Gi)Ratings(G_{i})分佈更高,因此主場表現結果整體上比客場要好。

分析不同Coach的執教水平以及對於球隊Attack(Gi),Defence(Gi),Passes(Gi) and Fail(Gi)\text{Attack}\left( G_{i} \right),Defence\left( G_{i} \right),Passes\left( G_{i} \right)\ and\ Fail(G_{i})的指導成效:
不同教練指導下球隊4種表現數據和淨勝球對比圖
不同教練指導下球隊4種表現數據和淨勝球對比圖
不同教練指導下球隊4種表現數據和淨勝球對比圖
不同教練指導下球隊4種表現數據和淨勝球對比圖

從boxen圖我們可以看出,在Coach 3指導下,球隊Goal(Gi),Attack(Gi)\text{Goal}\left( G_{i} \right),Attack\left( G_{i} \right)等數據較好,其次是Coach 2和Coach 1。我們還可以得出教練們的執教風格,例如:教練1更具侵略性,防守就顯得平庸;教練2強調強硬防守;教練3則較爲平衡,戰績最佳。

分析Attack(Gi)\text{Attack}\left( G_{i} \right)Passes(Gi)\text{Passes}\left( G_{i} \right)對於 Goal(Gi)\text{\ Goal}\left( G_{i} \right)的貢獻:
進攻、傳球與淨勝球之間關係圖

從圖中我們可以看出,在不同淨勝球數下,進攻和傳球大體上爲線性相關,斜率爲正。

{Passes(Gi) in [0.0,1.0],Attack(Gi) in [0.0,0.9],Goal(Gi)<0Passes(Gi) in [0.0,1.0],Attack(Gi) in [0.1,1.0],Goal(Gi)=0Passes(Gi) in [0.5,0.8],Attack(Gi) in [0.6,1.0],Goal(Gi)>0, Mainly  \left\{ \begin{matrix} \text{Passes}\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.0,1.0 \right\rbrack,Attack\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.0,0.9 \right\rbrack,Goal\left( G_{i} \right) < 0 \\ \text{Passes}\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.0,1.0 \right\rbrack,Attack\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.1,1.0 \right\rbrack,Goal\left( G_{i} \right) = 0 \\ \text{Passes}\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.5,0.8 \right\rbrack,Attack\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.6,1.0 \right\rbrack,Goal\left( G_{i} \right) > 0 \\ \end{matrix},\ Mainly \right.\

Goal(Gi)Goal(G_{i})Passes(Gi) and Attack(Gi)\text{Passes}\left( G_{i} \right)\text{\ and\ Attack}\left( G_{i} \right)呈正相關,且分佈越集中,Passes(Gi) and Attack(Gi)\text{Passes}\left( G_{i} \right)\text{\ and\ Attack}\left( G_{i} \right)的方差較小。我們可以得出結論:在一場球賽乃至整個賽季,Goal(Gi)Goal(G_{i})越多,大概率有着更高的Passes(Gi) and Attack(Gi)\text{Passes}\left(G_{i} \right)\text{\ and\ Attack}\left( G_{i} \right)

分析Defence(Gi)\text{Defence}\left( G_{i} \right)Fail(Gi)\text{Fail}\left( G_{i} \right)對於 Goal(Gi)\text{\ Goal}\left( G_{i} \right)的貢獻:
防守、失敗與淨勝球之間關係圖
{Fail(Gi) in [1.0,0.2],Defence(Gi) in [0.0,0.5],Goal(Gi)<0Fail(Gi) in [1.0,0.0],Defence(Gi) in [0.0,1.0],Goal(Gi)=0Fail(Gi) in [0.6,0.2],Defence(Gi) in [0.0,0.7],Goal(Gi)>0, Mainly  \left\{ \begin{matrix} \text{Fail}\left( G_{i} \right)\text{\ in\ }\left\lbrack - 1.0, - 0.2 \right\rbrack,Defence\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.0,0.5 \right\rbrack,Goal\left( G_{i} \right) < 0 \\ \text{Fail}\left( G_{i} \right)\text{\ in\ }\left\lbrack - 1.0,0.0 \right\rbrack,Defence\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.0,1.0 \right\rbrack,Goal\left( G_{i} \right) = 0 \\ \text{Fail}\left( G_{i} \right)\text{\ in\ }\left\lbrack - 0.6, - 0.2 \right\rbrack,Defence\left( G_{i} \right)\text{\ in\ }\left\lbrack 0.0,0.7 \right\rbrack,Goal\left( G_{i} \right) > 0 \\ \end{matrix},\ Mainly \right.\

Goal(Gi)\text{Goal}\left( G_{i} \right)Defence(Gi)\text{Defence}\left( G_{i} \right)呈正相關,與Fail(Gi)\left| \text{Fail}\left( G_{i} \right) \right|呈負相關,且分佈越集中,Defence(Gi)and Fail(Gi)\text{Defence}\left( G_{i} \right) \text{and}\text{\ Fail}\left( G_{i}\right)的方差較小。觀察發現:圖2左1的點分佈在下方,因此防守不好會導致輸球;右1左半邊沒有點,因此期望贏球則失誤不能多。

Attack(Gi),Defence(Gi),Passes(Gi)\text{Attack}\left( G_{i} \right),Defence\left( G_{i} \right),Passes\left( G_{i} \right)作爲考察球隊整體表現的positive指標,結合Passes(Gi),Oppo(Gi)\text{Passes}\left( G_{i} \right),Oppo\left( G_{i} \right)指標進行多角度分析:
進攻和防守之間關係圖
對手水平與傳球關係圖

從左圖中我們可以看出數據重心分佈在右下角,認爲整個賽季上Attack(Gi)\text{Attack}\left( G_{i} \right)(進攻表現)顯著優於Defence(Gi)\text{Defence}\left( G_{i} \right)(防守表現)。從右圖中我們可以看出不論是在主場還是客場,Passes(Gi)[α1Oppo(Gi)+β]\text{Passes}\left( G_{i} \right) \propto \left\lbrack \alpha\frac{1}{\text{Oppo}\left( G_{i}\right)} + \beta\right\rbrack,但主場更可能有較小提升;結論是對手水平越高,我方傳球率越低。

綜合所有處理得到的特徵,通過Pearson相關係數的計算來估計出變量間兩兩特徵相關性。

rxy=NxiyixiyiNxi2(xi)2Nyi2(yi)2 r_{\text{xy}} = \frac{N\sum_{}^{}{x_{i}y_{i} - \sum_{}^{}{x_{i}\sum_{}^{}y_{i}}}}{\sqrt{N\sum_{}^{}x_{i}^{2} - \left( \sum_{}^{}x_{i} \right)^{2}}\sqrt{N\sum_{}^{}y_{i}^{2} - \left( \sum_{}^{}y_{i} \right)^{2}}}

令矩陣Arr[i,j]=rij\text{Arr}\left\lbrack i,j \right\rbrack = r_{\text{ij}},得:
動態指標整合的特徵相關係數矩陣

4.2.3 model建立and訓練

我們以Goal(Gi)Goal(G_{i})作爲每場比賽評價標籤,希望學習後的模型能夠基於處理後的數據對比賽進行分類,對應到Goal(Gi)Goal(G_{i})的標籤。由於M=10M=10個特徵數量較多,且與標籤相關性不一,不宜採用線性模型進行分類;且樣本數據N=38N=38數量極少,在嘗試一些深度學習算法時容易有較大偏差。綜上,我們選擇隨機森林模型建立Goal(Gi)Goal(G_{i})標籤分類器。

隨機森林是一個包含多個決策樹的分類器,
並且其輸出的類別是由個別樹輸出的類別的衆數而定。對於很多種資料,它可以產生高準確度的分類器;它可以在決定類別時,評估變數的重要性;在建造森林時,它可以在內部對於一般化後的誤差產生不偏差的估計。建立隨機森林分類器Random
Forest Classifier的方法如下:

  1. 輸入特徵數目mm,用於確定決策樹上一個節點的決策結果m<M2m < \sqrt[2]{M}

  2. 利用Bootstrap取樣,從NN個訓練用例中以有放回抽樣的方式,取樣NN次,形成一個訓練集,並用未抽到的用例作預測,評估其誤差;

  3. 對於每一個節點,隨機選擇m個特徵,決策樹上每個節點的決定都是基於這些特徵確定的。根據這m個特徵,計算其最佳的分裂方式;

  4. 每棵樹都會完整成長而不會剪枝,這有可能在建完一棵正常樹狀分類器後會被採用。

隨機森林分類器的訓練後,使用網格搜索grid search進行參數調優,選定

{n_estimator=50randomrate=0max_depth=3max_feature=M2  \left\{ \begin{matrix} n\_ estimator = 50 \\ \text{rando}m_{\text{rate}} = 0 \\ max\_ depth = 3 \\ max\_ feature = \sqrt[2]{M} \\ \end{matrix} \right.\

作爲參數,利用K折交叉驗證驗計算其accuracy score,用於評估模型準確率。

模型預測交叉驗證情況

經過一定的數據調整和多次模擬結果,平均情況下得分爲65.8%65.8\%,最好的數據情況下可以達到8090%80- 90\%的得分,在樣本規模僅有N=38N = 38的情況下,我們可以接受這一模型通過動態指標對比賽淨勝球情況進行預測的準確率。

下接:2020美賽F獎論文(四):模擬退火算法驅動的結構策略設計
全文:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章