如何用數據分析賽馬? (進階篇)

Horsorion
馬筆停題
Published in
7 min readDec 16, 2021

引言

看過「入門篇」的你應該對系統性量化選馬策略有了基本認知,若然你不知道我在說什麼,強烈建議你先透過以下連結回到入門篇,看完再回來,因為接下來的內容,是建基於讀者對系統性選馬策略有一定了解來寫的。

言歸正傳,一個有系統的選馬準則可以有助各位長遠穩定增長財富,但是問題在於「如何有效地加入不同的選馬因素並且製定標準?」,這次進階篇將會針對性解決讀者的疑慮,看完本文,你會明白到

  1. 什麼是數據視覺化?這有什麼用途?
  2. 如何利用數據視覺化找出合理的標準
  3. 如何利用數據驗證假設

Horsorion 賽馬數據

本文所有的分析和圖表亦是使用了 Horsorion 提供的賽馬數據。Horsorion 是香港唯一最齊全的賽馬數據庫,旨在推廣賽馬活動和帶入以賽馬為投資工具的新想法,為開發人員和市民大眾輕鬆分析數據及研發不同的應用程式。數據內容包括過往四十年多的賽事紀錄,涵蓋的馬匹數量多達 13,000 多匹,賽事多達 25,000 場。如有興趣了解更多,可參考以下網址:

數據視覺化 ( Data Visualization )

要找出量化的準則,第一步要做的,就是將數據變成圖像。這並非必要的一步,卻是重要的一步,因為變成圖像,你能簡單快速地消化數據,並加以分析。圖像能有效讓我們整理數據,找出當中的模式、趨勢,或是異常值等。為了加深大家的理解,我準備了兩個小測試。

測試一:在最短時間內找出以下表格中出現次數最多的字母。

我相信沒有人能夠五秒內甚至十秒內把答案說出來,那麼同一個測試,這次換成圖像,你能快速回答出現次數最多的字母是什麼嗎?

相信大部分人一秒就能答出「H」這個答案,那麼這次不再是找出現次數最多的字母,而是出現次數最少的那幾個字母,看著下圖,你能一秒內答出嗎?相信你已明白圖像表示數據的魅力之處。

測試二:以下是一個產品的價格於六個月內的變動,你能說出它的走勢嗎?

要從一堆亂中有序的數字中找出一定的規律,不是說單靠表格一定做不到,有些對數字十分敏感的人確實能做到,但是圖表則能簡單明瞭。試問有多少人能答出上述產品的價格是先跌後升?但是如果看的不是數字,而是以下的圖像,相信則大部分人亦能回答。

數據視覺化並沒有改變數據的本質,改變的是解讀的方法,讓讀者能快速簡單看明白複雜數字背後隱藏的信息。

如何找出量化的標準?

「入門篇」中提到選馬六大因素,以不同分數作等級,最低分為 –3 分,最高分則是 +3 分,以下將會以「檔位優勢」這因素作例子說明如何利用數據視覺化去量化和製定合理的標準。

以沙田和跑馬地 1000 米草地作比較,經常聽到馬評人說「跑馬地有彎道,因此內欄馬匹有較大機會勝出;沙田 1000 米是純直路,外欄草地品質較好,因此外欄馬匹有較大優勢。」但這種說法是否真的有根據?

與其道聽塗說,人云亦云,倒不如相信科學,用數據代替說話。Horsorion 為各位找出了11–12年度至20–21年度共10個馬季在沙田草地和跑馬地草地所有的1000米賽事,然後分別計算出每個檔位的勝出率。

跑馬地草地 1000 米不同檔位的勝出率

由上圖所見,內欄檔位如一檔、三檔與外欄檔位如十一檔、十二檔在勝出率上有著明顯的分歧,差距更接近 2.5 倍,因此亦證明了「跑馬地有彎道,因此內欄馬匹有較大機會勝出」這種說法是正確可靠的。

有了一定的方向,我們可以製定相應的標準,例如

  • 內檔 (1檔 – 4檔): +1 分
  • 中檔 (5檔 – 9檔): 0 分
  • 外檔 (10檔 – 12檔): –1 分

備註 (高階思維 ) : 若讀者有一定的數學基礎,可以再進一步定下更精準的分數,舉例來說,設一檔 (13.20%)為 +1分,十二檔 ( 4.82%)為 –1分,那麼我們可以簡單定下一條線性方程,準確地計算出其他檔位的相對應分數,如五檔 (10.59%) 則是 2×(10.59% – 4.82%)÷(13.20% – 4.82%) – 1=+0.3771分。透過這種方法,我們能更準確計出每個檔位的優勢分數。

沙田草地 1000 米不同檔位的勝出率

沙田檔位的勝出率很明顯與跑馬地的截然不同,例如外欄檔位的馬匹亦有著相當不錯的成績,但是並非與馬評人所言「只有外欄馬匹有較大優勢」,因為從圖所視,中欄檔位亦不遜色於外檔的勝率。因此下次再遇到沙田 1000 米的賽事時,大家要記住,不是只有外檔的馬匹有優勢,中檔的馬匹也有著同樣的優勢。至於量化的標準,若各位看懂上面線性方程的部分,可照樣應用於此,方法一樣;但希望簡單化的話,可以把 3檔和4檔當作 –1 分,其他檔位則當作 0 分。

驗證方法

當有了量化的標準,我們需要做的便是驗證和測試,請謹記一點「驗證所用的數據必須與製定標準所使用的不一樣」,意思則是我們需要使用不同馬季的數據作為測試,例如上半部分製定標準時使用的是11–12年度至20–21年度,我們接下來進來驗證使用的是21–22年度的數據,這樣可確保標準不會擬合過度 ( Overfitting )。

跑馬地草地 1000 米初步驗證結果

截至2021年12月1日,21–22年度在跑馬地共跑了 15 場 1000 米的賽事。

從勝出次數可見,內檔、中檔、外檔分別勝出9次、5次和1次,與我們設定的量化標準分數吻合,分數越高,勝出的機會越大。

以上只是一個簡單的例子去簡單說明驗證的方法之一,但當讀者真的製定策略時,記得需要測試更多的場數,當測試樣本數量越多,可靠度亦越大。

備註 (高階思維 ) : 驗證的方法有很多,計頻 (Frequency Counting)只是其中一樣,若讀者有興趣,可以研究不同的做法,例如
• 混淆矩陣 (Confusion Matrix)
• 不純度 (Impurity)
• 資訊增益 (Information Gain)
• 準確率 (Precision)
• 召回率 (Recall)
• F1值 (F1-score)

結論

賽馬是統計學的一門重要課題,結合了數據分析 (Data Analysis)、數據視覺化(Data Visualization)、數據驗證 (Data Validation)、模型開發 (Model Development)等多方面的應用知識,但是最核心的還是數據的本質,在數據科學中有句著名的格言「Garbage in, garbage out」,指的就是若然沒有好的數據輸入,那麼所有分析的輸出也是徒然的。Horsorion為各位省卻大量準備數據的時間,不要猶豫,來開展屬於你的賽馬之路吧!

--

--

Horsorion
馬筆停題

Horsorion 是一個集賽馬大數據、人工智能和機器學習的平台,由各式各樣的產品和服務所組成,功能完善且具有彈性,可讓開發人員輕鬆分析數據及研發不同的應用程式,並讓市民大眾以數據分析賽事。