Monday, February 27, 2006

Brief Description of Some Stats (2)

Runs Created (RC) 是棒球統計大師 Bill James 在 1970 年代末期發展出來計算球員貢獻的指標,時間上比那些線性的數據(最早在 1910 年代就有人開始發展類似 Linear Weights 的數據了)要來得晚。他的出發點是,得分是「上壘」和「推進」兩者的組合,因此 RC 可以用下列的公式來表示:
RC = A * B / C

其中 A 代表「上壘」;B 代表「推進」,C 代表「打擊機會」,也就是說,在相同的打擊次數中,能多上壘、多打一些長打,就能使得分增加。在第一版的 RC 中,A=H+BB,B=Total Bases,C=AB+BB。換句話說,RC 就等於「上壘率」乘以「長打率」乘以「打數」。令人驚訝的是,把一支球隊的打擊成績套入這個簡單的公式中,會發現 RC 跟這支球隊實際的得分非常接近。當代入一整個聯盟的打擊成績時,RC 跟整個聯盟的總得分誤差僅有 1% 左右,因此 James 就用這個公式來評估各個球員的打擊表現。80 年代初期 James 加入了盜壘對得分的影響,之後他又陸續發表了許多版本的 RC,把雙殺、犧牲打、三振和故意保送的效應計入,於是在 21 世紀初期的版本變成這樣:
A = H + BB + HBP - CS - GIDP
B = TB + 0.24*(BB-IBB+HBP) + 0.62*SB + 0.5*(SH+SF) - 0.3*SO
C = AB + BB + HBP + SH + SF


這個簡單的 RC 公式(第一個式子)最大的問題在於,它是從「整支球隊」的打擊成績出發的,也就是說,當我們試圖用 RC 來計算某個球員的貢獻時,它實際上是計算「當一支球隊的一到九棒都是該球員時,這支球隊可以創造多少分」。然而,我們所謂的一個球員實際在球場上創造的價值,應該是該球員跟他的隊友的打擊成績互相配合的結果。另外,也由於 RC 是從整隊的打擊成績來做回歸,過於極端的球員個人成績可能就會超出它的適用範圍。例如說,當我們試圖用 RC 來估計 Barry Bonds 的貢獻時,因為不可能有整隊的打擊成績接近他的水準,再加上「九個」Bonds 會讓超高上壘率的效應被放大許多,就會使得 RC 過度高估 Bonds 的價值。

這個問題有幾個解決的方法,其中一個我們比較常見的是 Marginal Lineup Value (MLV),它在計算一個球員的貢獻時,用了下列幾個步驟:
  1. 有八個「打擊成績等於大聯盟平均的隊友」跟該球員組成一條打線,假設該球員的打席數佔全隊的九分之一,然後用 RC 計算這條打線可以打下幾分;

  2. 用 RC 計算九個大聯盟平均球員在相同的總打席數中可以打下幾分;

  3. 該球員的實際貢獻等於 (1) - (2)。
詳細的計算方法可以參考這裡。MLV 的計算相當複雜,沒辦法直接從球員的各項打擊成績直接求得,因此很少被人引用,但它是另一個我們經常看到的數據「VORP」的基礎。

針對同樣的問題,James 在 2002 年提出了全新版本的 RC,其公式如下:
RC = [(2.4C+A) * (3C+B) / 9C] - 0.9C

這個公式的精神跟 MLV 類似,也是假設某球員跟另外八個 OBP .300, SLG .400 的球員組成一隊之後可以創造多少得分。另外,為了考慮「適時安打」的貢獻,當我們有球員打擊的 split 資料時,下列的公式可以用來調整 RC:
D = (Hits with runners in scoring position) - BA * (AB with runners in scoring potition)
E = (HR with runners on base) - (AB with runners on base) * HR / AB


把 D 和 E 的值加入原先計算的 RC,就是最後的結果。當打者的得點圈打擊率 (BARISP) 高於他的平均打擊率時,D 會是正值,表示當得點圈有跑者時,打出適時安打的額外價值。另外,若該打者在壘上有人時的全壘打比率比他自己的平均要來得高時,E 項就會為正,表示「非陽春」全壘打的額外價值。

除了 MLV, VORP 之外,另外一個從 RC 衍生出來的數據 RC/27 也經常被引用,有時被寫作 RC/G,這個數據的意義是假設當一隻球隊的一到九棒都是由某個球員所組成時,該球隊每場比賽可以得到多少分數。RC 所計算的是進攻總貢獻,RC/27 的用意則是在於計算球員的「進攻效率」。

Friday, February 24, 2006

Brief Description of Some Stats (1)

現今棒球統計的趨勢是,球場上發生的所有事件,其造成的影響都轉換成用「得分」(Runs) 這個數據來表示,最重要的原因是為了能夠在同一個基準下比較各個場上事件的重要性。如果沒有一個共同的基準,我們就不容易比較各種事件對球隊進攻的貢獻,例如說,一個盜壘跟一個保送,哪一個會比較有利於得分?

現在最常被引用的攻擊數據可以分成兩大類,第一種是「線性」的,以 Pete Palmer 所發展出來的 Linear Weights 為代表;第二種當然就是「非線性」的,其中 Bill James 發明的 Runs Created 及其所衍生的數據,是所有棒球的進攻數據中最常被使用的。以下先對 Linear Weights 中估計球員得分貢獻的部分:Batting Runs 做個簡單的介紹。

「線性」指標的基本假設是,所有事件造成的總效應可以由個別事件效應的累加來表示,這套指標最基本的形式可以用下面的公式來表示:
Runs = (1B*a) + (2B*b) + (3B*c) + (HR*d) + (BB*e) + ...

其中 a, b, c, d, e 分別代表一壘、二壘、三壘安打、全壘打和保送的價值。除了安打之外,公式的後面還可以加入盜壘、盜壘失敗等其他事件,而各個事件會有不同的權重來表示對得分的貢獻。然而,我們要如何得知這些權重的值是多少?解決的方法是,我們統計實際棒球比賽中各種狀況的平均得分,然後可以得到在不同的出局數和不同的壘上跑者分佈下,進攻球隊的得分期望值 (Run Expenctancy)。下面列出來的是 Tangotiger 根據 99-02 球季所有比賽統計出來的結果
Empty 1st 2nd 3rd 1, 2 1, 3 2, 3 Loaded
no out 0.555 0.953 1.189 1.482 1.573 1.904 2.052 2.417
1 out 0.297 0.573 0.725 0.983 0.971 1.243 1.467 1.65
2 out 0.117 0.251 0.344 0.387 0.466 0.538 0.634 0.815

在建立這個得分期望值之後,我們就可以很容易地計算棒球場上各種事件對得分的影響。舉例來說,在無人出局無人在壘的狀況下,這一局的得分期望值是 0.555,若此時打者擊出一支一壘安打,得分期望值上升到 0.953,也就是說,這支 1B 的價值是 0.398;若是在一人出局三壘有人時擊出一壘安打,則得分期望值從 0.983 變為 0.573,所以這支一壘安打的價值就是 0.573-0.983+1(因為跑者回到本壘獲得了一分)=0.59。以此作為出發點,我們可以算出在各種狀況下,一支一壘安打的價值是多少,然後拿這個價值去乘以各種狀況的發生機率,就可以算出一壘安打的平均價值。同樣的,我們也可以藉此算出各種事件的平均價值。Palmer 在 70 年代時算出來的數字如下:
Batting Runs = (1B*0.46) + (2B*0.8) + (3B*1.02) + (HR*1.4) + (BB*0.33) + (SB*0.3) - (CS*0.6) - [(AB-H)*0.25] - (OOB*0.5)

最值得注意的是,Palmer 在公式中加入了出局對得分的「負」的貢獻,其中 OOB 表示 out on base。2004 年的 The Baseball Encyclopedia 中最新的公式如下
BR = (.47*H)+(.38*2B)+(.55*3B)+(.93*HR)+[.33*(BB+HBP)]+(.22*SB)+(-.38*CS)-[ABF*(AB-H)]

其中 ABF 表示每個出局的價值,對 2003 年的 NL 來說,ABF=0.28;但是在 1968 年的 NL,ABF=0.23。由於各個年代球隊攻擊力的不同,我們用下面的式子來估算 ABF:
ABF ={[.33*(BB+HBP)]+(.47*H)+(.38*2B)+(.55*3B)+(.93*HR)} / [AB-(LGF*H)]

其中 LGF (league factor) 用來表示不同聯盟的強度對出局的價值所造成的影響。除了 1884 年的 Union Association 中 LGF=0.8,以及 1914-1915 的 Federal League 中 LGF=0.9 之外,對其他的聯盟來說,LGF=1。更詳細的數據可以參考 Tangotiger 用 1999-2002 的比賽資料所統計出的棒球場上大大小小各種事件的平均價值

這個方法的優點在於計算方便,而且可以很容易地看出各個事件之間相對的重要性,例如說,一次盜壘失敗造成的損失大約等於兩次盜壘成功的貢獻,因此一個球員的盜壘成功率若是低於三分之二,對球隊的得分來說,其效應是負面的。我們也可以回答第一段的問題,一個保送的價值是高於一次盜壘的。

Linear Weights 的主要缺陷在於,各種事件的價值都是根據分數期望值算出來的結果,然而分數期望值會隨著年代和聯盟的不同而變動。例如說,在無人出局無人在壘的狀況下(也就是每一局剛開始的狀況),美聯球隊的期望值會高於國聯,21 世紀的球隊會高於 1970 年代。再者,分數期望值會隨著每支球隊攻擊力的差異而有所變化,甚至會隨著棒次組合的不同而改變。因此,使用 Linear Weights 來比較不同年代、不同聯盟的球員成績時,不能僅只套用一組各個事件的平均價值,必須做許多數值的微調。

Thursday, February 23, 2006

Waking up from Hibernation

最近為了論文忙得不可開交,加上前一陣子回台灣度假,家裡沒有高速網路可以使用,雖然還可以上網看看跟棒球相關的新聞報導(在台灣想要獲得高品質的 MLB 資訊,大概只有上網一途了),不過沒有太多空閒寫文章,因此很久沒有更新了。還好棒球迷們的冬天已經過去,新的球季即將開始。

我在前面的文章裡面用了不少棒球數據,有些很直觀,例如說打擊率、防禦率,都是棒球迷們早已耳熟能詳的東西;有些就相當複雜,像是 VORP、Win Shares。趁這個球季開始前的空檔,我會試著對這些數據作個簡單的介紹。