Showing posts with label Sabermetrics. Show all posts
Showing posts with label Sabermetrics. Show all posts

Friday, April 18, 2008

Online WPAB

THT 的 Dave Studeman 在 04/17 的 Ten things I didn’t know last week 裡發表了一個新的玩具:

  • Win Probability Above Bench

  • 簡稱 WPAB。

    原則上這是 WPA (Win Probability Added) 的延伸,由於 WPA 的意義是 WAA (Wins Above Average),WPAB 則是把 WPA 的 baseline -- 也就是 league average -- 變成讓使用者可以自行設定的東西,換句話說,可以藉由這個新玩具計算 Wins Above "Replacement Level"。

    話說回來,個人對於 replacement level 的興趣其實有點缺,畢竟無論 replacement level 如何訂都不會比直接 apply league average 為 baseline 來得直覺,不過在 WPAB 剛 "上市" 的 early stage 裡,我們不妨先來看看它的內涵。

    Studeman 的對 WPAB 的 inspiration 如下:

    WPA is the difference between a player's Win Advances and Loss Advances in each game. By subtracting one from the other, WPA compares a player's contribution to an average (.500) player.

    Well, what if you want to compare a player to another level, such as a .350 player, or .400?

    也許很多朋友的第一個問題會是:什麼叫做 "a .350 player"?這裡的 ".350" 代表什麼意思?是 OBP?還是 EQA?亦或是 wOBA?

    事實上這個 ".350" 在 07 年球季時個人曾經在幾篇討論 BP baseline 的文章裡做過一些介紹 (這裡這裡),如果你沒有看過,我們趁這個機會做個說明:以打者而言,它所代表的是 Offensive Winning Percentage,或簡稱 OW%,它的計算方式如下:

    • 計算某位特定打者的 Runs Created per 27 outs,or "RC27"。

    • 計算 league average 的 RC27,say "lgRC27"。

    • Claim: X = ( RC27 / lgRC27 )

    • OW% = (X^2) / ( 1 + X^2 )

    不難發現最後的 "X^2 / ( 1 + X^2 )" 正是 power = 2 的 Pythagorean Formula。那麼如果我們利用 Keith Woolner 在架構 VORP 時所 apply 的 ".380 OW%" baseline 來計算,一季的勝場數是:

    162 * .380 = 61.56 (wins)

    怎麼解釋 61.56 wins?這指的是一支由 Keith Woolner 的 replacement level 打者league average 的投手 所組成的球隊一季可以得到的理論勝場數,如果您長時間有 trace 這個 Blog,"61.56 wins" 應當不陌生,因為 07 年 offseason 個人做 model reality 的討論時曾經出現過。

    我們還可以計算 Woolner 的 replacement level 打者的 RC 與 league average 的比較:

    X^2 / ( 1 + X^2 ) = .380
    X = 0.783

    所以 Woolner 的 replacement level 打者的 RC (Runs Created) 是 league average 的 78.3%

    那麼投手呢?前面已經提過:OW% 是 Pythagorean Formula 的延伸,如果想知道 .380 的投手的 RA 與 league average 的比較,我們就對下面這個式子求解:

    1 / (1 + X^2 ) = .380
    X = 1.27

    因此 .380 投手的 RA 是 league average 的 127%!接下來我們進一步看 Woolner 的 "replacement level team" 一季的 WPCT -- applied by Pythagorean Formula with power = 2:

    (0.783)^2 / ( 0.783^2 + 1.27^2 ) = 0.273
    162 * 0.273 = 44.22 (wins)

    此即為 VORP 實質 baseline 為 44-win per season 的球隊的由來。而花時間解釋這個部份的目的無非是讓想玩的朋友有個可以 reference 的點,換句話說,我們將使用 WPAB 來與 VORP 做比對。

    我們以 07 年 Dodgers 的 Andre Ethier 為例,首先查到 Ethier 在 07 年的 VORP 是 13.8。接下來我們 refer to Ethier 在 Fan Graphs 的 stats,然後打開 Studeman 所提供的 新玩具

    • Win Advances 的欄位填上 9.29 (Ethier 於 07 年的 WPA+)。

    • Loss Advances 的欄位填上 8.96 (Ethier 07 年的 WPA-),注意在這裡不要加上 "負號"!

    • Target Replacement Level 的欄位填上 0.38 -- 因為先前提到 VORP 的 baseline 就是 0.38 的 OW%。

    Submit 之後,我們得到 Ethier 在 07 年的 WPAB 是 1.1,如果從 10-run equals 1-win 的角度,11 的 Runs Above Bench 與 13.8 的 VORP 並沒有差很多,right?

    這裡必須再說明一件事:選擇 Ethier 為例子純粹是因為他在 07 年的 clutch (refer to fan graphs) 只有 0.09,幾乎是 neutral、沒有受到 situation 與 context 太多影響的結果,加上 VORP 本身也沒有考慮 situation 與 context,這才能將 WPAB 與 VORP 做一個對照,如果我們找一位 clutch 距離 "0" 較遠的球員,相信兩者的結果是會差很多的!我想未來還有機會對 Fan Graphs 所定義的 clutch 做深究,這裡就先點到為止。

    Have fun!

    Friday, March 07, 2008

    Closer Paradox

    或許除了 Eric Gagne 以外,MLB 很少有 closer 讓個人覺得值得花大錢去搶。原因也很簡單:02 ~ 04 年的 Gagne 幾乎可以說是個人支持 Dodgers 的原動力,這是個人的私心問題。

    長久以來,closer 或是優秀的 RP (後援投手) -- 依個人的印象 -- 在 offseason 裡通常不是拿到長約或大約的一方,不過自 05 年的 offseason 起,這個情況似乎開始改變。首先是 B.J. Ryan 以 5-year 47M 降落 Toronto,接下來 Mets 以 4-year 43M 綁住了 Billy Wagner,考慮 04 年的 offseason 裡 Derek Lowe 的 4-year 36M 被視為付給一位 Ace SP 的價碼,事隔一年、加上 FA 市場上 "Dollars per Win" 的 inflation,B.J. 和 Wagner 所拿到的合約也大約是一位 Ace 級先發投手的水準!然而給予一位每季只投 70 ~ 80 IP 的 closer 一筆 Ace 級 annual salary 究竟划不划算?或者說我們可以從什麼樣的角度來切入這個問題?

    這裡提供一個思考模式:先把時間拉回到 04 年以前,回想一下:如果要選出 21 世紀初 MLB 裡最 dominant 的 SP 與最牢不可破的 closer,相信不少人的答案和個人一樣:Pedro Martinez for SP & Mariano Rivera for closer。

    粗略的看:在 01 ~ 04 年之間,天下無敵的 Pedro 每年大約可以提供 200+ IP starting high quality output with annual 13M,也就是 6.5M 650K 65K per IP (Inning Pitched);至於 Rivera 的則是每年約 75+ IP 的 late-inning high quality output with annual 10M,也就大約是 13M 1300K 130K per IP。因此 Rivera 每投一局的價碼大約是 Pedro 的兩倍,看起來,closer 好像真的很貴。

    但別忘了:身為 SP 的 Pedro 每回上場的 LI (Leverage Index) 大概是 average 的 1.00;限定在比賽後段上場的 Rivera 每回上場的 LI 則大約是 ~2.00 左右。這可以解釋為:Rivera 的每一局投球對於球隊 WE (Win Expectancy) fluctuation 大約是 Pedro 的兩倍。換句話說,Rivera 每投一局比 Pedro 貴上一倍 其實是 somehow 說得通的。個人不曉得這是不是當初 Brian Cashman 給予 Rivera 01 ~ 04 年 39M 的合約 (annual ~10M) 時 "比照" 的計算方式 (當時 Pedro 已在 98 年簽下 6 年 75M 的合約、annual ~13M),當然這很有可能不是,畢竟 LI 是近幾年才出現的玩具。

    回到 08 年的現在,MLB 最 dominant 的 SP 非 Johan Santana 莫屬,以他每年 220 IP 的輸出與 annual salary 23M,換算過來是 10.5K/IP。乘上 2 的 LI ratio 並考慮 70+ IP,現階段 "closer 的 Johan Santana" 合理的 annual salary 是 14M。不過這也不代表前一陣子對於 Halos 未給予一張長約而碎碎念的 K-Rod 可以 (或應該) 拿到這個價錢,關鍵字是 "closer 界的 Johan Sanata"。在個人看來,現階段 MLB 不存在這種人 (Jonathan Papelbon perhaps?),雖然 Mariano Rivera 在上一個 offseason 剛拿到 3-year 45M 的合約 -- annually 和我們前面求出來的 14M 相近,但 Mo 早已過了他的全盛時期,這張新合約裡養老金的成分居多。

    現在用另一個角度來看 8th inning man -- 也就是 setup man 與 closer 的比較。首先我們將 WE 的觀念引入,以主隊為例,考慮 Top 8th & 9th 且 Run Differential <= 3-run,根據 The Book 所提供的資料:

    WETop 8thTop 9th
    1-run lead0.7340.825
    2-run lead0.8540.918
    3-run lead0.9230.963

    以第一列 (first row) 為例,考慮主隊領先 1 分且打線未在 bottom 8th 得分的情況下,8th inning man 必須掙到 0.091 (0.825 - 0.734) 的 WE,closer 則必須要掙到 0.175 (1 - 0.825) 的 WE 後才能替球隊拿下勝利。

    接下來我們參考 Tango 的 RE Matrix,假設我們把 elite closer 定義為 RA 為 2.5 的投手;8th inning man 則是 RA 為 3.0 的投手,那麼他們單局不失分的機會 (refer to column R0) 分別是 0.823 與 0.796。

    換句話說,用 1 位 RA 3.0 的投手做 8th inning man;RA 2.5 的投手做 closer,在 Top 8th、1-run lead 的情況下,他們可能為球隊掙得的 Expected WE 為:

    0.796 * 0.091 + 0.823 * 0.175 = 0.2164

    相同的情況,如果故意將 8th inning man 與 closer 的角色互調,也就是在 Top 8th 用上 closerTop 9th 用上 8th inning man,那麼可能掙得的 Expected WE 就成為:

    0.823 * 0.091 + 0.796 * 0.175 = 0.2141

    這其中的差距是 0.2164 - 0.2141 = 0.002 Wins、or 0.02 runs。更具體的說法:在 1-run lead 時將 8th inning man 與 closer 互調,此舉將使得球隊 損失 0.002 wins。以相同的方式計算,在 2-run lead 時將 8th inning man 與 closer 對調的 Expected WE Differential 為 0.0005;3-run lead 時則是 -0.000081。附帶一提,3-run lead 時 negative "Expected WE differential" 的發生,代表 3-run lead 的情況下,8th inning man 所做的事其實比 closer 要 "偉大"。

    各位不妨用不同 RA 的 8th inning man 與 closer 的組合來做相同的 approach,基本上其實都差不了太多。而這裡我想說的重點是:

    • RA 2.5 的 closer 差不多是全盛時期的 Mo,現今 MLB 恐怕也很難找到幾位這樣的投手。

    • 就算給予每一季 50 次的 1-run lead 機會 (實際上的數字可能不到 50 次的 1/3),用一個 RA 3.0 的投手做 closer 與 RA 2.5 的投手做 closer,其差距大概也只有 1-run、or 0.1 wins (50 * 0.2)。

    有興趣的朋友可以再引進 LI 算算看:如果 220+ IP、LI 1.00 的 Santana 拿 annual 23M,那麼 75+ IP、LI 1.50+ 的 "8th inning man 的 Santana" 大約該值多少錢?基本上,這個答案會高得讓人嚇一跳!但相信大家也很快就能發現:根本不可能有球隊願意給一位 8th inning man 如此高的 pay。基於優秀的 8th inning man 與 closer 所造成的勝負差距如此之小的前提,想想各隊願意花大錢去買一個 closer,卻懂得在 8th inning man 上 "節流"....這是不是一種很詭異的矛盾?

    另一個 hint:如果 8th inning man 和 closer 可以由自家的農場培養而不是去 FA 市場上燒鈔票,這樣的投資報酬率是不是也相對的高很多呢?

    Tuesday, December 11, 2007

    Not a Firmly Good Signing

    在 Andruw Jones 以 2-year 36M 被帶到 LA 的時候,個人 "deriving OPS_Win" 的題目正好做到一半 -- 畢竟當時真有點開始相信 Joe Torre 將是 07 年 offseason 裡 Dodgers 唯一的一筆 transaction,所以一時半刻也不是很想認真去看 Andruw 的事。

  • Now That We've Got AJ...

  • Madboy 的 follow-up 是正論,真要說 07 年 FA market 的 3 位 CF -- Aaron Rowand、Torii Hunter 和 AJ,我個人認為 "可以收留" 的也的確只有 AJ,但前提是 Dodgers 不該繼續讓 Juan Pierre 做 regular。

  • Jones offers Dodgers plenty of options

  • 相較於 Madboy 的 "正論",Ken 在官網的這篇就是 "歪論"!如果這裡還 point by point 的去檢討 Ken 的 piece,那只是傷了大家的眼睛而已。話說回來,Ken 雖然上不達天聽,但和 Ned Colletti 比腦袋裡的 "sh*t capacity" 恐怕也很難分出高下,所以 Ned 幹出 Ken 所想的事也並非完全不可能。

    另一方面,最近在 LA Times 的 Dodgers 專區有一個 投票,讓大家來選擇 Dodgers 08 年的 best outfield,結果 Ethier + AJ + Kemp 的組合得到了近 70% 的票數;次高的 Pierre + AJ + Ethier 只得到 17% 左右,更別提 Pierre 的名字在 4 個選項裡出現了 3 次 -- 表示這個投票的設計沒有引誘 fans 來 dump Pierre 的意思。因此,Ned 最好不要學某 party -- 永遠只知道照顧 17% 的 "選民"。

    所以,大家都曉得 dumping Pierre 是好事 (except Ned Colletti, probably.),但是究竟有多好?

    Well,前兩個星期,個人花了些時間解釋一些主要 metrics 的 比較 以及 OPS_Win 的 內涵,針對各式各樣的評價方式 -- 在討論 AJ 的題目裡,仍然將使用最簡單明瞭的 OPS_Win 做為主要工具。只不過要計算 OPS_Win 還欠一樣東西:Forecasting -- 沒有 AJ 和 JP (Juan Pierre) 在 08 年的成績,是無法計算 OPS_Win 的。

    在這裡,我選擇使用 Tango 所發展出來的 Marcel 來做 projection,這是一個以 regress toward the mean 為基礎的 system,想安全的利用 Marcel 來 proejct AJ & JP 在 08 年的表現前,首先我們必須準備前 3 年的聯盟打擊資料 (也就是 05、06 與 07 年),分別給予 3、4、5 的 weight 後,再加入 1200 個 "weighted league average" 的 PA 做為 "regress toward the mean" 的 factor。

    Marcel 的可靠與否我們稍後再談,現在很快的把 Marcel 的過程走一次,已經知道或沒興趣的朋友,下面的區塊不妨跳過:

    ※※※※ Start of Marcel ※※※※

    以 forecast 1B (single) 的數目為例:

    AJ 在 05 / 06 / 07 年的 PA 數是 672 / 669 / 659、respectively,分別取 3 / 4 / 5 的 weight 後,得到的結果是 (weighted PA):

    Weighted PA = 3 * 672 + 4 * 669 + 5 * 659 = 7987

    AJ 在 05 / 06 / 07 年的 1B 總數則是 76 / 78 / 72、respectively,同樣取 3 / 4 / 5 的 weight,那麼 AJ 的 weighted 1B total 就是:

    Weighted 1B = 3 * 76 + 4 * 78 + 5 * 72 = 900

    接下來,我們把將 05、06 與 07 年的 AL、NL 打擊資料分別混作堆 (lumped together),然後把 "投手" 的部份捨棄並計算 league 1B 出現的 "頻率" (total 1B per PA),得到的結果是:

    Year1B / PA (1B per PA)Weight
    050.15863
    060.15974
    070.16035

    換句話說,給予一位 league average 的打者與 AJ 相同的 weighted PA (7987),他的 weighted 1B total 應該是:

    Weighted 1B Count = ( 0.1586 * 3 * 672 ) +
    ( 0.1597 * 4 * 669 ) + ( 0.1603 * 5 * 659 ) = 1275.689

    現在對 1275.689 做 scale down -- 因為我們想知道 1200 個 league average weighted PA (the "regress toward the mean" factor) 的 weighted 1B count,所以:

    Weighted 1B Count in 1200 PAs =
    1275.689 / ( 7987 / 1200 ) = 191.6648

    所以 AJ 在 08 年的 1B frequency 將是:

    ( 900 + 191.6648 ) / ( 7987 + 1200 ) = 0.1188

    再來要估計 AJ 在 08 年的 PA,Marcel 的方法是:

    Projected AJ's PA in 08
    = 0.6 * [PA in 07] + 0.1 * [PA in 06] + 200
    = 0.6 * 659 + 0.1 * 669 + 200 = 662.3

    因此,AJ 在 08 年的 projected 1B total 就是:

    662.3 * 0.1188 = 78.69921

    接下來我們只要針對其它的 batting events 做相同的動作,就可以得到 AJ 與 PJ 在 08 年的 forecast。

    ※※※※ End of Marcel ※※※※

    BP 的 Nate Silver 在 unfiltered 曾經留下一篇文章,他把 PECOTA、Zips、CHONE、Marcel...etc 的 forecasting system 做過整體的 evaluation:

  • 2007 Hitter Projection Roundup

  • 我想這篇文章裡比較值得參考的部份在於 average error 與 RMSE (說穿了,這兩個其實是同一類的東西...),至於最後的 regression 我倒不覺得很必要,畢竟在個人的觀念裡,這個 regression 沒啥好做的 -- Slope 應該永遠都是 "1",僅留下 intercept 來做 error corrector,是故沒有 fit 的必要。

    雖然 Marcel 在 average error 與 RMSE 裡的表現都不是最佳,但它也不是最差,同時不要忘了:You can't run PECOTA nor ESPN on your own, but you can go through Marcel by a couple of Excel sheets.

    By the way,Marcel 其實有考慮到 age 的 adjustment,基數是 29 歲,不過以 AJ 和 JP 的年齡來說,他們受到 age correction 的影響都不大,我把這個部份給捨棄不看。

    以下是 AJ 在 08 年的 Marcel projection:

    Marcel on 2008 Andruw Jones:
    PAAB1B2B3BHR
    6625737927235
    BBHBPSFAVGOBPSLG
    70118.249.338.485

    以下則是 JP 在 08 年的 Marcel projection:

    Marcel on 2008 Juan Pierre:
    PAAB1B2B3BHR
    71265414826104
    BBHBPSFAVGOBPSLG
    3772.287.331.373

    接下來我們就利用 Marcel 的結果來計算兩人 08 年的 projected OPS_Win,for Andruw Jones:

    0.025 * ( 1.7 * 0.338 + 0.485 - 1 ) * 662 = 0.9784


    For Juan Pierre:

    0.025 * ( 1.7 * 0.331 + 0.373 - 1 ) * 712 = -1.1554

    由於 OPS_Win 是以 league average 為基,所以我們不用考慮 CF 與 LF 不同 baseline 的問題。而以上的結果也就等於告訴我們:假使 Pierre 還留在 lineup 裡,Dodgers 08 年花在 AJ 與 PJ 身上的 total salary 27M 所換得 net win gain 是 -0.177 (0.9784 - 1.1554)。

    Ludicrous, huh?

    但如果我們能夠把 Pierre 換成 Ethier 或 Kemp,那麼達到 league average 的水準絕對不是太奢侈的的期待,同時也可以將 Pierre 造成的 -1.1554 WAA (wins above average) 的虧空給填補回來,27M 才是真的買回了 AJ 的 "淨值" 0.9784-win。另外,Dodgers 在 07 年的成績是 82-win,距離 88-win 的 NL Wild Card 安全值還需要 6-win above average,能給 Pierre 拿去浪費的空間是不存在的。

    如果大家還記得 J.D. Drew 在 06 年替 Dodgers 拿下的 OPS_Win 是 2.4 的話,你會發現 AJ 和健康的 Drew 其實是不能比的!甚至可以這麼說:AJ 和 Pierre 的差別在於 AJ 有 power 可以 cover 他不足的上壘能力,但 Pierre 沒有;另外,AJ 的生涯不甚拿手的 LD% 與 BABIP 也顯示:萬一 AJ 打不出 power,他就只剩下一只中外野的手套...

    因此 Dodgers 不應該也不能把 AJ 當救世主,with all due respect,he is not even close...

    至於成為 Halo 的 Torii Hunter 與待價而沽的 Aaron Rowand,Marcel 給他們的 projection 是:

    Marcel on 2008 Torii Hunter:
    PAAB1B2B3BHR
    65159310135227
    BBHBPSFAVGOBPSLG
    4765.279.336.482

    Hunter's 08 Projected OPS_Win:0.857

    Marcel on 2008 Aaron Rowand:
    PAAB1B2B3BHR
    65558910837320
    BBHBPSFAVGOBPSLG
    40194.284.347.458

    Rowand's 08 Projected OPS_Win:0.794

    講到 Torii Hunter,毫無疑問是一個被嚴重 overrated 的球員,Halos 的 5-year 90M 毫無疑問對剩下的 29 支球團來說是做了好事 -- 用這麼多錢除掉一個大地雷,更別提他的年紀還比較大;Rowand 則要找一張 5-year 的合約,29 歲、表現平平的他,要期待再出現 career peak 將是一種奢侈。

    總的說來,3 位 07 年 offseason 的主要 CF FA 的結果,Dodgers 已經確定是贏家,可惜的是 AJ 沒那麼好,Pierre 這個洞又太大....實話則是:這 3 個 CF 都不怎麼樣。諷刺的是,誰能想到 5-year 50M 的 CF Gary Matthew Jr. 和 5-year 44M 的 CF Juan Pierre -- 在 1 年之後,全都變成 LF 了呢?這樣夠不夠說明哪些人是真正的笨蛋呢?

    ※※※※ Update Dec. 12, 2008 ※※※※

  • Marcel 2008

  • Tribe Fan In Taiwan 的 Anakin 兄替大家找到了 Tango 所 publish 的 2008 Marcel Projection,很老實的講:在做這個題目前,我沒有發現這個連結。

    個人也把自己和 Tango 的結果做了比較,發現打擊三圍的部份和個人算出來的相去無多,但 playing time 卻有不小的出入,一時間我不太理解原因何在?畢竟 Andruw Jones 在 08 年也不過是 31 歲,以 29 歲為基來修正 playing time 似乎不是主要原因。

    這裡還是要說明一下:對個人在本文中所 projected 的 OPS_Win 來說,playing time 並不是最重要的因子,畢竟那只是 OPS_Win 裡頭以 "PA" 來代表的一個 multiplier;另外,Tango 是可以信任的 sabermetrician,如果個人早知道 2008 Marcel 的結果已經公開,I wouldn't have done this on my own!

    Thursday, December 06, 2007

    A Dirty Way to Derive OPS_Win

    這篇文章是 Morikawa Blue 開設以來的第 150 篇,算是個值得被紀念的標竿。說起來,還真不敢相信自己撐了這麼久。無論如何,現階段還有一些動力支持個人寫下去,這裡說 "動力" 指的是一方面驅使自己吸收新的棒球知識與觀念,此外就是所有在這裡與個人做過互動的朋友 -- 透過這樣的交流方式,相信彼此都或多或少有一些收穫。

    OK,進入正題。這一回個人想透過一些數字的 "魔術" 來 derive 在這個 Blog 經常提到、也經常用到的 metric -- OPS_Win。之所以說 "魔術",是因為 derive 的過程裡發現 OPS_Win 與 RE (Run Expectancy) 的巧妙關係,讓個人意想不到,相信也會讓讀這篇文章的朋友意想不到。

    現在,我們從 OPS 開始。

    原始的 OPS 是 OBP 與 SLG 的總和,個人把 OBP 重寫如下:

    OBP = ( 1B + 2B + 3B + HR + BB ) / ( AB + BB + SF )

    SLG 則是:

    SLG = ( 1B + 2 * 2B + 3 * 3B + 4 * HR ) / AB

    如果說 OBP 與 SLG 是 OPS 的成份,那麼 1B、2B、3B、HR 與 BB -- 這幾個 batting events 就是 OBP 與 SLG 的成份,當然,別忘了 "outs"。

    現在回頭來看看 RE,我們曉得在每一局裡頭會有 3 種出局數、8 種 runners on base 的情況,合計就是 24 種組合,以下是 RPG (Runs Per Game) 4.8 的 partial RE Matrix:

    StateRunnersOutsRE
    1---00.533
    21--00.926
    312-01.542

    考慮 BB 這項 batting event,從 state 1 轉移到 state 2 的 BB 價值 0.393 runs (0.926 - 0.533);從 state 2 轉移到 state 3 的 BB 則價值 0.616 runs (1.542 - 0.926)。Simply put,一個 BB 的價值將會隨著 situation 的不同而改變,要說明的一點是:這裡我們不考慮 context,請暫時把 WE (Win Expectancy) 丟到一邊去。此外,如果不經過 state 2,也就一定不會有 state 3,也就是說 state 2 出現的機會 "勢必" 要比 state 3 來得高。

    所以我們曉得在不同 states 的 transition 裡,BB 所價值的 runs 都不盡相同,那麼將這樣的 states 組合 (這裡是指 "有可能因 單一 BB 而 transit 的 states" -- 比方說 "無人出局 1 壘有人" 到 "無人出局滿壘" 就是一組不可能經由單一 BB transition 而達成的 states) 給抓出來,接下來依各種組合發生的 "機會" 與其 "所價值的 runs" 做 加權平均 (weighted mean),得到的就是一個 BB 的 weighted runs。我們管這樣的 weighted runs 為 BB 的 Linear Weights、or LWTS。在 RPG 為 4.6 ~ 4.8 的環境下,BB 的 LWTS 大約是 0.323,這可以解釋為一個 BB 的 average RE 是 0.323 runs。

    以下是所有與 OBP 和 SLG 有關的 batting events 的 LWTS:

    Batting EventsLWTS
    1B0.475
    2B0.776
    3B1.070
    HR1.397
    BB0.323
    Out-0.300

    別忘了,我們的目的是 deriving OPS_Win,為求簡單,我們把 SF 給捨棄,畢竟它對 SLG 沒有影響,對 OBP 的影響更是相當有限。

    有了這些 LWTS 後,我們來考慮聯盟平均,以下是 07 年 NL 的部份 batting events 的 total:

    AB1B2B3BHR
    894881568848985052705
    BBHBPSFOBPSLG
    8576934752.334.423

    對一位 regular player 而言,一個球季下來 大約會拿到 600 上下的 PA,藉此,我們將上述的 total 做一個 "scale down",也就是把每一個 batting events 的總和除以一個常數 (constant) 以得到一位約 600 PA 的 league average batter 的 "假資料":

    AB1B2B3BHR
    5429530316
    BBHBPSFOBPSLG
    5265.334.420

    在這裡,我使用的常數 (除數) 是 165。

    接下來,我們利用這位 虛構 (made-up) 的 league average 打者,考慮幾個 batting events 對 OBP 與 SLG 所產生的 marginal differential。比方說這位 average 的打者多打了一支 HR,那麼他的 OBP 會增加 0.0011、SLG 則增加 0.00659。

    又,我們在前面解釋 HR 的 LWTS 是 1.397,換句話說:如果想單單用 OBP 與 SLG 來 translate runs,對一個聯盟平均的打者而言,多打一支 HR -- 相對於增加 0.0011 的 OBP0.00659 的 SLG -- 會換來 1.397 的 expected runs (LWTS)。我們將這個部份的結果整理如下:

    EventLWTSOBP_DiffSLG_Diff
    1B0.4750.001100.00107
    2B0.7760.001100.00291
    3B1.0700.001100.00475
    HR1.3970.001100.00659
    BB0.3230.001100
    Out-0.300-0.00055-0.00077

    其中 OBP_Diff / SLG_Diff 所代表的是多加一個第 1 行的 batting event 對 OBP / SLG 所產生的 differential、respectively。

    如果你沒有跟上,從這裡開始也無妨。再解釋一次上面這個表格的意義:以 1B 為例,對於那位虛構的聯盟平均打者,多打 1 支 1B 會讓 OBP 增加 0.0011、SLG 增加 0.00107,然後拿到 0.475 的 expected runs (也就是 1B 的 LWTS),依此類推。

    現在我們有了 batting events 對聯盟平均打者的 OBP 與 SLG 的影響以及 related LWTS,下一個目的就是要建構一個完全由 OBP 與 SLG 所組成的式子來估計 Runs,也就是說我們的目標是:

    a * OBP + b * SLG = Runs ‧‧‧ (a)

    考慮多打一支 1B,上面的式子 (a) 會變成:

    a * ( OBP + 0.0011 ) + b * ( SLG + 0.00107 )
    = Runs + 0.475 ‧‧‧ (b)

    將 (b) 減去 (a),得到:

    a * 0.0011 + b * 0.00107 = 0.475

    重複那些與 OBP、SLG 有關的 batting events,即得到一組線性方程式 (a set of linear equations),我們將用這組線性方程式來解出其中我們想要的係數 (coefficient) a 與 b。以最小平方誤差法 (least square error) 得到的 best solution 是:

    283 * OBP + 163 * SLG = Runs ‧‧‧(c)

    現在來檢驗一下 (c) 夠不夠好?我們用它來估算一支 1B 的 LWTS:

    283 * (0.0011) + 163 * (0.00107) = 0.485

    可以發現這個數字與真實資料的 0.475 相當接近,以下是利用 (c) 計算 eLWTS 與實際 LWTS 的比較:

    EventeLWTSLWTS
    1B0.4850.475
    2B0.7850.776
    3B1.0851.070
    HR1.3861.397
    BB0.3110.323
    Out-0.282-0.300

    Just in case you wonder:eLWTS (283 * OBP + 163 * SLG) 與 LWTS 的 correlation coefficient 大約是 0.99 -- an almost perfect case!

    OK,deriving 的工作大致上已經完成了一大半,現在我們回頭看看得到的估計式,基於 1 個球季是 162 場比賽,我們把 162 做為常數從 (c) 式中提出來:

    Runs = ( 1.747 * OBP + 1.001 * SLG ) * 162

    假設以 600 做為一位 regular 打者一季的得到的 PA 基數,上面的式子可以寫成:

    Runs = (1.747 * OBP + 1.001 * SLG ) * 0.27 * PA
    Since ( 162 / 600 ) ~ 0.27 => PA * 0.27 ~ 162

    最後我們 honor 10 runs equal 1 win,把等號兩邊各除以 10,上面的式子就變成:

    Wins = 0.027 * ( 1.747 * OBP + 1.001 * SLG ) * PA

    Given the "made-up league average hitter", with OBP 0.333 0.334 and SLG 0.420,we have:

    1.747 * 0.333 0.334 + 1.001 * 0.420 = 1.004 ~ 1

    Consider "Wins Above Average"、or WAA, we have:

    WAA = 0.027 * ( 1.747 * OBP + 1.001 * SLG - 1 ) * PA

    Let's recall the original OPS_Win:

    OPS_Win = 0.025 * ( 1.7 * OBP + 1 * SLG - 1 ) * PA

    Almost identical, isn't it?

    從 derive 的過程裡,我們曉得 OPS_Win 其實隱藏的是 RE 的訊息,要說 OPS_Win "利用 OBP 與 SLG 來逼近 RE" 是合理且安全的。又,對絕大多數的野手來說,它們的 clutchiness 在經過一個球季的 long run 後會被 neutralized,所以 OPS_Win 的結果對大多數的打者來說將會很接近他們的 batting WPA -- 也就是球員的真實價值!

    另一方面,OPS_Win 還告訴大家一件事:OBP 在 translate runs 的時候,其 weight 是 SLG 的 1.7 倍左右。但別忘了,這是單純就 "scale" 的角度來看問題。不可否認的事實在於 OBP 的 range 是 0 ~ 1;SLG 則是 0 ~ 4,一位打者想增加 0.01 的 SLG,其難度和 0.01 的 OBP 是絕對不同的!

    最後想說的是:用來評價球員的 metrics 並不是複雜就比較好,OPS_Win 的可愛之處就在於它這麼簡單、沒有用到聯盟資訊、但還是能維持相當程度的正確性與真實性,更何況 OPS_Win 的 baseline 是最直截了當的 league average。這也是個人喜歡 OPS_Win 勝過 VORP 與 EQA 的最主要原因。

    ※※※※※※※※

    這裡有一篇 Dan Fox -- 少數極為用心的 sabermetrician -- 還在 THT 的時代所發表的一篇 "極為基本" 的文章,如果來這裡的朋友對數字有興趣,卻又說不出像 OPS 這種新一代的 metrics 好在哪裡時,建議瀏覽一下。

  • Run Estimation for the Masses

  • 在該文後面的部份,Dan 把 OPS 的其中一部份提了出來,寫成下面的型式:

    (4/PA) * [(0.5*S) + (0.75*D) + (1*T) + (1.25*HR) + (0.25*W)]

    其中 S = 1B、D = 2B、T = 3B、W = BB。

    注意上式中加了 underscore 的那些 coefficients,是不是和前面所提到的 LWTS 很相近?所以 OPS 為什麼會是一個既簡單又 superior 的 metrics,原因就在這裡!

    ※※※※※※※※

    個人在 上一篇 文章提到一件事:

    說 EQRAA 與 OPS_Win 的線性關係維持在 0.9 以上的 correlation coefficient 是安全的 (這僅僅代表 EQRAA 與 OPS_Win 的 "方向" 一致)。

    不過 CC (correlation coefficient) 0.9 究竟代表什麼?它其實只是給我們一個方向,一方面代表 EQRAA 越大、OPS_Win 也就越大;反之 EQRAA 越小,OPS_Win 也越小,就這樣而已。另一方面,如果利用 EQRAA = a * OPS_Win + b 來求 a 與 b 的最佳解,CC 越高,表示用 OPS_Win fit 出來的 EQRAA 結果會更像一條直線。

    所以即便 EQRAA 和 OPS_Win 有 0.9 以上的 CC,這也 "不盡然" 代表 EQRAA = OPS_Win,除非求出來的 a = 1 & b = 0 -- 這是 OPS_Win derive 過程中 eLWTS 與 LWTS 的 case。

    Tuesday, November 27, 2007

    How Real Are These Metrics?

    我們可能常聽到類似以下的 comment:

    • Juan Pierre 07 年的 VORP 是 16.2。

    • Nomar Garciaparra 07 年的 OPS_Win 是 -0.831。

    • Luis Gonzales 07 年的 EQA 是 .271、EQR 是 64.9。

    話說回來,這幾個 metrics 真正的內涵是什麼?我們可不可以從幾個 metrics 去翻譯球隊所拿下的 real wins?或者這些 metrics 只是虛構且悖離事實的 scale?講得更具體一點:假使我有一支 82-win 的球隊,同時我曉得要進入 playoff 的安全範圍大約要 88 ~ 92 wins,那是否代表在 offseason 裡必須努力為球隊掙得 6+ OPS_Win、60+ VORP 或是 60+ EQR 的 net gain?

    利用 offseason 的機會,我們不妨來看看幾個有名的 metrics -- OPS_Win、VORP and EQA -- 的真實性。換句話說,如果一個 GM 要拿這 3 個 metrics 來做為 transaction 的依據,它們所代表的內涵是否就真如數字面上所顯示的一樣?他們 honor 10-run equals 1-win 嗎?這些 metrics 在使用上需要做怎麼樣的轉換?



    Approach

    首先必須說明的是:我們將借用部份的 WPA 資料來做驗証。

    由於 WPA 是將球隊所贏得的勝場分配給每一位球員,一支球隊的打擊、先發投手與後援投手的 WPA 總和會等於該球隊的 wins above average,所以我們直接拿球隊在打擊部份的 total WPA -- say "BWPA" -- 做為與 OPS_Win、VORP 與 EQR 比較的基準,看看這 3 個 metrics 究竟夠不夠 "真實"。

    在實做之前,先回答 2 個可能讓人產生懷疑的點:

    • 守備的分數到哪裡去了呢?
      在 WPA 的 scope 下,不論球隊的守備是好是壞,都必須由投手群來 "概括承受",也就是說守備的分數是算在投手群身上的。同時 OPS_Win、VORP 與 EQR 事實上也都沒有包含守備的因子,是故用這 3 個 metrics 與 BWPA 來比較是合適的。

    • Clutch 的因素怎麼處理?
      的確,屬於 neutral metric (接近 10-run equals 1-win) 的 OPS_Win、VORP 與 EQR 都沒有考慮 clutch。只不過對絕大多數球隊來說,經過一季的 long run,clutch hitting 的影響被 neutralize 的可能性是極大的!事實上,clutch 最大的問題會出在 "後援投手" 的環節,和用來做比較基準的 BWPA 與投手群是不相干的。因此 只要 OPS_Win、VORP 與 EQR 夠準確,suppose 不該與 BWPA 有太大的差距。

    接下來,我們用 Dodgers 為例來跑一次:First thing first,Dodgers 07 年的 BWPA 是 -4.98 -- and you know how bad these Dodgers performed in 07 season。



    OPS_Win on Dodgers' Offense

    回顧一下 OPS_Win 的式子:

    OPS_Win = 0.025 * (1.7 * OBP + SLG - 1 ) * PA

    OPS_Win 誕生的原因在於 SLG 的對 OPS 的膨脹 -- 雖然 OPS 是一個最簡單、最直接評價球員的方式。在 SLG 的 scope 下,把 1 支 HR 的價值當成是 1 支 single 的 4 倍是絕對不合理且不真實的!此外,假設有兩位 OPS 都是 0.800 的選手,一位的 OBP/SLG 是 .300/.500、另一位是 .350/.450,給予相同的 PA 數,他們的 contribution 絕不會一樣。

    所以 OPS_Win 調整 OBP 與 SLG 的權重來解決上述的問題,再對 league average 做 offset。而 OPS_Win 的式子也等於告訴大家:一個 league average 的打者,每個 PA 的價值大約是 0.025 runs wins。

    計算 OPS_Win 不需要太多技巧:Dodger hitters 在 07 年所賺到的 total OPS_Win 是 -3.72 wins above average



    VORP on Dodgers' Offense

    由於這裡使用的比較基準是 BWPA -- 是 batting wins above average,但 VORP 的 baseline 不是 league average 而是 replacement level,所以必須先做 baseline 的轉換。

    根據 Keith Woolner 的說法,VORP 的基準是 "一支完全由 replacement level 所組成的球隊,一季大約可以拿到 44-win",那麼針對 replacement level 的打者,他的 RC (Runs Created) 大約是 league average 的 78.3%;相對的,replacement level 的投手,其 RA 是 league average 的 127%。

    請注意,在這裡我們所有的 replacement level 都是以 BP 的定義為基礎,與 THT 的 WSAB 的 baseline 不同!Just in case you wonder:WSAB 的 baseline 大約是 WPCT 33% 的球隊、VORP 則是 WPCT 27% 的球隊。關於 VORP 的 baseline 的細節,有興趣瞭解的朋友請參考 這一篇

    於是我們把 RA 的部份從 replacement level 提高到 league average,運用 Pythagorean Formula (power = 2),考慮一支以 replacement level 的打者league average 的投手 所組成的球隊,一季可以得到的勝率將是:

    (0.783^2) / (0.783^2 + 1^2) = 0.380

    換算出來就是 162 * 0.38 = 61.56 wins。

    由於我們預期一支完全由 league average 所組成的球隊可以拿到 0.5 的 WPCT、或 81-win,而在這支 "average" 的球隊的打者都換成 replacement level 時剩下 61.56-win。換句話說,league average 與 replacement level 的打者所組成的 lineup 一季下來的差距將是:

    81 - 61.56 = 19.44 wins

    考慮 35 位 07 年登記有案的 Dodger hitters,其 VORP 的總和是 187.1,粗略的以 10-run equals 1-win 來計算就是 18.7 wins above replacement level、或是 -0.73 wins above average (18.71 - 19.44)。



    EQR on Dodgers' Offense

    原則上,EQR 是一個 "絕對" 的 scale,它完全沒有任何 baseline 的 offset,當我們想將 EQR 轉換成 EQRAA (EQR Above Average) 時,必須借重 EQA 的幫忙。因為 EQA 的催生者 Clay Davenport 說 .260 的 EQA 代表 league average、.230 代表 replacement level。這個 blog 也曾探究過 EQA 的內涵,有興趣瞭解的朋友請參考 這一篇

    由於 EQR 與 EQA 有這樣的關係:

    EQA = ( 0.2 * EQR / OUT )^0.4

    我們可以將 EQR 可以重寫如下:

    EQR = ( EQA^2.5 ) * 5 * OUT

    考慮 .260 的 EQA 為 league average,EQRAA 就可以寫成:

    EQRAA = EQR - [ (.260)^2.5 ] * 5 * OUT

    Follow 上述的結果,07 年 35 位 Dodger hitters 的 total EQRAA 是 -6.14、or -0.61-win above average



    So, the winner is...?

    單由 Dodgers 來看,OPS_Win 的估計似乎是 "最接近事實" 的,不過不可否認的是 OPS_Win 可能是 3 個 metrics 裡最簡單、所用的 baseline (league average) 最直覺的一種,相較於根本不曉得怎麼算出來的 VORP、以及用到整個聯盟資料來 "作弊" 的 EQA 相比 -- 既然不能在 accuracy 上得到 significant edge,使用上的意義與價值也就相對的降低,總的說來,個人以為 OPS_Win 是 3 個 metrics 最有效率的一種。

    這裡再給幾個 tips:

    • 對大多數的 teams 而言,OPS_Win、VORP 與 EQR 換算的結果其實都還算接近,而 OPS_Win 的 fluctuation 較其它二者為穩定;同時,我們甚至可以用 BWPA 與 OPS_Win 的差距來做為評價 team batting clutchiness 的 quantity。

    • 07 年受到 "clutch" 影響最大的就屬 D'Backs,即便是打擊方面,保守的估計 D'Backs 的 clutchiness 大概讓他們拿回了 5-win above average,這幾乎相當於把一個 league average 的打者換成 A-Rod 的差距。

    • VORP 針對每一個守備位置 apply 不同的 replacement level,因此帳面數字上和 OPS_Win 相比並沒有太良好的線性關係,不容易從 individual 去探討正確性的問題。

    • 說 EQRAA 與 OPS_Win 的線性關係維持在 0.9 以上的 correlation coefficient 是安全的 (這僅僅代表 EQRAA 與 OPS_Win 的 "方向" 一致),只是 EQR 對 SLG 較高的選手有 "給分過高" 的現象。

    個人把 NL West 的計算結果 PO 在這裡做參考:

    TeamBWPAOPS_WinVOA/10EQRAA/10
    D'Backs-1.21-6.64-7.45-6.04
    Rockies9.496.086.863.37
    Padres-6.56-6.98-4.590.41
    Dodgers-4.98-3.72-0.73-0.61
    Giants-10.97-10.27-10.47-7.15

    其中 VOA 代表把 VORP 的 baseline 移到 league average 的結果;EQRAA 為 EQR Above Average,除以 10 則代表把 runs 轉換為 wins。

    我不敢、也不能說個人証實了這幾個 metrics 的真實性,但希望傳達的是這幾個 metrics 所代表的意義與互相轉換的過程,建議有興趣的朋友動手玩玩看。

    ※※※※※※※※

    Additionally,這裡提一個可能很多用 EQA 的朋友沒有想過的問題:

    打者 A 在 07 年用掉 100 outs,得到 EQR 15;打者 B 亦用掉 100 outs,得到 EQR -15,那麼兩人的 EQA 分別是多少?

    要計算 A 的 EQA 沒有問題:

    EQA_A = ( 0.2 * EQR_A / outs_A )^0.4 = 0.246
    Where EQR_A = 15, outs_A = 100

    然後,當我們如法泡製的想要計算 B 的 EQA 時,不管用 Excel 也好、工程計算機也好,得到的結果都是 "Error",why?其實,這只是國中生程度的問題,在做 power 運算的 caveat:"Negative number to fractional power is an illegal call"!

    即便如此,就 EQR 的 derivation 而言,它的確可能跑出 "負值",針對這樣的球員,他們的 EQA 又應該如何計算呢?Clay Davenport 雖然沒有明講,但他的結果是這樣弄出來的:

    • 如果某球員的 EQR 計算出來是 "負值" (小於 0),那麼就先把它變成 "正值",套用數學的講法 -- 取 "絕對值"。

    • 計算出 EQA 之後,再把 "負號" 加回去。

    所以在上述的命題裡,B 的 EQA 就是 -0.246。然而,這是完全合理的,我們可以從下面這個式子來看 (EQAR: EQA Rate):

    EQR = EQAR * OUT
    Where EQAR = ( EQA^2.5 ) * 5

    EQA 其實就 "很像是" 某位打者 "每個 out 的價值 (分數)",那麼如果 EQR 已經小於 0,EQA 當然也應該要小於 0。話說回來,除了投手以外,能夠得到 negative EQA 的打者恐怕也不多。

    Tuesday, October 23, 2007

    Two Tiny Tips

    在 BP 上看到兩篇文章,裡頭分別都有一小段給了我一點 (奇怪的) 啟示。

  • Joe Torre in a Box (subscriber only)

  • Steven Goldman 從各種角度來檢視 Joe Torre -- 這位長年帶領 Yankees 的老教頭。或許有很多在台灣的 Yankee Fans (or Wang Fans, so to speak) 會對 Torre 有些不捨,不過 manager 充其量不過是一種 necessary evil,而且個人不相信 manager 能幹出什麼大事!簡單一句:如果 Torre 跑去帶 Devil Rays 或 Royals,也不會自動讓這兩支球隊擁有 playoff caliber,實質問題則在於各隊想花多少錢去買個給媒體檢討用的砲灰而已。

    以一介 Dodger Fan 而言,對 Goldman 所寫的一切一切其實都只能 "嗯嗯..." 的點頭稱是而已,不過下面的這段倒讓人有些聯想:

    Torre also hated to use his closer in a tie game on the road, thinking he had to save him to protect a lead he might never get. This led directly to the disastrous decision to use Jeff Weaver instead of Mariano Rivera in Game Four of the 2003 World Series (a move Torre never regretted). Despite this, Torre’s Yankees record in extra-inning road games (40-30) was actually better than his extra-inning record at home (33-35).

    延長賽 (extra-inning game) 的問題不久前我才向 水瓶兄 請教過,當然 MLB 的 managers 多半會在延長賽時把 RP (後援投手) 從最好的開始指派,不過我始終想不出這是什麼因,經指點後才發現理由比個人想像得要簡單太多。

    即便如此,Torre 在客場延長賽較為成功的案例不代表他在這個環節上對 RP "非主流" 式的調度是正確的,不過我們可以回頭看看數字怎麼說:首先參考 Tango 的 late-inning 1-run WE (Win Expectancy) Matrix,以 Markov Chain 所模擬出來的結果在 tied game 的 Top / Bottom 9th,主隊的勝率是 .500 / .634。

    要知道在任何一個 extra-inning 裡對 WE Matrix 來說都是 9th inning 的重現,換句話說即便是到了 10th、11st...的 Top / Bottom,主隊的勝率都是 .500 / .634。那麼在延長賽裡:

  • 主隊如果能將 tied 的狀態由 Top 維持到 Bottom,就能掙得 .134 的 WE。

  • 客隊如果能將 tied 的狀態由 Bottom 維持到下一個 Top,同樣掙得 .134 的 WE。

  • 現在我們考慮獲勝的問題:主隊的獲勝條件是他們需要在延長賽的某一個 bottom 拿下 1 分,這就是說主隊的 RP 大約可以為球隊先掙得 .134 的 WE,剩下的 .366 (1 - .634) 必須由打擊補上,這很單純。

    客隊呢?假使客隊在延長賽的某一個 Top 拿下了 1 分,根據 Tango 的 WE Matrix,這會給他們 .806 的勝率,這即是說在領先 1 分的情況下,客隊必須由 最後一位 RP 來補上 .194 的 WE

    換句話說,客隊若在 tied game 裡用上了 closer -- 也就是球隊最強的 RP,最終可能替球隊掙到的 .134 WE 小於 .194 -- 將球賽 "關門" 的 WE,也因此客隊的調度其實比主隊有選擇性,manager 的確可以考慮將他的 closer 用在更要緊的地方。

    不過如果這個 "更要緊的地方" 根本來不了 -- 也就是在某個 tied 的 bottom 就已經被做掉了怎麼辦?Tango 的 RE Matrix 在這個環節上也給了些 idea:以 RPG (Runs Per Game) 4.7 為例,Base empty、0 outs 時的 R0 是 .717,這代表的意思是:在 4.7 的得分環境下,壘包淨空無人出局 時,一位 league average 的投手主投一局無失分的機會是 .717

    以此類推:一位 RA 3.5 的 RP 與 RA 2.5 的 closer,他們主投一局無失分的機會分別是 .769 與 .823,差距 不到 6%

    假設 RA 2.5 代表球隊裡的 closerRA 3.5 則代表牛棚裡的 3 號牛或 4 號牛,那麼客隊的 manager 究竟是希望在 .134 的 WE 多加 6% 的保險?亦或是小賭一下,尋求將 6% 的保險加在 .194 的 WE 上呢?這似乎有商榷的空間。

    這裡個人只是舉例提供另一種在延長賽調度投手的觀點,還沒有足夠的証據給出一個正確的答案,畢竟要挑毛病的話,首先就是這裡僅僅考慮了 1-run differential 的情況,麻煩的首要是定義完備的機率空間。但無論如何,這似乎是個值得看下去的題目。


    ※※※※※※※※

  • Heroes and Goats (subscriber only)

  • 這篇算是 Joe Sheehan 為 ALCS 所做的注,沒什麼特別的點子,就像我們不需要知道為什麼 Tribes 落敗的理由,反正 "打包票" 找不到一個充分的理由...

    Sheehan 在其中一段提到了 Travis Hafner:

    Travis Hafner: I was asked repeatedly in chat last night, “Remember when Travis Hafner could hit?” He was awful against the Red Sox, .148/.207/.296, capping a truly disappointing season, and his strikeout against Jonathan Papelbon in the eighth was a key moment in the game, the point where the Indians might have clawed back in, especially had they been able to make Papelbon work hard.

    確實,與 06 年 MVP caliber 的成績相比,Hafner 07 年 .836 的 OPS 確實不像話,雖然比起 ALCS 的 .503 好很多。

    而個人則突發性的想到一個問題:由於 ALCS 打了 7 場,那如果把 Hafner 07 年的 152 場出賽做 every 7 consecutive game 的 summary,他會有少個比 ALCS 糟糕的 7-game session?依 Hafner 在 07 年的 stats,我得到了 145 個 7-game session,而其中一共有 14 sessions 的 OPS 小於 Hafner 在 ALCS 裡的表現。大致的分佈範圍則如下所示:

    OPS RangeTimes
    0.2 ~ 0.32
    0.3 ~ 0.43
    0.4 ~ 0.59
    0.5 ~ 0.614
    0.6 ~ 0.722
    0.7 ~ 0.823
    0.8 ~ 0.911
    > 1.0034

    其中最大值是 1.679、最小值是 0.205,median 則是 .787。

    這倒不足以說明 Tribes 碰上 "07 年 ALCS 的 Hafner 的情況大約是 10% 的機會" 這件事,畢竟一季的資料量並不具備太多的預測能力。合理的推測 -- 仿 Marcel 的方式,個人或許應該取不同的 weights 對 Hafner 的 05 ~ 07 三季裡做 every 7-game session 的統計,只是 weight 該如何取?又該如何 apply 到 data?這是需要考慮的方向。

    Saturday, October 13, 2007

    Difficulty of Predicting Playoff

    在進入本文之前,先做一個道歉聲明:事情發生在個人在上一篇 Essence 裡關於 "WPA 呈現 model reality 的忠實程度" 的那一段。

    以 WPA 來談論 model reality 其實是 "完完全全的廢話"!因為 WPA 就是拿勝場分配給每一位 contribute 的球員,它非得具有 model reality 不可的!這是 WPA 的 "spec",嚴格說來,不是長處。

    這是個人的失察,謹此致歉,接下來進入本文。


    You can be a playoff columnist, too!

    最近在 THT 上有一系列 "Why the XXX lose to the YYY?" 或是 "Why the XXX will beat the YYY?" 的 playoff column,對個人而言,這有點像是每天早上吃早餐一樣的 routine。球季到了 10 月份,這類的文章到處都讀得到,而且內容都不外乎把兩支對陣球隊在該季的 "stats" 或是 "advanced stats" 拿出來比較一番。對此,我們可以問以下幾個問題:

  • Can't you dig out those (advanced) stats and line them up by yourself?

  • Is that all we can do? Or Can we do it better?

  • 如果第一個問題的答案是 "Yes" (我相信它也應該是 "Yes"),你我都可以做 playoff 時期的 columnists。

    在思考第二個問題前,我們先想一想每年季初有那麼多的 prediction system 把結果公布在網路上讓 fantasy baseball fans 參考,他們是怎麼出發的呢?以 Tango 的 Marcel 來例,它必需擁有球員前 3 年的資料、取不同的 weighted 做為預測的基準,一般來說,考慮 3 年的資訊 "大約" 足以將球員真正的能力顯現出來 (or regress toward the mean, so to speak),也才能保証預測的準確程度。

    總而言之,資料越多,利用此間的相關性會使預測結果更可靠,這也是為什麼我們說統計學最重要的三件事就是 sample size、sample size and sample size。

    即便如此,莫說是 Marcel,PECOTA、Zips 等等 -- 利用多年統計資料的預測系統 -- 都不見得會讓所有的人買帳,那麼回過頭來,球員們 1 season 的 stats 在 upcoming playoff series 裡會有多大的準確程度?有多好的預測能力?

    By the way,依這條路線往前跨一步:咱們為什麼要把 "特定投手與特定打者的對戰成績" 當一回事?David Ortiz 在 07 年對 Wang 是 7/13、OPS 近 1.600,這當然也不足以得到 "Big Pappi owns Wang." 的結論,不是嗎?

    說穿了,用 1-season stats 做評述並不是一個 solid ground。


    Probability & statistics

    這裡很簡單的談一下 機率 (probability) 與 統計 (statistics) 的差別,以白話文來表達,這兩樣東西其實是 "倒過來的"!機率 是探求一個分佈 (distribution) 的行為與內涵;統計 則是利用手中的資料去推導出可能分佈的母數 (parameter)。

    對於一場比賽的結果,它必然是 zero-sum game -- 一定有一方要被 "掛掉" -- 和丟一個銅板只會出現正面與反面是一樣的意思。正確的說,一場比賽其實就是一個 伯努力 事件 (Bernoulli trial),模型遵從 伯努力分佈 (Bernoulli Distribution),母數則是 P,或者說就是對戰時某球隊的 WPCT。

    統計學要做的就是估計 (estimate) 這個母數 P。



    The Log-5 method

    Bill James 曾經提出一個叫 Log-5 的方法,它的目的就是在計算兩支球隊的對戰勝率,它的描述是這樣的:

    Pr(A beats B) = X / Y
    X = [ AW% - ( BW% * AW%) ]
    Y = [ AW% + BW% - ( 2 * AW% * BW% ) ]


    Where:
    Pr(A beats B) represents the probability A beats B.
    AW% represents the WPCT of team A.
    BW% represents the WPCT of team B.

    原則上 Pr(A beats B) + Pr(B beats A) = 1,這一點是沒有疑問的!換句話說,這裡的 Pr(A beats B) 其實就是上一段的 伯努力分佈 裡所提到母數 P。

    以 07 年的 NLDS -- D'Backs VS Rockies 為例,D'Backs 的 WPCT 是 .556 (90-72);Rockies 則是 .552 (90-73),套進 Log-5 method 的結果:

    X = [ .556 - ( .556 * .552 ) ]
    Y = [ .556 + .552 - ( 2 * .556 * .552 ) ]

    Pr( D'Backs beat Rockies ) = X / Y = 0.504
    Pr( Rockies beat D'Backs ) = 1 - 0.504 = 0.496

    可以發現這個結果和丟一枚公正銅板的結果差不會太多。有閒的朋友不妨用 Strength of Schedule 的方式修正兩隊的 season WPCT 再來做 Log-5。

    話說回來,個人在這裡介紹 Log-5 並不代表我很瞭解它,這和 Pythagorean Formula 一樣讓人看不出式子的內涵 ("內涵" 的意思是 -- 比方說 Raw Eqa -- 一看就曉得它是由 OPS 修正而來,分子的部分甚至是一種 "wild runs" 的表現),但個人也無法找出更好的方法來估計 P。



    How much does .504 mean to us?

    現在有了一個也許不是太讓人滿意的 Log-5 來估計母數,我們要回頭看看 伯努力分佈 的行為 -- 也就是它的 期望值 (expected value) 與 變異數 (variance),想看正式一點的網友不妨參考 Wiki 的說明

    EX = P
    Variance = P * ( 1 - P )

    我想 期望值 的部份不用多加說明,至於 變異數 的部份就稍微帶一下。

    變異數 的意義是各 "觀察值" 與 "期望值 差距的平方和的平均",用白話文來講,變異數 就像是去 measure 結果的 "uncertainty",如果與 期望值 離得較遠的值越多,變異數 自然越大,也就是說現有的 母數 (P) 與現有 分佈 (Bernoulli) 去預測結果,發生 miss 的可能性也越大。而關於 伯努力分佈 的行為,當 P = 0.5 的時候,它的 變異數 會到達最大值,等於有最大的 uncertainty。

    Does this ring any bell to you?

    是的!如果 Log-5 的估計結果是準確的,D'Backs 與 Rockies 的對戰的 uncertainty 其實就快要接近最大值了,也就是說誰勝出都不值得意外!另一方面,變異數 的行為也間接說明所謂先發投手的 "consistency" 對球隊的勝利其實沒有太多實質的貢獻,overall RA 說明了一切,而在 RA 相同的前提下,表現越一致的投手 -- 在 "期望勝場數" 的觀點下對球隊不會比較好。

    當然,如果我們想探究一個 series 而非單一場比賽,一連串 伯努力事件 會構成一個 二項式分佈 (Binomial Distribution),有興趣的朋友請自行玩玩看,這裡不多談。

    到這裡應當已經 somehow 說明 playoff 的結果為什麼通常會很出人意表、或者說要給出一個可信的預測有多麼困難。我們總是說 "May the best team win",但是對 MLB 的 10 月份來說,這句話其實是很奢侈的!World Series Title 給的是 10 月份最熱的球隊,不是最好的球隊。



    Back to the question...

    Nate Silver 在 06 年與 BBTN (Baseball Between the Numbers) 裡都提到 secrete sauce 這個東西,個人也曾經 小小的談過,到了 07 年,原本在 BP Statistics 頁面佔有一席之地的 secret sauce 卻只剩下一篇 unfiltered 的描述。當然 secret sauce 有它的道理,但也讓我提醒一下:在 Nate 所設計的 model 裡,EqK9、FRAA 與 WXRL 與 playoff score 的 correlation 大約只在 0.2 上下,小得可憐!這就像是一根小草 -- 抓在手中毫不起眼,卻又不能輕易放掉。

    不過這裡也不至於帶出要 "拿球員 3 年來的資料來做基底以預測他們在短期比賽的表現" 的結論,我想說的是:對於 playoff,猜對或猜錯其實都不值得說嘴,因為不管有多少的 background 在背後支持我們的預測,它都和瞎猜差不多。

    Can we do anything better? Well, maybe not now.



    ※※※※※※※※

    Dodger Fans 最敬愛的 Ken Gurnick 趁著 playoff 時期在官網興風作浪了:

  • Pierre might shift in the outfield

  • 所以官方認為 Pierre 的問題是 "defensive issue",他的 arm strength 是 below average (try "below my younger sister"...),所以要把它往 corner 移動,這代表什麼呢?

    • Ned Colletti 在簽 Pierre 的時候不曉得他是 sissy arm,他以為 ML 級的 OF 的肩力和他 "打X槍" 的力道差不多就行了。

    • 顯然 Dodgers 還是沒搞清楚他們的問題在哪裡,07 年的 Dodgers 明明就是 offensive ineffectiveness 拖垮的啊!

    • Pierre 如果真的移到 LF,很可能代表 Ethier 08 年又要失業,不過我很難相信 Dodgers 還會繼續花錢去搶 Andruw Jones。

    我奇怪的是像 A-Rod 這麼好的球員,在 NY 稍有閃失,媒體就把他弄得剩下半條命;Pierre 在 LA 比一條熱狗的價值都不如,卻仍然活得好好的?換做在 NY,他還有命在嗎?或者說,LA 的 local media 的良心都到哪裡去了呢?

    So, Ken told us that Pierre might shift in the outfield? Try shift to the trash can, asshole...

    Sunday, September 16, 2007

    Liar

    這篇文章在草稿匣裡壓了很久,由於工作的緣故,實在抽不出太多的時間把它完成,個人畢竟不是那種下筆成文的人。

    大約在一個多月前 (8 月 7 日),BP 的 Joe Sheehan 在 Prospectus Today 上寫了 這篇文章,主要在當時討論 NL MVP Race 的故事,文中引用 VORPWARP 做為 approach,這裡我只節錄其中的一小部份:

    NameVORPOthers
    Hanley Ramirez 63.714
    Miguel Cabrera 60.62
    Chase Utley 53.77
    Jake Peavy 51.73
    Brad Penny49.34

    這裡是以 VORP 做為排名依據,"Other" 欄位裡則是該球員的 WARP 在 NL 的排名,要說明的一點是由於討論的題目是 "MVP",在數據的引用上可以無關球員的真實能力而單純只考慮 "貢獻",因此 VORP 與 WARP 在這個環節上被引用是 OK 的。

    NameWARPOthers
    Albert Pujols 8.09
    Miguel Cabrera 7.42
    Jake Peavy 7.34
    Brad Penny7.25
    David Wright7.010

    第二個表格則是以 WARP 為排名依據,相對的,這裡的 "Other" 指的是該球員的 VORP 在 NL 的排名。

    而 Sheehan 做出了以下的結論:

    See what I mean? Hanley Ramirez leads the circuit in VORP, but his defense rates so badly that he’s just 14th in WARP, which includes glovework. Albert Pujols (!) is the top-rated National Leaguer by WARP, but just ninth in VORP. That degree of disagreement is unusual for these metrics, and complicates the MVP question.

    我們曉得 sabermetrics 只是一種數字玩具,有人喜歡玩,但不代表會玩它的人比較了不起,重點在於數字不會說謊,說謊的是錯誤引用的人,就像 Joe Sheehan -- 他認為 07 年 NL 的 MVP Race 在 VORP 與 WARP 之間出現了某種 degree 的 disagreement,個人十分懷疑 Sheehan 是否瞭解自己在說什麼...

    在 07 年季前,個人曾經寫過這篇 Baseline Discrepancy,裡頭提到 VORP 與 WARP 雖然都 involve 所謂的 replacement level,但兩者的 baseline 是有段差距的:VORP 大約是 WPCT 27%、or 44-win over 162-game;WARP 則大約是 WPCT 16%、or 22-win over 162-game,只是不愛呈現真實面的的 BP 把這些都命名 "replacement level",卻不明說這是 "誰訂的 replacement level"。

    我們也曉得 VORP 是純粹是闡述攻擊面的 metric,同時加上了 positional adjustment,但不包含守備的因素;WARP 則是 攻擊面防守面 的總合評價,我想可以把 WARP 以下面的形式來表示:

    WARP = OWAR + DWAR
    OWAR = Offensive Wins Above Replacement Level
    DWAR = Defensive Wins Above Replacement Level

    從這個角度來看,Sheehan 的 ground 已經有漏洞了 -- WARP 不應該在攻擊與守備部份 apply 不同的 baseline,也就是說 "包含在 WARP 裡的攻擊貢獻 (也就是上式中提到 OWAR 的部份...) 並非經由 VORP 的 translation 而來"。

    那麼 Davenport 的 WARP 究竟是怎麼來的呢?我也不知道!但不知道不代表我不能去 "估計" 它,事實上個人先前就提過:WARP 與 (BRAR + FRAR) / 10 相當的接近。果真如此,在 WARP 裡攻擊貢獻所佔的部份事實上就是 BRAR 而不是 VORP 了,那麼不妨來回顧一下 06 年 Dodgers 的 J.D. Drew 與 Rafael Furcal 的幾項 "BP stats":

    NamePABRARFRARWARPVORP
    Drew59443237.334.9
    Furcal73639327.946.9

    這裡我把 Drew 和 Furcal 的 PA 列出來只是為了表示兩人在 playing time 的差距,由於 BRAR 畢竟是 count metric,所以 Furcal 在比 Drew 多出 140 PAs (110-out) 的情況下才把 BRAR 拉得這麼近,事實上這兩位球員在 06 的 OPS 差了 80-point。

    看看 Furcal 與 Drew 在 VORP、BRAR 與 WARP 之間的比較,現在,還有人覺得 Sheehan 的 approach -- 以 WARP 與 VORP 做交互 ranking -- 所產生的 "disagreement" 是 unusual 的嗎?

    所以這裡的重點有下列幾項:

    • WARP 裡頭沒有 VORP 的訊息,合理的猜測在 WARP 裡關於攻擊貢獻 (offensive contribution) 的部份是 BRAR。

    • VORP 有做 positional adjustment,BRAR 沒有 (Important!)。

    • Sheehan 要不就是直接排序 BRAR 與 FRAR;要不就也該是拿 VORP 與 FRAR。VORP 與 WARP 的組合是完全荒唐的!

    Modern baseball 重要的不是 sabermetrics 本身,而是 sabermetrics 背後的想法,如果沒有搞清楚其背景就胡亂引用,犯錯就只是剛好而已,Sheehan 這篇文章正好反映出 07 年以來個人對 BP 的失望,他是一個好的 columnists,但少做一點這樣的錯誤示範會更好。

    ※※※※※※※※

    Think more:

    個人可以給予 WARP "低到不具意義" 的 baseline 一個較具體的例子:1899 年的 Cleveland Spiders,Clay Davenport 在 WARP 裡引用的 replacement level 大約就是那樣的一支球隊。

    此外,Davenport 的 BRAA 其實很接近下面這個近似式:

    BRAA ~ 10 * (1.7 * OBP + SLG - 0.98 ) * 0.025 * PA

    其中畫上底線的部份可以看得出來和 OPS_Win 也相當的接近,把最前面的 coefficient "10" 當成 RPW (Runs Per Win) 的話,BRAA 其實就像是所謂的 "OPS_Run"。

    而我們也曉得 OPS_Win 其實是 Wins Above Average,這至少代表了 BRAA 所 apply 的 "average line" 和我們一般認知的 "league average" 是相去無幾的!更棒的是,我們可以用 Davenport 的 BRAA 去推斷他在 BRAR 所 apply 的 replacement level 大概在哪裡,更可以計算這樣的 replacement level 大約可以保持多少的 WPCT。

    現階段個人的猜測是:BRAR 所 apply 的 baseline 是合理的,至於 WARP 的 baseline 為什麼那麼低?問題應該歸咎於 FRAR。不過這一切還是等到 offseason 再來談吧。

    Saturday, August 18, 2007

    How Teams Win Their Games?

    因為 management 的不效率與過多的決策錯誤,使得 07 年的 Dodgers 一直讓我提不起什麼勁,MLB.tv 買得有點像是 donate 給 MLB.com,但相對的,也讓我多出一些 "東摸摸、西摸摸" 的時間 -- 我指的是 sabermetrics 的研讀。

    這一陣子在看過 Aloha 的對 Pythagorean Formula 的解讀,以及與 Todd 談到 WXRL 的問題後,對 WE (Win Expectancy)、leverage 與一些 neutralized stats 的解讀有了點心得,就這個部份做一些 follow-up。

    But no...我不打算引用 BP 的 WXRL,因為 1) 我不曉得 WXRL 所 apply 的 replacement level 在哪裡? 2) 我不認為 adjusted lineup 有其必要,而且也不曉得 BP 是怎麼做的? 3) BP 似乎不打算修正 Keith Woolner 在 BBTNLEV 的定義錯誤,WXRL 的 scale 有懷疑的空間。因此,我引用 Fan Graphs (FG) 所提供的資料。

    整個 Fan Graphs 的系統 -- 在我的觀點下 -- 是由 OPS_Win、BRAA 與 WPA 這 3 個重點所貫穿的,以下個人小小的解釋一下這 3 個東西,已經知道的朋友可以跳過下面這個區塊。

    ※※※※※※※※

    OPS_Wins:

    調整 OBP、SLG 的權重與 playing time (PA) 來估算球員的 Wins Above Average,它幾乎可以與 BP 的 EQA 相提並論,但計算上簡單得多,關於 EQA 的討論請參考 這一篇



    BRAA (Batting Runs Above Average):

    和 BP 裡 DT 所提供的 BRAA 是兩回事。FG 的 BRAA 的精神比較像是 "不考慮時間的 situational Runs Added",換句話說,它是紀錄 state by state transition 時 RE (Run Expectancy) 所改變的量,舉例說明,在 RPG 為 4.5 的情況下:

    BaseOutsRE
    ---00.500
    1--00.884
    12-01.494

    如果某位打者在 lead-off the inning 時獲得一個 BB,他為球隊賺進的 RE 是 0.884 - 0.500 = 0.384;但接下來的打者在 1 壘有跑者時又拗到一個 BB 而形成 1、2 壘有人,他賺進的 RE 就是 1.494 - 0.884 = 0.610。同樣是一個 BB,但產生的 BRAA -- 也就是 RE -- 會不太一樣。

    對投手而言,BRAA 則是 Expected Runs Prevented,就 "定義" 來看,它比較像 BP 的 ARP



    WPA (Win Probability Added):

    WPA 其實就是加上時間考量 (局數),將 RE 轉換成 WE (Win Expectancy) 後在 state by state transition 下的紀錄其 differential,初心者請參考 這裡

    ※※※※※※※※

    以下是 NL 至 8 月 17 日為止 WPCT 仍在 .500 以上的球隊,依 WPCT 排序與他們打擊 (BWPA)、先發投手 (SWPA) 與後援投手 (RWPA) 三項分別的 WPA 總和:

    TeamWPCTBWPASWPARWPA
    D'Backs0.569-2.103.346.76
    Mets0.562-0.353.344.01
    Padres0.537-8.456.447.01
    Phillies0.5376.48-2.24-0.23
    Braves0.5240.84-0.633.29
    Dodgers0.516-6.151.136.52
    Cubs0.512-2.643.530.11
    Rockies0.5125.99-1.79-2.20
    Brewers0.508-0.80-0.773.07

    首先,兩支球隊的 WPA 在比賽開始時是 50-50 的,一場勝利所倚靠的是把對手起始時所擁有的 0.5 WPA 給 "搶過來"。也就是說 0.5 的 WPA 可以代表 0.5-win above average 或是 actual 的 1-Win。也因此若 WPA 相當接近 "0",至少代表在球隊該 category 下的整體表現是接近 league average 的。

    For good measure,從上面的列表能很清楚的看到每支球隊的 "長處與短處" 所在,比方說 Phillies 與 Padres 的 WPCT 相同,但 Phillies 靠的是用他們的 bats 去 muscle 對手,Padres 則是憑他們優勢的投手群;Dodgers 則是一如開季前的預期,在投手群有突破性發揮的情況下被打線完全脫垮;Rockies 長久以來在野手 prospects 的培養於 07 年開花...etc。

    由於 assign 在每一個 situation 的 WPA 的多寡取決於該 situation 的 crucial 程度 (leverage),也就是說在 high/low leverage situation 下,得失分對 WE 的 swing 影響會越 大/小;相對的,average leverage situation 下的得失分到會接近我們常用的 10-run equals 1-win 的估計式。

    上述的 BWPA、SWPA 與 RWPA 裡,顯然 受到 leverage 影響較大的 category 會是 RWPA -- 也就是後援投手的部份。以 D'Backs 為例,目前 RA > RS 卻拿下約 8-win above average 除了顯示他們可能在 close game 下的表現相當好以外,他們 bullpen 的 效率也是高人一等

    什麼叫 "效率高人一等"?Here is an idea:

    TeamWPCTRWPARBRAA
    D'Backs0.5696.7613.18
    Mets0.5624.0125.02
    Padres0.5377.0157.74
    Phillies0.537-0.23-6.96
    Braves0.5243.295.43
    Dodgers0.5166.5235.25
    Cubs0.5120.1115.50
    Rockies0.512-2.2015.02
    Brewers0.5083.07-4.73

    我們曉得 Padres 的 RWPA 在目前的 NL 是最高的 7.01,D'Backs 則以 0.25 RWPA -- 也就是 0.5-win 的差距緊追在後,但 Padres 的 bullpen 所省下的 situational runs above average (RBRAA) 是 57.74,整整多出 D'Backs 近 45-run 之多!這其實說的是 D'Backs 的 bullpen 被炸得很徹底時可能多半是 low leverage situation,因此對 RWPA 影響不大;但在 high leverage situation 時,他們卻不吝於達成救火的任務。我們不曉得 D'Backs 為什麼有本事拿到這麼多的 high leverage situation,但可以想像得到 D'Backs 的牛棚對 Pythagorean Formula 這種 neutralized 的估計式的 "殺傷力" 有多大。

    有個想法:如果計算 RBRAA / RWPA 所得到的結果很小,至少代表這支球隊的 manager 確實做到 "send the right guy out at the right time" -- 不論他是有心還是無心;如果結果較大,那倒不盡然是 manager 調度的失誤,說不定是他的球隊沒有碰上太多 crucial 的情況使然;另外像 Brewers 的 RBRAA < 0 但 RWPA > 0 的情況或許不適用 RBRAA / RWPA 來推論,但可以理解到 Brewers 的牛棚掉了不少分數,可撿回來的分數卻比那些丟掉的要 crucial 得多。

    Truth is:RWPA 與 RBRAA 的結果帶給個人最大的認知是 neutralized 的 stats -- 包括 RA、VORP...etc 都不適用於評價 RP 的貢獻 (或者說,against model reality...),RP 上場時的 leverage 使得 WE Swing 太過劇烈,幾乎看不出任何往中間靠 (neutralized) 的可能性;相較之下,打者與先發投手的部份在經過一個 long run 後,high & low leverage situation 對 WPA 的影響被中和掉的可能性是很大的,也比較適合使用 neutralized 的 stats 去評估。

    最後,我們得知在 dig out "how teams get their win" 的時候,我們有 3 個不同的 scope 可以運用,以下是小小的結論:

    Batting:
    • OPS_Win 是 neutralized win 的估計,適用於 10-run equals 1-win 的結果。

    • BRAA 是 situational 但沒有考慮比賽進行程度的紀錄,與 OPS_Win 比較時,若 (BRAA/10) 大於/小於 OPS_Win,則 roughly 代表球隊可能在 runners on 時有 較佳/較差 的表現。

    • WPA 加入了比賽進行的程度,late-inning 的 nice/lousy performance 會給予較大的 fluctuation。如果 WPA > (BRAA/10),則 somehow 代表打者在 crucial situation 有較佳的 peformance。說穿了,這應該是現今衡量 "clutchiness" 最好的指標。

    Pitching:
    • RAAA (Runs Allowed Above Average) 是最 neutralized win 的估計,最適用於 10-run equals 1-win 的結果。SP/RP 的 RAAA 的計算方式是找出 league average SP/RP 的 RA -- say lgRA,然後利用 (RA - lgRA) * (IP/9) 來計算。

    • BRAA 是 situational runs saved 但沒有考慮比賽進行的程度,與打者 BRAA 的相似之處在於若投手的 BRAA 大於 RAAA,somehow 表示投手在 runners on 時把他們變成殘壘的情況較多,這當然也包括了 prevent inherited runners scored 的資訊。

    • WPA 加入了比賽進行程度的因素,BRAA 若與 WPA 成反比,代表投手在 crucial situation 下表現得較好。如果談到 clutch pitching,和打者的部份一樣,WPA 與 BRAA 的比較將是最好的指標。

    相較於 BP 那一堆來路不明的 stats,Fan Graphs 所提供的玩具不僅簡單明瞭,而且也夠 powerful 來讓我們做出一些有利的結論。So, try to love it!

    必須要強調的是,以上都只是個人的解讀,未必是 100% 正確的,如果認為有任何不妥之處,請留下 comment 給我。

    Tuesday, August 07, 2007

    Mano a Mano: Nomo V.S. Wang

    最近在中文的傳媒上看到關於 Wang (王建民) 和 Nomo (野茂英雄) 的一些比較,只要把 "王建民"、"野茂英雄"、"勝投" 這幾個關鍵字打到 Google 去隨便找都會蹦出一堆相關訊息,所以這裡我只節錄其中的一份:

    同樣是生涯第70場先發,日本的野茂英雄當年的戰績只有34勝19敗,勝率6成41,如果以前三季勝場數來比較,野茂當年為道奇隊拿下43勝的戰果建仔本季還有10到11場先發機會,所以建仔要突破野茂英雄前三季所締造的勝場數。

    個人對於 Wang 沒什麼可以評論的,我只知道他是個相當 solid 的 SP,而且可信度隨著時間的過去而越來越高;另一方面,對於平面媒體永遠可以在 Wang 多拿下一場勝投時找到些東西來慶祝也感到十分的欽佩。無論如何,有功可慶總比沒有好,這畢竟是身為 "粉絲" 的權利。

    不過個人看到 Nomo 被拿來和 Wang 比較時的第一個反應比較奇怪:在印象中,Yankees 對 Wang 的先發一向十分 "捧場",至於 Nomo 的勝場數...該不會是 Dodgers 有愧於他吧?

    無論如何,拿勝場數來評價 SP 本來就是一件怪事,在這裡我們就用一些最簡單的 sabermetrics 來看看 Wang 與 Nomo 之於 Yankees 與 Dodgers、respectively 的 contribution 比較。方法在 07 年 1 月 已介紹過,這裡就不再贅述。但必須要另外引進的一件事是利用球隊的 RS 與 RA 來推算出 Dodgers / Yankees 在 Nomo / Wang 前 3 年先發時的 runs environment,進而決定 Pythagorean Formula 的 power。

    以下是 Nomo 的情況,其中 RS/G 為 (Dodgers 的) Run Scored Per Game:

    YearGSIPRARS/G
    199528191.12.9644.402
    199633228.13.6674.340
    199733207.14.5154.580


    以下則是 Wang 的情況 (至 07 年 08/05 為止):

    YearGSIPRAR/G
    200517116.14.4885.470
    200633218.03.7985.741
    200720136.23.4895.927

    可以看得出來在被拿來比較的幾年裡 Nomo 與 Wang 所屬的球隊在 Runs Scored 的部份有一段距離,我們尚需要利用各自的 TeamRA 去估計 Nomo / Wang 在先發時球隊每 9 局的預期失分 (Expected Run Allowed Per 9-inning、ExRA9),再利用 (RS/G + ExRA9)^ 0.287 得到 Pythagorean Formula 所需的 power。

    Nomo:

    YearRS/GRATeamRAExRA9Power
    19954.4022.9644.2303.2701.795
    19964.3403.6674.0003.7441.822
    19974.5804.5153.9804.3531.875

    Wang:

    YearRS/GRATeamRAExRA9Power
    20055.4704.4884.9604.6021.940
    20065.7413.7984.794.0621.925
    20075.9273.4894.653.7721.919

    其中 ExRA 代表的是 Nomo/Wang 在先發時,球隊預期會失掉多少分數;所以我們的 Pythagorean Formula 就成為:

    WPCT = A / (A + B)

    Where A = (RS/G)^Power, B = (ExRA9)^Power

    接下來就可以算出 Nomo / Wang 在先發時對於 Dodgers / Yankees 的預期勝場數 (Expected Wins, ExWin),並與個人 "實際" 所拿下的勝場數 (RealWin) 比較:

    Nomo:

    YearGSE_WPCTExWinRealWin
    1995280.63017.64813
    1996330.56718.70616
    1997330.52417.28514
    Total53.64043


    Wang:

    YearGSE_WPCTExWinRealWin
    2005170.5839.9128
    2006330.66121.80119
    2007200.70414.08513
    Total45.67640

    以 Wang 的 06 年為例,這裡的 ExWin 代表 Yankees 於 06 年 Wang 的 33 次先發中預期拿下 21.801 Wins (這不是 Wang 的勝場,而是 Yankees 的勝場,實際上的資料則是 Yankees 拿下了 22 Wins),其中 19 decisions (RealWin) 到了 Wang 的口袋裡。

    所以在考慮 Dodgers 與 Yankees 在不同的年代,不同的得分環境、不同的 bullpen support 的情況下,Nomo / Wang 在他們的前 3 年帶給 Dodgers / Yankees 的是大約 54 / 46 的 ExWins (Expected Wins),那麼假使 Wang 在生涯前 3 年的 ExWins 要超越 Nomo,代表 Wang 在未來 11 次可能的先發裡必須 maintain 約 0.727 (8/11) 的 WPCT。

    這樣的難度有多高?Say,倘若 Yankees 的 RS/G 沒有 dramatically change "且" Wang 在未來的 11 次先發裡每次主投 7 局,他必須 將自己的 RA 降低到約 3.21 的水準才能辦得到。也因此,在 ExWins -- or pure contribution so to speak -- 這個環節上,Wang 在生涯前 3 年要趕過 Nomo 恐怕沒這麼容易。

    However,由於 05 年的影響,Wang 的前 3 年將會比 Nomo 少掉 10 ~ 11 次先發的機會。那麼給予相同的 playing time,究竟誰對所屬球隊的 pure contribution 較大? Go figure...

    Right then, can we close this case? Well, maybe not...

    上面所引用的方法有點像是把球隊的勝利 "分配" 給 SP,也就是說如果球隊本身的 wins 比較少,在可容忍的 random fluctuation 下,每位投手被分配到的勝場也就會比較少。就 Yankees 而言,自 05 年至今 (2007/08/05) 為止拿下了 254-win 與 0.582 的 WPCT;Dodgers 在 95 ~ 97 年間則拿下 256-win 與 0.547 的 WPCT。Plus,95 年的 regular season 只有 144 regular games 而不是 162。換句話說,pure contribution 對處在一支較差球隊的 Nomo 來說,仍然有些不公平的地方。

    因此,我們再採用另一個 scope,以兩位投手所處時空給予相同的投球局數,在他們的前 3 年裡究竟比 league average 的投手為球隊省下幾分 (RSAA: Run Saved Above Average)?

    Nomo:

    YearIPRALgRARSAA
    1995191.12.9644.6535.84
    1996228.13.6674.7126.48
    1997207.14.5154.632.64


    Wang:

    YearIPRALgRARSAA
    2005116.14.4884.733.12
    2006218.03.7984.9427.66
    2007136.23.4894.8320.36

    就 RSAA 的 total 而言,Wang 大約比 Nomo 少了 15 分,好吧!我們把 Wang 在 05 年損失掉的 11 次 GS 也加上去,這就等於是說 Wang 在 22 次先發裡必需比 league average 的投手少丟 15 分才能與 Nomo 前 3 年的成績扯平,以 6.5 IP/G 來計算,Wang 必需維持的 RA 大約是 3.88。

    對於這個結果,只能說以對球隊 pure contribution 來看,Wang 絕對在 Nomo 之上;但以 league percentile 的角度,相信在 95 ~ 97 年於 NL 比 Nomo 要優的 SP 比起 05 ~ 07 年於 AL 比 Wang 要優的 SP 要來得 "少"。

    Who's better? Go figure...

    Saturday, August 04, 2007

    Behind the Eight-Ball

    由於 regulars 的 slump 加上 late season injury spree,讓 Dodgers 在最近的 10 場比賽裡僅僅拿到 3 勝 + 連續輸掉了 4 個 series,看起來他們很像是準備在 07 年 NL West 的 4-way race 裡掉隊。

    個人覺得這整個情況有點像 06 年 All-Star Break 過後的情形:Little 堅持把 "用手套打出 .350" 的 Cesar Izturis 放在 3B 的結果換來一個 1W13L 的 nosediving,而最近的 4 場比賽裡,SP 的表現都讓 Dodgers 留在比賽裡,但 offense 使不上力成為主要的敗筆,失去 Kent 固然可以可以當成一種藉口,但讓 OPS .451 的 Ramon Martinez 連續先發 4 場,除了顯示出 Little 的愚蠢,另一層意思就是 Colletti 把 Betemit 在 731 前交易出去的現世報。

    事實上 Dodgers 07 年由於 Juan Pierre 的加入讓整個打線像是有 2 個投手,在 Kent 受傷後,Ramon 的攪局讓 Dodgers 有 3 個投手在打線裡,如果把 8 月 4 日先發的 Young 也算進去 (My lord,不論守備或打擊,他真的太像 CCF 了...),等於是整個打線只有 5 個 regulars,加上 Martin 的 slump 與 killer-tomato 的 rusty,Dodgers 拿不出反擊 D'Backs 的能耐只是剛好而已。

    所以...Grady Little,他不只可以讓 Dodgers 輸在比賽進行的時候,也可以讓 Dodgers 在比賽前 -- 在他決定 starting lineup 後 -- LA 視同棄械投降;他不是沒有更好的選擇,只是沒那麼做而已。

    也別忘了 Gonzo 在 07/01 至 08/03 期間 OPS 下修了 66 points -- 目前是恰好剩 .800,這一點季初就談過不少回:Gonzo 06 年在 Chase Field 就只剩下 OPS .79x 的能耐,換到 Dodger Stadium 加上多老一歲,要預期他打得比 06 年好....這需要不小的勇氣與樂觀的個性。

    個人認為可以暫時避談 Dodgers 不願意讓太多他們的 prospects 先發的問題,畢竟只要 Little 在掌兵符,我們很難一口氣看到太多的 prospects 在場上,但近一個多月來在 veteran 方面卻有一絲 silver lining -- 我指的是 Nomar Garciaparra。

    個人反對留下 Nomar 的原因是:1) 他不是個合格的 1B 2) 他在 06 年也只強了兩個月 3) 他會擋住 Loney 的去路。但 Nomar 無論如何也不是像 Gonzo 那樣老到該上主播台的年齡,他沒有理由連 .700 的 OPS 都交不出來,合理的要求應該至少上修 120 points。

    有趣的事就在這裡:Nomar 在 7 月交出了 .805 的 OPS,這是他 07 年以來最好的單月成績;更讓人驚訝的是該月 Nomar 拗到了 10 個 BB -- 超過 07 年 5、6 兩個月的總和,也平了 Nomar 來到 LA 之後單月最多 BB 的紀錄;該月的 IsoD (OBP - AVG) 更是 Nomar 的 "LA 生涯" 裡超過 75PAs 以上的月份裡最高的。

    對於向來以 line drive + extra-base hits 維生的 Nomar,這樣的轉變讓個人覺得有點訝異。但談到這會否是 Bill Muller -- 新任 hitting coach -- 給予 Nomar 的 orientation 反倒沒這麼重要,Nomar 鳥了這麼長一段時間,要 regress toward the mean 也該是時候了。或許 Dodgers 最近會有一些機會能夠 "ride on Nomar"。

    另一方面,Dodgers 該考慮在 Kent 受傷的這段時間裡把 Nomar 移到 2B,然後 promote Dodgers 未來真正的 3B -- Andy La Roche。雖然我曉得這是作夢....但如果 Andy 真的 available,此舉看起來像是解決 offensive slump 最直接的方法。

    ※※※※※※※※

    在這個 Blog 作廢以前,只要 Dodgers 還沒有 out of race 的球季裡,個人都會在 8 月初開始做 Dartboard System (DS),以下是 DS 對 07 年的 NL West 的預想 (資料至 08/04 為止) :

    TeamWinLostWPCTAdj_S
    SDN88.1373.870.54400.32
    LAN87.9574.050.54290.21
    COL84.8477.160.52370.00
    ARI84.5177.490.52160.05
    SFN73.8888.120.45610.66

    Dartboard 的方法在 06 年 8 月時個人曾有過一些 介紹,這一回我加入了 Adjusted Strength (Adj_S) 這個項目,它代表的是 "球隊在剩下的比賽數裡受到 Strength of Schedule 的影響",以 Padres (SDN) 為例,Dartboard 認為以他們的現狀可以在季終拿下 88.13 勝左右,但這支球隊真正的 strength (強度) 則可以上修 0.32 win。換句話說,Adj_S 為 positive 的球隊表示球隊被安排的 schedule 要比聯盟平均水準更 "難" 一點。

    D'Backs 07 年的情況有點像 Mariners:贏球時的勝分少、1-run game 贏得多、大比分輸球的比賽也多,即便從 D'Backs 真實的 runs environment 來修正 Pythagorean Formula 的 power 也無法 cover 他們在 high leverage 裡得到較大 advantage 的事實。不過個人一向對 07 年的 D'Backs 的 prospects 有很高的評價,the rest of NL West 應該慶幸的是 Big Unit 的 07 年已經結束了。

    順便也做了 NL 剩下的分區:

    NL East:

    TeamWinLostWPCTAdj_S
    NYN92.4569.550.57070.21
    PHI86.0575.950.53120.00
    ATL85.3076.700.52660.42
    FLO75.9786.030.4690-0.11
    WAS70.7591.250.43670.16


    NL Central:

    TeamWinLostWPCTAdj_S
    MIL88.0074.000.5432-0.37
    CHN86.1875.830.5320-0.28
    SLN75.4886.520.4659-0.29
    HOU71.1486.520.4391-0.43
    CIN70.8391.170.4372-0.27
    PIT66.5895.420.4110-0.28

    Wednesday, July 18, 2007

    Win Expectancy Primer

    人在 Padres 做制服組的 DePo 最近又有了 remarkable comment:

    "Part of the fun of this game is that we'll never figure it out. We're never going to get it right. What we try to do is become a little less inefficient in our decision-making. That's Moneyball. It doesn't mean we're going to make the World Series every year. Hopefully, we will be competitive every year. It's no guarantee for success."
    -- Paul DePodesta, Former Dodger GM

    Again,看到這種 comment 只是讓人充滿痛恨而已!Dodgers 真正資敵最大、最失敗的 move,應該就是放掉 DePo。

    我們曉得 Moneyball 或大部份的 sabermetrics 談論的都是 GM 的決策 (decision-making),難道這代表 sabermetrics 沒有辦法 cover field manager 的決策嗎?其實也不盡然,以 Win Expectancy 為 ground 的理論正是拿來檢視 manager 最好的工具,話雖如此,請務必記得 sabermetrics 只是給我們一個方向,而不是成功的保証。

    在開始談 WE (Win Expectancy) 之前,我們先回過頭來看看 WE 的表兄弟 RE (Run Expectancy),這裡有一個 Tango 所做出來的 RE Matrix 連結,截取下面這個部份做個說明:

    RPGBaseOutsFREQRER0R1
    2Empty0.259.222.849.104

    這段的意思是:在每場比賽平均得分為 "2" (RPG) 的前提下,每局發生 "無人出局 (out)無人在壘 (Empty)" 這個情況的機會 (FREQ) 是 0.259;而球隊的期望得分 (RE) 在此情況下是 0.222;到該局進攻結束後得 0 分的機會 (R0) 是 0.849、得 1 分的機會 (R1) 則是 0.104....and so on。

    換句話說,在指定了 RPG (Runs Per Game) 之後,每一局進攻裡都有 24 個不同的 states ( 3 種出局數 * 8 種壘包組合),每一個 state 有其對應的 RE,球賽的過程就是在這些 state 之間做 transition。打個比方,以現在 ML 約 4.5 RPG 的情況下,"0-out、base loaded" 的 RE 是 2.34,不管攻擊方是用 3 支連續 single 或 3 個連續 BB 來達到這個狀態並不重要,重要的是一旦到達就有 2.34 的 RE。

    WE Matrix 就沒有像 RE Matrix 這麼單純,因為 WE Matrix 必需考慮 RD (Run Differential) 與比賽進行的程度 (inning),所以 WE Matrix 比 RE Matrix 多出了兩個維度,光是 Top 1st 的 WE Matrix -- 僅考慮 RD 自 -6 ~ 6,就有 13 * 24 = 312 個 states 在做 transition (但並非每個 state 與 state 都是 mutually accessible)。Theoretically,WE Matrix 的 "size" 可以是無限大的。

    Mathematically,談到 state 與 state transition -- WE 或 RE -- 背後的 model 其實就是 n-state Markov Chain 的型態;它甚至還有點像是個人在 這篇文章 裡提及由 Copenhagen 學派發表的 "波函數" (wave function) 模型,不過這裡既沒有沒有要再回頭談量子物理、也不打算說明 Markov Chain 的 simulation,只是稍微提一下模型背後的 fundamental grounds。

    也許會有人覺得有了 RE Matrix,為什麼還需要 WE Matrix?這道理其實再容易不過:畢竟同樣是落後一分,bottom 1st 和 bottom 9th 下,Home/Road team 的 WE 將會有很大的差距。很顯然的,如果僅是 1 分差的 game,bottom 9th 的 outs 會比 bottom 1st 要 critical 許多,RE 說不出這其中的差別,但 WE 可以;另一方面,由於 field manager 在下決策的時候必然是想從某一個 state 轉換到另一個 state (e.g. 下達 SH 使 0-out、一壘有人變成 1-out 二壘有人),那麼 WE 可以用來評估 field manager 的策略下達是否合情合理。

    在 internet 上的可得資源裡,沒有人提供足夠的 WE Matrix 讓我們檢視,但這裡有一版由 Tango 所提供、在 late-inning、RD 於 -1 ~ 1 之間 的 WE Matrix,我們姑且拿這個來玩一玩。

    參考以下的幾個狀況:

    A. Bottom 10th,RD = 0、主隊無人出局攻上一壘

    Strategy:主隊執行 SH

    InningRDOutsRunnerWE
    Bottom 9th001--0.715
    01-2-0.703
    011--0.637

    首先要說明的是:在 WE Matrix 裡,extra-inning game 的任何一個 top 或 bottom 都可以視為 top 9th 與 bottom 9th 的 duplicate,因此雖然狀態寫的是 bottom 10th,但我們依舊可以使用 bottom 9th 的 WE Matrix 來做決策分析。

    在節錄的 WE Matrix 中,首列是起始的狀態;第 2 列是 SH 成功的狀態;第 3 列則是 SH 失敗的狀態,你可以發現一個成功的 SH 會讓你的 WE 向下修正 0.012 (not much though!),因此即使在 Bottom 10th,SH 不是被 prefer 的策略。

    RE Matrix 也支持這個說法:由於是 bottom 10th,任何得分的情況都會讓比賽結束,refer to RPG 4.5、無人出局 1 壘有人時,攻擊方得分的機會是:

    1 - P( R0 | RPG = 4.5 ) = 1 - 0.578 = 0.422

    而一個成功的 SH 後,攻擊方得分的機會成為 1 - 0.604 = 0.396,所以在 A. 命題下,SH 並不是一個值得 perform 的策略。

    --------

    B. Bottom 10th,RD = 0、主隊無人出局攻上二壘

    Strategy:主隊執行 SH

    InningRDOutsRunnerWE
    Bottom 9th00-2-0.807
    01--30.830
    01-2-0.703

    這裡就有點意思了,由於一個成功的 SH 可以讓 WE 昇高 2.3%,因此執行 SH 的空間就出現了,不過 SH 也有所謂的成功與失敗,在 B. 命題下,field manager 必須考慮他所派出來的 bunter 能夠 maintain 一定的 SH 成功率才行,為求簡單,我們設定原本在二壘的跑者於 SH 點失敗的情況下不會亂衝而死在三壘前。

    那麼假設這位 bunter 的 SH 成功率為 P,那麼 P 必須滿足以下這個式子才有執行 SH 的意義:

    P * 0.830 + (1-P) * 0.703 > 0.807

    解出上述的不等式,得到 P ~ 81.89%。

    也就是說如果 bunter 有大約 82% 的 SH 成功率,SH 在命題 B. 之下是可以執行的,只是這樣的 bunt 可以讓攻擊方增加的 WE...憑良心講並不多。

    --------

    C. Top 12nd,RD = 0,客隊攻佔二、三壘,一出局

    Strategy:主隊執行 IBB

    InningRDOutsRunnerWE
    Top 9th01-230.281
    011230.278

    很多人或許會覺得 IBB 是一項自殺的策略 (除非 batting behind 被 IBB 的打者很糟),也許 WE 的結果看起來也像是那樣 -- 因為主隊的 WE 在 IBB 之後倒退了 .003。

    不過這裡的結論不該這麼下,畢竟我們所使用的 WE Matrix 是利用 Markov Chain 所得來的結果,它是否能準確到小數點後 3 位是有待商榷的!具體的說,如果要準確到 0.001,那麼需要給到 1M 的樣本數,以每場比賽 40 個 state transitions 計算,那就是 25K 場比賽的量,坦白說有點誇張。

    因此我們寧願做出以下的結論:在命題 C. 之下,這個 IBB 的執行與否並沒有絕對的對錯!重點在於還不到 2-outs,同時 3 壘有跑者,IBB 的執行與否其實並沒有那麼 critical。

    --------

    較為完整的 WE Matrix 在 Tango、MGL 與 A. Dolphin 合著的 "The Book" 裡有提供,這個 WE Matrix 後來也成為 Fan Graphs 配分 WPA (Win Probability Added) 時的重要依據,個人以為 WPA 最大的用處在於 "評斷 RP 的表現" -- 因為 RP 上場的時機 -- 尤其是 situational RP -- 裡,10-run 為 1-win 的法則通常不適用。

    應該有不少人曉得 WE Finder 這個工具,即便如此,不代表我們不需要 Tango、MGL 等人的 WE Matrix,畢竟 WE Finder 只是單純的 empirical data,它無法涵蓋所有真實的情況,比方說在 Top 9th、主隊 1 分領先下的 WE:

    RunnerOutsWE FinderThe Book
    -2-00.6690.631
    --300.6490.544

    就比賽層面來看,"The Book" 的數字合理許多;WE Finder 在上述情況則表現不出差別,原因應該很好理解:因為 Top 9th、0-out、客隊落後 1 分攻上 3 壘的機會是少之又少,因此造成 WE Finder 在 sample size 不夠的前提下出現了有些 unexpected 的結果。

    BP 的 WE Matrix 就更有意思了,它居然只提供單年的資料,以致不少欄位出現了 WE = 1.00 的 "決定性" 結果,我不明白收費的 BP 為什麼提供如此無用的東西...

    不過擁有完整 WE Matrix 的壞處就在於:很難讓人繼續去相信那些 field managers,如果有多事的 sabermetrician 想出合理的方式來計算 managers 的 WPA,能得到 "正分" (positive) 的,恐怕是沒有...