April 18,2006

Some Comments on WPA

WPA(Win Probability Added)這個概念,是目前我看到,最接近衡量貢獻度的方法。它的概念是,每個球員上場時,依當時的狀況(比分差,出局數,壘上跑者)有個球隊獲勝的機率,等這球員做完一次攻擊(或投手投一個人次),依之後的狀況,也有個球隊獲勝的機率。兩個機率的差,就是球員對於增加球隊獲勝的貢獻。

就概念來說,我覺得非常好,但實用上卻有點麻煩。一個麻煩是,每個 play 所造成的機率改變,投手,打者,防守員,甚至跑者都會有影響,這機率差,如何正確地分出去,是一件難事。目前的算法,只分成攻守兩方各一份,攻方由打者(盜壘時跑者)得到,守方由投手(失誤應該要由失誤的人)承擔。這樣做,雖然不精確,但勉強可以接受。真正麻煩的是,最基本的各種情況下,勝率估計的問題。

目前勝率的算法,是根據以往的記錄,看某段期間內的數據,有多少次發生這種狀況,勝率就是這些狀況下,後來球隊真的贏球的機率是多少。簡單說,是一種 empirical 的估計。empirical 的估計要準確,一個要件是樣本數夠大。要夠大的樣本數,就必須用很多年的資料。但這裡有一個問題,這勝率可能隨年代改變,比如現代的比賽得分較多,逆轉自然較常發生。若把不同年代的數據一起作 empirical 估計,是否合理?也是必須進一步檢查的問題。

我較常去看的一個表是 Christopher Shea 的 Win Expectancy Finder。他原本的數值是由 1979-1990 中所有比賽估計出來的。最近又加了 2000-2004 的資料。之前就曾在想,因為根據的是 empirical 的結果,不知會不會有打者有好表現,反而降低球隊勝率的狀況。昨天看比賽時,偶爾會去按按當時的勝率,結果就發現了一個有趣的情況。五局下,兩出局後,Manny 原本在二壘,因為捕逸上到三壘。當時只是想,像這對於守方勝率的減少,應該要計在捕手身上,於是去查查機率的變化。結果歷史告訴我們,五局下,兩出局,一分領先,二壘有人,主隊的勝率,1979-1990 是 0.742,2000-2004 則是 0.737。二壘跑者上到三壘後,前者變成 0.719,後者變成 0.701。也就是根據歷史,不管是 1979-1990 或是 2000-2004,跑者從二壘到了三壘,反而讓球隊贏球的機會變小了。當然,這絕對不該是真的,只是因為剛好歷史發生的事,造成這樣的結果。類似的事,今天水手在三局上,一出局,平手的狀況,1979-1990 的勝率估計是 0.446,2000-2004 則是 0.437。一支一壘安打,打者上到一壘後,1979-1990 的值變成 0.473,2000-2004 的值則是 0.429。也就是根據 2000-2004 的資料,打了安打,球隊的勝率變低了。

要解決這個問題,一個方法是取更多年的樣本,但這仍牽涉到我之前所提到,如此相加是否合理的問題。另一個方法是,訂出一些限制後,再做估計。比如,令 P(a,b,c,d) 是 a 局下,勝分差 b,出局數 c,壘上情況 d 之下的勝率。那在 a, b, c 不變時,P 在 d 增加時,不能夠減少。在 a, b, d 不變時,P 在 c 增加時,不能夠增加。另外像一些比較不直觀的,b=c=d=0,P 隨著 a 增加而增加。總之,就是訂出一些合理的限制,也就等於是在訂一個模型,然後再來估計這 P 值。在有這些限制下,估計自然不再是那麼單純,卻是可行的。



Posted by bubblesld at 樂多Roodo! │10:18 │回應(4)引用(0)棒球統計
樂多分類:運動 共同主題:MLB 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/1432812
回應文章
這個問題BP已經有對應的方法(win expectancy framework)來處理了
Posted by Andre at April 21,2006 10:15
謝謝你的資訊。Google 查了一下,看起來是 Keith Woolner 的 Adventures in Win Expectancy 在 BP2006 那本書中。似乎在 http://www.baseballprospectus.com/article.php?articleid=4945 中 Dan Fox 也有介紹。不過,我既沒那本書,也不是繳費會員,現在是無法知道他們是怎麼做的。從

"Woolner provided a table and slopes and intercepts for calculating win expectancy for various offensive events in different run environments based on his Win Expectancy (WX) framework."

感覺上,跟我心目中的作法不大一樣。當然,他的方法可能更好。有沒有知道的人,願意大略描述方法的基本精神?:)
Posted by Bubble at April 21,2006 11:28
Keith Woolner 對 win expectancy framework 的 conecpt 和水瓶兄的想法其實是很像的,它同樣考慮了投打兩方的 current inning (a)、baserunner state (c & d)、run differential (b),另外還加上了 home、visitor 的因素與兩方的 average runs per inning (offense strength) 去做 simulation 以得出比賽的最後結果來計算 situational WE。這樣看來,我覺得這應該是一個以 multinomial 回估母數 (parameter, that is, WE) 的 approach。

雖然 Woolner 沒有提到水瓶兄所謂 "合理的限制",不過既然 Dan Fox 提到 slopes 和 intercepts,我猜想 Dan 的意思可能是利用一個像是下述的模型去單獨 fit 每一個狀態:

WE = sum( slope_i * event_i ) + intercept

其中 event_i 代表特定狀態下在於一個 PA 裡所發生的 ith event;slope_i 代表在 ith event 發生時對 WE 的 impact;每一個狀態都有一個起始的 WE,也就是式子裡的 intercept。

換句話說,考慮:

a. 0 out、runner on 2nd
b. 0 out、runner on 3rd

在相同的 run differential 下,b 的 WE 不會 (也不該) 比 a 要低,而這樣的情況或許就是由那個 "intercept" 來 maintain,這或許某種程度滿足了水瓶兄所提到的 "合理的限制"。
Posted by Morikawa at May 20,2006 01:22
謝你的分享。

multinomial 假設下的 estimate 就剛好是 empirical 的解。

至於,用 "intercept" 來控制 WE,那如何去訂規則,也一樣麻煩。除了某個值該比某個值高外,要多 smooth,也是問題。
Posted by Bubble at May 20,2006 23:57