2007年8月11日 星期六

對 Pythagorean Formula (畢氏公式) 與勝率的一些想法

Pythagorean Formula(畢氏公式):最原始的版本是由Bill James 提出的。公式的目的,在計算與估計球隊於某段期間的勝率(WPCT),使用的參數,是這個球隊在這段時間的總得分(RS)及總失分(RA)兩項。計算式如下:

WPCT=RS^2/(RS^2+RA^2)


而真正棒球比賽當中實際的勝率,則是由勝場數除以總出賽場數,所得到的。之所以稱上面那個公式為 Pythagorean Formula,只是因為它的"樣子"長得很像數學當中的"畢氏定理",而不是和畢氏本人有何關係。以目前樣本數看得到的準確度而言,也夠不上稱它為"定理",或者"定律"。更坦白地說,認為它準到可以當成某種基尺,進而拿來檢視"實際勝率"相對不準的那群人,也從來沒能告訴我們為什麼它會準的道理。或者是,把這個式子如何產生的邏輯推理過程,至少跟我們演示一遍。

今年的大聯盟正規球季,已剩不到三分之一的賽事。因此有愈來愈多的 blogger 和 stat-fans,又開始紛紛拿著畢氏公式,來檢核各個球隊截至自前的勝率,是否符合他們期望中的計算結果。凡是現實當中辛苦博殺所呈現的實際勝率,與紙上計算數字有太大落差的時候,比較懶的,就直接推給"幸運(or 厄運?)大神",勤奮一點的,則會努力去找個理由,例如"牛棚"或者"纏鬥能力"等等什麼的。有多少人思考過,或許畢氏公式結果與今年實際發生的各隊勝率,誤差達十場以上的會超過七個隊,原因只是因為"畢氏公式天生就不太準"呢?

好吧,底下就讓我們來做點功課,看看畢氏公式究竟準不準? 如果準的話,準在那裏? 不準的話,弱點又在何處?

先假設某個大聯盟球隊,共計出賽了100場。而當中贏了60場,輸了40場。也就是說,他們的實際勝率為六成整。再假設他們贏的比數通通是 10:1,輸球的比數全部是 1:10,那麼我們就可以算出這個球隊的"畢氏勝率"是:0.66,換句話說,跟實際勝率會有約略 9.89%,相當於10場的誤差。

當然,現實當中 100場比賽比數都是 10 和 1 的可能性太低了。如果我們把當中的 1 固定住,然後讓另一邊的 10 逐次變成 9、8、7… 等遞減,就可以做出一個如同【附表一】CASE I 計算結果。



由 CASE I,我們得到的初步印象是,比分差愈大,畢氏勝率和實際勝率的誤差愈大。而在 3:1 這樣的比數時,誤差達到最小的 -0.17%。但奇怪的事發生了,當我們再將比數壓到 2:1 的狀況,誤差又一下子昇高到 -5.6% 。

緊接著我們來看 CASE II。如果敗方得分不是 1,而是 2分、3分,或者是像6:5這樣的比數呢? 所以我們試著把【勝方】的得分固定住,然後將【敗方】的得分由小到大遞增,這樣得出來的結果又是怎樣的呢?

很清楚的,我在勝場差後面標示"*"的地方,像 7:2、7:3、6:2、5:2、4:1、3:1 這些比數,畢氏公式都能得到不很錯的預測值。但是在大比分差和小比分差的情況,誤差往往高達一成以上。

後面我又做了一些不同的狀況演示(附表二、三),比如像每次球隊都是6:2贏球,1:10輸球,這樣打100場下來的結果,畢氏勝率大幅落後實際勝率,可高達38場的勝差。倘若我們再更極端地假設成4:2贏球,1:10輸球,後果自然就更可以想見了 ^^
很湊巧的,今年 MLB 的響尾蛇、水手、紅雀、國民、白襪,通通類似這樣的情形,例子多到把今年叫做畢氏公式的"出槌年",應該也不為過。

當然,這樣的紙上遊戲要再延伸下去的話,還是很有得玩的。譬如說,一個每次都 8:1 大贏,然後低比分差 2:4 輸球的,他們的畢氏勝率準確度如何? 或者說,我們使用改良過的畢氏公式 (ex. WPCT=RS^1.8/(RS^1.8+RA^1.8)),結果會不會好一點? 凡此種種,其實都還有繼續探討的興味和空間,有心的朋友不妨試試。^^

沒有留言: