Thursday, December 27, 2007

Knowing the Onions

本文應該是 07 年這個 blog 的最後一篇文章,由於這一季個人沒有如慣例紀錄 best quotes -- 一方面是因為我懶;一方面是看到 Dodgers 在原地空轉,整理這些可能只會讓自己爆血管,所以作罷。替代的,我挑了 "三國誌" -- 英、中、日三篇文章來 follow。

※※※※※※※※

  • Haren trade gives D-backs the bigs' best 1-2 punch

  • David Pinto 應該不讓人陌生,這個名字偶爾也會出現在 Baseball Prospectus 上,個人也曾經 follow 過他的某一篇文章 (See: Two Interesting Theses I Learned)。依 個人的意見,Pinto 的工作不能被稱為一位嚴謹的 sabermetrician,他的工作很多都像是半成品,這篇也是。

    First thing first,Pinto 拿來做各隊 1-2 punch ranking 的依據是 ERP (Earned Run Prevented),這不是個新鮮東西,具體的說,Pinto 的 ERP 其實是各投手的 Earned Runs Above Average。舉例來說:07 年 AL CYA 的 Sabathia 在 200 IPs 的投球裡丟了 78 ERs (Earned Runs),那麼同樣給予 league average (ERA 4.61) 的 SP 200 IPs 與 Jacob Field 0.98 的 Park Factor,league average SP 將有 100.4 ERs,所以 Sabathia 的 ERP 為 22.4 (100.4 - 78)。

    在運用到 08 年資料的部份,Pinto 使用的是 Marcel 的預測結果,也就是個人在 這篇文章 裡談到的東西;如果有人錯過了 Anakin 兄的好心,請到 這個連結 來取得 08 年版最新的 Marcel results;至於使用的 park factor 則是 Bill James 2008 baseball handbook 的結果。

    Well,我們曉得計算投手的 ERA -- 把 earned runs 和 runs 分開計算的主要目的是希望把投手的能力從 runs allowed 裡儘可能獨立出來,但這個原意卻很可能因為 scorer 的不客觀而適得其反。Moreover,與球隊勝負有較強關聯性的是 runs (allowed) 而不是 earned runs,投手可以在一場比賽丟 10 分、0 ER,最後輸球的機會依舊很高。

    而 sabermetrics 在我看來都只有一個最終目的:計算 runs、轉換為 wins,所以如果 Pinto 想給大家看的問題是 各隊 1-2 punch 可能的 contribution,與其計算 ERP,倒還不如計算 RP (Runs Prevented)。

    其次,還是免不了要談到投手的 TTO (Three True Outcomes:K、BB & HR),這在 Marcel 的結果裡反映投手的 stuff 比起 ER 或 R 更可靠。所以如果 Pinto 想表現的是 各隊 1-2 punch 的 stuff,他應該使用 TTO,要不就把 TTO "melt down",使用 FIP -- 也就是:

    [[(HR*13) + (BB+HBP)*3 - 2*SO] / IP] + 3.2

    If our world were perfect, "ERA = RA = FIP" would be true.

    此外也別忘了 playing time 的問題,因為這些 1-2 punches 能吃下的局數並不是一樣的,let alone Pinto 並沒有說明選擇 1-2 punch 的依據為何。

    因此,Pinto 這份 list 不論從 stuff 面或 contribution 面其實都沒有做得很好。數字的確是有效的工具,但如果做得不夠嚴謹,最後的功用可能就剩娛樂讀者而已,這無所謂,Bill James 有時候也會 娛樂讀者,而 Pinto 的這篇文章其實就和他最後給的結語一樣 -- quite debatable。

    如果你也曾讀過,不妨把它當成茶餘飯後的消遣吧!

    ※※※※※※※※

  • 運動畫刊評比 建仔水準以上

  • 個人大概每天總會花點時間瀏覽一下 "運動畫刊" 的大標題,可是卻沒有發現什麼先發投手的評比文章,後來才猛然發現原文是 Dodger Thoughts 的主人 Jon Weisman 的 piece:

  • AL rotation rankings

  • NL 的部份 Weisman 其實也有 評比,但個人覺得把 SP 這項 "商品" 用等級來分類其實是很無趣的做法,且不論 Weisman 考慮了多少評斷 SP 的 categories,如果我提出一個問題:Brandon Webb 和 Brad Penny 誰比較好?我想沒有人會答 Brad Penny。

    那麼如果 Weisman 告訴我:在他的評比裡,Brandon Webb 是 4 分;Brand Penny 是 3 分,我又得到了什麼額外的訊息?

    Zip!Nothing!

    這是 index 式的 ranking 最大的問題,即便我們明確定義出 "10-run / 200-IP" 為一個劃分等級,"61-run / 200-IP" 和 "59-run / 200-IP" 很可能還是會落在兩個不同的等級下 (然而 scouts 的 2-8 scale 就很像是這種東西);或者,就像是 Chad Billingsley 和 Aaron Cook 都是 3 分,但 "絕不表示" Dodgers 的 rotation 把 Billingsley 換成 Cook 後還能持平,right?

    更何況,Weisman 根本沒有解釋在他的 scale 下,1 分的差距究竟代表多少。

    OK,我們暫時繞過上面提到的問題。假使所謂 "Weisman 的 1 分 differential" 的意義是明確且無破綻的,接下來還有另一個問題:Weisman 並沒有在各隊的 potential rotation 裡選出 "相同數目" 的投手,換句話說:一個 擁有 2 位 4 分 SP 的 rotation擁有 4 位 2 分 SP 的 rotation 相比,都是 8 分,但我相信如果我們要給這兩組人馬一個評價,最糟的答案就是說他們一樣好

    我以為在做譯電介紹時,先做些簡單的分析與過濾是必要的!就像 Weisman 這兩篇關於 AL & NL rotation 的文章 -- "Wang is an above average SP." 這件事豈會差他一個人的背書?這是公認的事實不是?By the way,有 "時好時壞" 這個項目?Does that mean the "Up-and-Coming"?

    Virtually, you didn't get nothing from Weisman's pieces, period.

    最後我想說的是,Weisman 這種 index 式的 ranking 其實也不是完全的無意義,至少,第一名和倒數第一名這兩個 positions 會有些許被相信的價值。

    ※※※※※※※※

    先來看看下面 3 位日藉先發投手在 NPB 的生涯成績:

    Mr.IPBFSOBBHBPHR
    M1402.25768135550255112
    U1459.15430130419028172
    K1700.17086125744542182

    如果光看 K/9,很簡單的可以發現 M 是 3 位投手中最猛的一位,但 K/9 有個小問題:它不是那麼 "公平" 的量。比方說某位投手在 1 局中連 K 3 人,另一位投手被敲了 1 支安打外帶送出 1 個 BB,但出局的 3 個人也都是 K,那麼這兩位投手的 K/9 是相同的,差別在於後者有 5 次機會 -- 比前者多了 2 次 -- 讓他拿下 3 K。

    換句話說,要看 K 功,除了 IP (投球局數) 以外,如果要做得精確的評斷,投手所面對的打者數目是必須被考慮的。上表中的 BF 就是 batter faced -- 3 位投手生涯在 NPB 所面對的打者數目。

    原則上如果要做 adjusted K/9、or Adj_K/9 時,我認為較合理的做法是用 league average 的 BF/9 去修正各個投手的 IP,然後再計算 K/9,比方說 NPB 每場比賽下來投手群平均要面對 35 位打者,那麼 M 投手的 IP 應當修正為 (BF / 35) * 9,然後才利用這個修正過後的 IP 來計算 K/9。不過因為我很懶,所以我把上面 3 位投手的 career K、BB 與 HR 直接除以各自的 BF,得到以下的結果:

    Mr.SOrNonIBBrHRrFIP_F
    M.235.097.019.297
    U.240.040.032.193
    K.177.069.026.772

    其中 SOr = SO / BF、NonIBBr = (BB+HBP) / BF (Non Intentional BB Rate)、HRr = HR / BF。由此看來,U 投手的 K 功其實也是相當了得的!更何況 U 投手的 BB 有點好到不可思議,至於 K 投手則和前兩位差了一個等級。

    表中的 FIP_F 指的則是 FIP 中與 K、BB 與 HR 有關的那個 factor,也就是 "[[(HR*13) + (BB+HBP)*3 - 2*SO] / IP]" 這一項,我把這個東西列出來是由於 U 投手的 HR 比 M 投手多出很多,但如果 honor FIP 的式子,M 投手在 (BB+HBP) 這一段把 HR 大幅領先的優勢全都吐了回去,所以如果我們想知道 BB 與 HR 所造成的失分程度在什麼比例才會 break even?FIP 裡 TTO 的 coefficients 其實提供了意見。

    不賣關子了:M 投手是 Dice-K (松坂大輔);U 投手是 Yomiuri Giants 的 Uehara (上原浩志);K 投手則是最近拿到 Dodgers 肥約的 Kuroda (黒田博樹)。當然 Uehara 身在投手必須打擊的 CL,所以 K 和 BB 會比 PL 出身的 Dice-K 來得佔便宜,這一點我不能否認,但基於日本人對 DH 這個位置的使用哲學,我 "覺得" 差距不如 MLB 來得這麼大。

    把這些舊帳翻出來則是因為看到下面這則新聞:

  • 上原がG投史上最高4億円で更改!

  • 個人對 Uehara 一直都有很特別的喜好,他的總合 stuff 讓我在看 NPB 的時代從來不肯承認 Dice-K 是日本的第一號 Ace,畢竟 Uehara 不只能 K,command 在 NPB 更是一品中的一品!和 Kuroda 同年的他因為受傷的緣故造成僅差 8 天的一軍登錄時間就能拿到 FA (NPB 受傷的日數是不計算 service time,這一點與 MLB 不同),所以他只能屈就於 Yomiuri 那張 4 億日圓 -- 約 4M US dollars -- 的合約。

    該篇新聞還提到一件事:Uehara 不排除 08 年球季結束後以 FA 的身份挑戰 MLB。

    坦白說,如果 Uehara 順利在 07 年的 offseason 拿到 FA,然後 Dodgers 用 3-year 35.3M 把他包下來,個人覺得這會比把錢砸在 Kuroda 身上要好得多,當然,這也讓我很想知道如果 Uehara 真的在 08 年 offseason 挑戰 MLB,他會拿到什麼樣的價碼...

    As you see, knowing the monster difference between Kuroda and the other so-called aces in NPB really makes me rocky.

    ※※※※※※※※

    Happy new year, guys!

    Thursday, December 20, 2007

    A 35.3M Question Mark

    我思考了一下 Hiroki Kuroda (黒田博樹) 的問題 -- 雖然早在 Odds & Ends 表示贊成 dufflin 老大的說法,但事後得出的 second thought 在標題已經下得夠明白了:對於 3-year 35.3M 將 Kuroda 帶到 LA 來一事充滿了疑問,這可以從 Dodgers 的需求、價錢以及 Kuroda 的 stuff...幾個方面來談。

    先來看看 Dodgers 的需求:仿照 這篇文章 裡所用的方法,個人將 07 年 11 位曾經為 Dodgers 先發過的投手做了個整理:

    NameGSIPRRA
    Penny33208753.25
    Billingsley20112433.46
    Lowe32198.331004.54
    Wolf18102.67554.82
    Wells738.67235.35
    Stults525.33176.04
    Tomko1579.33576.47
    Long-torso1576.33566.60
    Schmidt625.67207.01
    Kuo628227.07
    Loaiza522.67218.34

    上表中,幾位在先發與後援間游走的投手已經將其後援的成績移除,而 5 位 "實質的" No.1 ~ No.5 大概是長得這個樣子:

    NameGSIPRRA
    No.134213.677.153.25
    No.233193.284.603.94
    No.333197.12102.104.66
    No.432170.62113.635.99
    No.530142.50111.537.04

    以 07 年 NL 約 4.80 的 league average RA 來看,Dodgers 07 年 SP 的整體表現其實也差不多就只在 league average。

    在 Kuroda 入隊之前,Dodgers 08 年 rotation 有底的只有 Penny、Lowe 和 CBill,除了 CBill 在 08 年應該會多拿到 10+ 的先發機會,Loaiza 的 "回穩" -- 至少他不太可能交出一張 RA > 8.00 的成績單 -- 也稍稍可以期待,其它如有傷在身的 Schmidt、Kuo 倒是不容易讓人把籌碼押在他們身上。

    所以 Dodgers 需要 Kuroda?結論先別下得太早。

    個人為什麼要用這個 Virtual No.1 ~ No.5 的方法,最大的目的就是讓大家看看:咱們在 forum、media 一天到晚掛在嘴上的 No.x 投手 "virtually" 都是長什麼樣子!從 06 年至今,Dodgers 的 "Virtual" No.3 大概還能站在 league average,"Virtual " No.4 與 No.5 就完全只是 "不可抗力" 的用鳥人輪流出動而已 -- 畢竟任何一隊在每個星期的賽事裡都需要準備 5 名先發投手不是?

    兩年以來,Dodgers 的 No.4 與 No.5 嚴格講沒有固定的人選,雖然像 Wolf、Wells、Tomko 或 "long-torso" Hendrickson 等人都已不披藍袍,但別忘了我們還有蓄勢待發 的 McDonald、Kershaw 甚至 Elbert,假使 Schdmit 和 Kuo 的回復良好,在 No.4 與 No.5 打車輪戰並維持 league average 的 rotation 水準其實不是難事。

    換句話說:如果 Dodgers 不能夠找到一個足以做 "Virtual" No.2 以上的 SP -- 也就是 GS 33190+ IP< 4.00 的 RA (暗示 ERA 大概要在 3.6 ~ 3.7 左右),其實用不著貿然出手,不過 Ned Colletti 選擇押了 35.3M 在 Kuroda 頭上。

    也因此,我們現在要看的問題應該是:Kuroda 夠不夠格做一個 "Virtual" No.2?

    先說價格:這其實是太簡單的道理 -- LA 有的是錢,做為 fans 自然可以不在乎,但如果 Theo 可以用 6-year 52M 綁住 Dice-K,相較於在 Seattle 和 LA 之間抉擇 -- 據稱還比較 prefer "溫暖天氣" 的西海岸的 Kuroda,Dodgers 憑什麼出到 3-year 35.3M?別忘了 Dice-K 不只 stuff 勝過 Kuroda,甚至還年輕了 5 歲....

    再看看 Kuroda 在 NPB 的 11 年 成績,raw K/9 是 6.65,raw BB/9 則是 2.35,這也許會讓大家嚇一跳:Staff Ace 的 stuff 怎麼會只有這樣呢?但很抱歉,Hiroshima Carps 在擁有 Kuroda 的 11 年間都算不上是一支有競爭力的球隊,我們不需要用到 Dice-K 做為在一支 B 級球隊選 Ace 的標準。

    我想說的是:以 Kuroda 在 NPB 所交出的成績,在不做任何轉換的前提下,其 TTO (Three True Outcomes) 和現階段的 Brad Penny 是相近的。我相信沒有人願意把 Ace 一詞奢侈得冠在 Penny 的頭上,再說假使 Penny 所屬的是 Pirates 或 Nats 之類的球隊,他也會被捧成 Ace。By the way,Odalis Perez 在離開 LA 的時候不就是揚言要去 Kansas City 做 Ace 的嗎?

    Among other things,曾經被 Dodgers ex-pitching coach Jim Colborn 評為 "投不出 strike" 的 Kazuhisa Ishii (石井一久),在 Dodgers 前兩年的 K/9 可以衝到 7.x 以上,這個數字 比 Kuroda 在 NPB 的時候都還高

    長打方面,考慮 Carps 的根據地 "広島市民球場" 是個迷你球場,以該地為家並維持 career HR/9 在 1.00 以下應該不單是僥倖達成的任務,這一點或許是 Kuroda 可以給予 LA 的 silver lining。

    至於 Kuroda 會不會和 Takashi Saito (斎藤隆) 一樣 -- 來到 MLB 之後突然來個 "大躍進"?這一點個人持懷疑的態度。大家或許可以翻翻 Saito 在 NPB 的 成績,事實上 Saito 在 90 年代末期就逐漸出現衰退的現象,第二春則是從 01 年轉任 RP 後開始。原則上 SP 轉為 RP 之後在成績通常變得比較好看也是不爭的事實 (Dodgers 有個更好的例子叫 Eric Gagne...)。不可否認的是 Saito 到 MLB 之後 K/9 竄得離譜了一點,但 Kuroda 是來做 SP 的,自 NPB 輸入 MLB 的 SP 會 "逆勢上揚" 的案例是完全沒有見過,未來恐怕也不容易見到。

    總而言之,個人對 Kuroda 的 stuff 並不 impressive!Say,如果我們要從 Kuroda 的表現拿到 1+ WAA (Wins Above Average),given 200 IPs 與 4.80 的 league average RA,Kuroda 必須maintain 約 4.35 的 RA -- 大約是 Penny 在 06 年的水準,只是從 Kuroda 的 stuff 和年齡來看,我不認為這件事發生的機會是十拿九穩,部份世論對 Kuroda 的表現預估則是在 "ERA" 4.5 左右...

    如果 Ned Colletti 有認真的思考與評估,他應該會發現把 35.3M 拿去支付 Juan Pierre 剩下的合約 -- 也就是把 Pierre 直接 release,在未來的 4 年裡都可以替 Dodgers 添得 1+ 的 WAA,而這個作法已經不是十拿九穩的問題,而是 perfectly certain!這也是我最痛恨 Ned Colletti 的另一個地方 -- 即便 LA 殺伐 Pierre 的聲音有變大的現象,但 Colletti 仍然願意為 Pierre 講話,加上 Tomko 和 Hendrickson 的案例,這是典型的死要面子,不肯認錯。

    總而言之,我個人不欣賞 Kuroda 的 signing 並不只是價錢的問題而已,但錢已經花下去了,也只能期望 Kuroda -- 就算是 BABIP 的魔術也好 -- 能給 08 年的 Dodgers 一些有力的 boost。

    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。