2007/12/08

Hitting stats across the years

本週本來想寫這個的,不過從PTT上看到有人已經做過類似的事了,那我就先省點事吧。 XD

How do you measure a player in a year?

上面這篇文章的作者將球員的打席分成奇數打席和偶數打席,然後去計算兩者的相關係數,他以相關係數0.7做為一個門檻(換言之,R-Square=0.49,R-Square是相關係數的平方),計算每項數據超過門檻所需的打席數。最後他也列出了650PA和300PA時各數據的相關係數。

詳細的數據請自行參閱原文。從這些數據得出的結論,一個打者最穩定的能力是他的揮棒率(這不太能算能力)、揮到球的比率以及受這兩項影響最大的三振率,其次是四壞球率以及擊球類型(平飛/滾地/飛球比率),接下來是全壘打率,以上都是相當穩定的能力;再來才是一壘安打率,而二三壘打率的變動性很大不易保持。

其他的複合數據排序關係不難由以上數據推出來,BABIP由一壘打率及二三壘打率組成,所以穩定性介於兩者之間。打擊率基本上是Contact Rate乘上BABIP,由於Contact Rate是十分穩定的能力,所以打擊率要比BABIP來得穩定些。上壘率是打擊率加上穩定性高的保送率所組成,所以要比打擊率更穩定;長打率與打擊率、ISO的關係亦同。

至於Clutch(關鍵時刻的能力),基本上完全沒有穩定性可言。

我想對Sabermetrics有研究的球迷對這個結果都不會感到意外,打者對於BABIP有一定的控制力,但是穩定性比不上K,BB和HR Rate,不過造成此現象的"元兇"是二三壘打率而不是一壘打,這可能是比較少人會想到的部份吧。

相關文章

  • Pitching stats across the years
  • 繼續閱讀

    2007/11/24

    小貼紙

    小貼紙開放測試,可以從註冊頁面去申請帳號。

    註冊範例如上圖,應該要寫說明文件的,但是沒那個工夫。 XD 如有問題就請直接發問吧。

    如果所有項目都沒有錯誤,應該會出現以下的訊息: 將表單內的文字放到自己的網頁上就可以了。

    因為還在測試階段,如果使用後有發生錯誤或建議請通知我。

    在這段期間又有了另一個想法,目前的架構是每次有訪客瀏覽網站就會進行一場比賽,如果有複數的Blogger使用這個貼紙的話,想將它改成定期進行比賽,而訪客點閱次數則是影響球員能力的成長程度(當然我不會讓兩者關係是線性,而是接近指數函數)。

    換言之,點閱次數越高的Blog,球員成長就越多,當然各球員間還是有特性的差別。然後像部落格觀察一樣搞個排行榜,這樣應該會比較有意思吧?

    相關文章

  • Crystal Ball 小貼紙
  • 繼續閱讀

    2007/11/10

    Pitching stats across the years

    05 & 06 K/PA

    06 & 07 K/PA

    05 & 06 BB/PA

    06 & 07 BB/PA

    05 & 06 G/F

    06 & 07 G/F

    05 & 06 HR%

    06 & 07 HR%

    05 & 06 BABIP

    06 & 07 BABIP

    數據人人會算,每個人也都可以用基本的統計資料發明自己的數據公式,但是哪些數據是有意義的,哪些又是無用的數據呢?

    就我來說,有意義的數據是選手有辦法維持的數據,也就是同一個選手在年與年之間,不容易出現無理由的大幅變動的數據。當然此數據必須對比賽有影響力(比方說球員的肝功能指數雖然在年與年間有很強的關聯性,不過跟棒球比賽沒有直接關係。)一方面,我們使用數據常常是用於預測未來的成績,無法保持的數據對於預測根本沒有使用價值;另一方面,選手沒有辦法維持的數據,很難令人信服是選手自身的能力。

    有現代棒球觀念的人會說勝投和打點是意義不大的數據,因為受隊友的影響成份過大;得點圈打擊率(精確來說應該講RISP BA和BA的差距)和投手的BABIP也沒什麼意義,因為統計資料顯示選手沒辦法長期保持這項數據。

    找了2006和2007年都投了100局以上的88位投手,和2005及2006年都超過100局的102位投手的成績,做了以上幾張圖。

    其中G/F是根據ESPN的資料,HR%=HR/(AB-K),然後將各數據做個簡單的標準化。

    橫軸是前一年的數據,縱軸是隔年的數據,如果每個選手都能複製前一年的成績,那所有的點都會落在一條斜率為1的直線上。在每張圖上都有一條趨勢線,如果大部份的點都落在線的附近,代表我們可以根據前一年的數據去預測隔年選手這一項目的成績,相反的若是很多點都離趨勢線很遠,就表示這項數據年與年之間的關聯性不大。

    R-square是一個可以將上述的關聯性量化的數值,它代表這條趨勢線對資料的解釋程度有多大,最大值是1,代表所有點都在趨勢線上,最小值是0,代表這條趨勢線完全沒有意義。以下是各數據R-square的值:

    R-square
    05&0606&07
    K/PA0.6720.586
    BB/PA0.5830.386
    G/F0.7980.814
    HR%0.0960.131
    BABIP0.0640.061
    沒有做球場效應和其他的校正,而且取樣也是有問題的(連續兩年投球局數破百這個條件,事實上就是排除了特定族群的資料。),但是由於差距很明顯,我們就先直接下個簡單的結論吧:

    在這五項數據中,投手對於滾飛比有最強的控制力,可以年年投出相近的滾飛比;三振率和四壞球率有不錯的穩定性,不易出現大幅的變動;至於TTO之一的全壘打率,雖然和野手守備沒有任何關係,可是投手並沒有辦法維持這項數據的穩定(打者顯然可以,所以一顆球被打出去會不會變成全壘打,打者的因素應該佔了極大的部份);BABIP和HR%對於隔年的成績沒什麼參考價值,前一年數值高的投手和數值低的,隔年的成績分佈幾乎沒什麼差別,這和前三項數據的情況是差別很大的。簡而言之,這兩項數據就是所謂的「運氣」-選手本身無法掌控的數字。

    繼續閱讀

    2007/10/27

    放假囉~ (AL CYA 意見調查結果)

    經過兩個禮拜後,終於第一次衝出關西營區,回到文明世界。 XD 但是不怎麼想更新耶(毆飛)

    還是來寫些東西好了。

    基本上不會寫營區生活週記,平日操課已經夠了,不需要連假日都把生命浪費在那些事上。 XD

    所以還是來看AL CYA的調查結果吧。

    Sabathia拿了過半的5票,Beckett和Bedard平分剩下的4票。 感想:嗯.....和想像的差不多吧 XD

    Lackey和Carmona雖然分居ERA一二名,但是FIP和RA告訴我們他們的投球品質並沒有特別出色,至少他們沒有擊敗Sabathia的理由。

    (他們的局數和出賽場數都比Beckett/Bedard多,VORP也比較高,所以將他們排在這兩人前面是說得過去的。)

    能在投球品質上和Sabathia一較長短的是Beckett和Bedard。基本上,他們的投球品質的排行剛好和局數排行相反,所以三人都有理由得到第一名票。由於品質上的差距很小,在貢獻量上有顯著優勢的Sabathia應該能拿到最多的"中間選票"。

    相關文章

  • 2007 MLB Awards Preview - CYA
  • 繼續閱讀

    2007/10/14

    入伍

    板主當兵去,短時間內不會有任何新文章, 放假回來大概也不會有更新, 大家明年見。 XD (本篇無內文) 繼續閱讀

    2007/10/11

    意見調查結果 - NL MVP

    投票結果如上圖,基本上並不令人意外,不管是各球員的得票數還是總投票人數。 XD

    Holliday本來就是傳統觀點上最佳的候選人,從現代數據來看他也不輸其他人,得到最高票早在預料之中。

    Jones, Wright和Utley都很有理由拿到選票。

    讓我稍感意外的是Howard拿了一票而Rollins沒有,雖然我覺得Howard比Rollins好,不過在大多數的網站上Rollins的呼聲都比較高。從數據上來看,Utley可能比這兩個人都好,以晉級球隊中的Slugger來說,Holliday的成績也比他亮眼。

    沒有要臆測投票者心態的意思,我能想到的理由是Howard比Holliday少了一百多個AB,RBI卻只少了一個,沒有任何NL打者有那麼高的打點產率。

    投給Howard也不是什麼不好或錯誤的選擇,只是他目前的聲勢確實比較落後,如果在10000人中他拿到1000票我會很驚訝,不過這個調查只有11張選票,其中有1個人投給他也不是件奇怪的事。

    接下來調查AL CYA,不過投票截止時我應該沒辦法即時發表評論。

    相關文章

  • 2007 MLB Awards Preview - MVP
  • 繼續閱讀

    2007/10/10

    Baseball Links

    之前有同學要我推薦棒球相關網站,我在這裡整理一下平時我在看的網站以及推薦的Blog,並附上一些簡介。

    加上我下週就要去服十二週的國防役,接下來幾個月的更新速度勢必會變得十分緩慢,對MLB有興趣的讀者,不妨到以下的網站看看,也算是本站提供的一點貢獻。

    球員新聞我主要看Rotoworld,這個網站收集了很多來源的情報,也有很多專欄文章可以看。

    其次是MLB on Yahoo! Sports的Player news,這也有整理了不少來源的新聞,從Yahoo! Fantasy Baseball直接連過去看自己隊上球員的消息很方便。

    之前我也看Roto TimesSporting News的新聞,因為重複度很高,後來就只看Rotoworld的新聞了,Rotoworld的好處是新聞很多,但是在篩選上沒有那麼嚴謹。這幾個網站也都有專欄文章可看。

    現在到Roto Times主要是看它更新迅速的Depth Charts,另外它每年的Projection Stats是免費資源中最詳盡的之一。 另一個即時更新的Depth Charts是The Inside Pitch,特別值得一提的是它的Closer Watch Blog專門提供CL狀況的變動消息。

    資料性質的網站首推Baseball-Reference.com,幾乎所有的傳統數據都可以在這裡查到,這兩年功能還越來越多,不過讀取速度仍然很快,缺點是只有聯盟各項目前十名榜和全球員紀錄,卻沒有排序功能(還是現在有了?),反而是今年新增的minor數據可以排序....

    ESPN的Stats網頁有很多種數據,提供排序功能和很多篩選選項,問題就是速度較慢,也不利於匯出至檔案。同樣有提供排序功能的,MLB.com的數據略少一點。Yahoo! Sports則只有基本的數據,好處是所有FB數據可以在同一頁找到,不會要看WHIP還得翻頁。

    最近更常使用的是Fan GraphsLeaders,比ESPN更實用的數據,速度快上一籌(ESPN網頁實在肥了點),只是沒有篩選器。

    個別球員的minor成績,我本來是看The Baseball Cube,最近已經改看First Inning,這個網站提供的Extended Statistics相當實用,我連Major成績都會用它查。

    前面提到的Baseball-Reference和Fan Graphs都有minor成績,而且都有數據排序的功能。Baseball Cube和Baseball-Reference都是傳統數據為主,First Inning和Fan Graphs則是提供很多Batted Ball的資料。

    資料類的網站很多,每家提供的數據類別和功能不同,要熟練之後才知道什麼情況要去哪個網站。

    Sabermetrics的重鎮自然要數Baseball Prospectus,不過非付費會員很多文章看不到。

    對數據派有興趣的球迷我推薦The Hardball TimesBaseball Think Factory,BP和THT有球員的Sabermertics Stats。BBTF的Zips Projection也是個不錯的免費預測資料(2008年的預測已經陸續出來了),不過要注意,他們不太考慮球員的實際上場時間的(這點和BP的pecota一樣)。

    講到Projection Stats,Fan Graphs整理了包括Zips在內四個不同來源的Projections,十分方便。

    球員合約我通常到Cot's Baseball Contracts查,不過MLB4U.com也不錯,可以直接找特定球員的資料。

    新聞我都看英文網站,所以新聞報導或球員介紹的中文Blog中,我只看有心得評論,能從中得到新資訊的Blog。數據路線的中文Blog也看過一些,但是這類Blog通常更新都很慢,甚至一年以上沒有新文章。 ~.~

    我推薦的中文的MLB相關Blog:

    • The Pinstriped Morningside Heights,配合時事的評論很多也很精彩,Sabermetrics知識充足而且讀起來不艱澀。這一年因為工作關係更新比較慢一點。
    • Morikawa Blue,Sabermetrics內容十分豐富,適合對數據有興趣的球迷。
    • The J-Train Blog,新聞性質的Blog,不過這個可是一手消息,由台灣唯一一位BBWAA會員J-Train撰寫他採訪Yankees的點滴。
    • The Tornado,技術面文章為主,也有Sabermetrics文章,但是我不看技術類文章所以無法評論。
    • 我愛賽伯計量學,顧名思義,Sabermetrics為主的Blog,成立時間還不長,因此(?)更新算是頻繁。 XD

    以下是一些仍有固定更新的球隊相關Blog,作者大都有Sabermetrics的基本知識,不過重點不在數據研究上:


    網站分類列表 Major League Stats
  • Baseball-Reference.com
  • Fan Graphs
  • First Inning
  • ESPN - MLB Baseball Statistics
  • MLB.com: Stats
  • MLB - Statistics - Yahoo! Sports
  • Baseball Prospectus - Statistics
  • THT Statistics

    minor stats

  • minors.baseball-reference.com
  • First Inning
  • Fan Graphs
  • The Baseball Cube

    Sabermetrics articles

  • Baseball Prospectus
  • The Hardball Times
  • Baseball Think Factory

    Fantasy News

  • Rotoworld
  • Roto Times
  • Sporting News
  • The Inside Pitch

    Contracts information

  • Cot's Baseball Contracts
  • MLB4U.com

    綜合類網站

  • MLB.com
  • ESPN - MLB Baseball
  • MLB on Yahoo! Sports

    中文 MLB Blog

  • The Pinstriped Morningside Heights
  • Morikawa Blue
  • The J-Train Blog
  • The Tornado
  • 我愛賽伯計量學
  • Don't Walk Away, In Silence. Don't Walk Away.
  • Light My Fire
  • madboy's Trash Talk
  • Private Suite in Betrayal
  • 踏的's碎碎唸
  • The Alternatorz
  • The One
  • Tribe Fan In Taiwan
  • Ayukawayen's Blog
  • 繼續閱讀

    2007/10/07

    Crystal Ball 小貼紙

    不曉得有沒有人注意到擺在右下方的這個小玩具?

    因為單純的計數器有點無趣,所以就把之前的水晶球拿來改寫成這個小貼紙,目前正在進行Alpha版測試中。

    只要點選貼紙上的Pitch to Ayukawayen,再輸入名字就可以產生一場對戰結果。

    不過人有自知之明,光憑這個站微薄的人氣,要是只靠訪客手動去點,大概真的要一年才打得滿一個球季 XD,所以只要有人連進來,就會自動進行一場對決。點選上方的姓名,會顯示詳細的生涯紀錄。

    同一個IP不能連續對戰,所以猛按重新整理沒有用。我絕對沒有說過兩個IP輪流Reload就可以把場次衝爆這種話

    大家多投球過來吧,我想打球啊! XD

    繼續閱讀

    2007/10/06

    2007 MLB Awards Preview - CYA

    我的選擇我的預測遺珠
    NL MVPDavid WrightMatt HollidayAlbert Pujols
    Chipper Jones
    Matt Holliday
    Jake Peavy
    AL MVPÁlex RodríguezÁlex Rodríguez 
    NL ROYRyan BraunRyan Braun 
    AL ROYDustin PedroiaDustin Pedroia 
    NL CYAJake PeavyJake Peavy 
    AL CYAC.C. SabathiaC.C. SabathiaJosh Beckett
    Erik Bedard
    John Lackey
    Fausto Carmona

    NL CYA

    NameTeamGWLIPHRERHRBBKERAWHIPRA+FIPVORP
    Jake PeavySD34196223.1169676313682402.541.061.712.8077.0

    我連陪榜組都懶得列了 XD

    AL CYA

    NameTeamGWLIPHRERHRBBKERAWHIPRA+FIPVORP
    C.C. SabathiaCLE34197241.0238948620372093.211.141.363.1065.2
    Josh BeckettBOS30207200.2189767317401943.271.141.443.0458.6
    Erik BedardBAL28135182.0141666419572213.161.091.483.1554.9
    John LackeyLAA33199224.0219877518521793.011.211.363.5060.7
    Fausto CarmonaCLE32198215.0199787316611373.061.211.463.9064.0
    Johan SantanaMIN331513219.0183888133522353.331.071.343.7857.7
    Dan HarenOAK34159222.2214917624551923.071.211.303.6656.4

    在BR Bullpen的解釋中,CYA是頒給"the most outstanding pitcher in each league of Major League Baseball",不過一般而言,貢獻度仍然是最重要的考慮因素,由於吃局數和保持健康也算是球員能力,把投球局數考慮進去也是合理的。近幾年一方局數多一方品質好的例子有2005年NL(Carpenter 242IP/2.83 vs Clemens 211IP/1.87)和2002年AL(Zito 229IP/2.75 vs Martinez 199IP/2.26),今年的AL可能是本世紀迄今競爭者最多,最難選擇的一年。

    在競爭者當中,C.C. Sabathia吃了最多局數並拿到最高的VORP。ERA最低的是John Lackey,但是他的非自責分相當多,RA+並不突出。如果由投球品質來看,Erik Bedard才是應該得獎的人,但是他因為受傷的因素,局數比其他人少了不少。Fausto Carmona和Josh Beckett也都有資格拿到這個獎。

    如同我在講AL ROY時所提到的,投手的BABIP受到隊友防守的影響,因此我們在看投手表現時應該參考FIP來看,Carmona在這群人中三振最少保送最多,他的FIP落後其他人一大截也就不意外了,雖然他在ERA和RA+的表現都是第二名,我們仍然不能確定有多少是他自己的功勞。

    FIP最優秀的是Beckett,Bedard和Sabathia緊追在後,Lackey等人的差距就有點遠了;有意思的是這三個人的ERA排序剛好和FIP相反。整體來說,我認為Bedard的投球品質最好,Beckett比Sabathia略好一點但三人相差不多,我會把票投給局數最多的Sabathia,不過投哪一個都不算錯。

    相關文章

  • 2007 MLB Awards Preview - MVP
  • 2007 MLB Awards Preview - ROY
  • 繼續閱讀

    2007/10/03

    2007 MLB Awards Preview - ROY

    我的選擇我的預測遺珠
    NL MVPDavid WrightMatt HollidayAlbert Pujols
    Chipper Jones
    Matt Holliday
    Jake Peavy
    AL MVPÁlex RodríguezÁlex Rodríguez 
    NL ROYRyan BraunRyan Braun 
    AL ROYDustin PedroiaDustin Pedroia 
    NL CYAJake PeavyJake Peavy 
    AL CYAC.C. SabathiaC.C. SabathiaJosh Beckett
    Erik Bedard
    John Lackey
    Fausto Carmona

    在網頁右上角擺了一個投票,請大家選出自己心目中的NL MVP。

    NL ROY

    NameTeamGABRHHRRBISBAVGOBPSLGOPSEqAVORPWARP
    Ryan BraunMIL11345191146349715.324.370.6341.004.31957.24.4
    Troy TulowitzkiCOL15560910417724997.291.359.4790.838.26937.88.1
    Hunter PenceHOU10845657147176911.322.360.5390.899.29640.55.7
    James LoneyLAD963444111415670.331.381.5380.919.30230.73.0
    Josh HamiltonCIN90298528719473.292.368.5540.922.29426.43.7
    NameTeamGWSVIPHRERHRBBKERAWHIPVORPRA+FIP
    Manny CorpasCOL7841978632018620582.081.0631.82.163.56

    NL ROY的主要競爭者是Ryan Braun和Troy Tulowitzki,這是個質與量之間的選擇。Braun的打擊是MVP等級,Tulowitzki只是個高於平均的打者,雖然Braun的守備並不好而Tulowitzki是個游擊手,這不會影響Braun在品質上遙遙領先的事實。在出賽量上面Tulowitzki幾乎全勤而Braun只出賽了113場比賽,使得他在WARP1上扳回一城。

    我查了BR Bullpen上對各獎項的定義,其中MVP"a player in each league who has contributed the most to the success of the player's team.",而ROY"the best rookie (first-year player) in a league."或是"the most outstanding rookie."

    因此在MVP的票選應該著重在貢獻度上,我會比較重視累積式的數據如VORP;但ROY的票選上我會比較在意比例式的數據如EqA,再說雖然保持身體健康也是種能力,但是一個新人在季初沒有進入Active Roster做出貢獻並不能說是他的錯。

    上場時間在ROY票選的意義是樣本數,一個球員的打席數越多,他的成績偏離真正實力的可能性越低;舉例來說,一個600AB EqA.280的選手給人的信心會勝過100AB EqA.300的選手。

    今年NL ROY的狀況,Braun有將近500個打席,我有很足夠的信心認定他是一個比Tulowitzki更好的球員,因此我會將我的選票投給他。

    AL ROY

    NameTeamGABRHHRRBISBAVGOBPSLGOPSEqAVORPWARP
    Dustin PedroiaBOS138517861648507.317.380.4410.821.27635.95.7
    NameTeamGWLIPHRERHRBBKERAWHIPVORPRA+FIP
    Daisuke MatsuzakaBOS321512204.219110010025802014.401.3237.01.114.19
    Jeremy GuthrieBAL3275175.1165787223471233.701.2138.21.204.37
    Brian BannisterKC27129165.015676711544773.871.2134.91.184.36

    要分辨一個投手和一個打者哪個貢獻大,我們可以看VORP,WS或WARP,要分辨兩個投手或兩個打者哪個"好",我們有很多比例式數據可以用。跟上面的狀況比起來,分辨一個投手和一個打者何者比較"好"是個相對困難的問題。我在這裡投了有.38上壘率及.276EqA的打者Pedroia,這個選擇比NL ROY兩名野手的比較要來得困難。

    今年AL最好的三個新人投手是Matsuzaka, Guthrie和Bannister,打者則是Pedroia一枝獨秀。松阪大輔雖然不是從一般的美國小聯盟體繫上來的,不過他才26歲,年紀上沒有佔其他新人太多便宜,與齋籐隆或佐佐木主浩的狀況不能一概而論;他確實有八年的日本職棒經驗,不過Pedroia也不是第一年打職業棒球,所以我想沒有必要將他排除在ROY的票選之外。

    投手部份看起來又是場質與量的戰爭,松阪的ERA最差而局數最多,其他兩人差距不大。但首先要注意松阪的失分和自責分完全相同,由於自責分的計算上對投手十分寬鬆,投手對於所謂非自責分其實並不是沒有責任,如果我們從RA+的角度來看,沒有非自責分的松阪和其餘兩人的差距就沒有ERA上顯示的那麼大。

    另外松阪的BABIP也是三人中最高的,我們知道投手對於BABIP並沒有很好的控制能力,也就是說BABIP在預測上沒什麼價值(因為投手未來的BABIP和他過去的BABIP的相關程度很低),但是在票選上,不管這項"能力"能不能帶到隔年,只要球員今年的表現好,應有的榮譽還是應該要給他,這種講法我是認同的。

    問題是投手的BABIP中,隊友的守備能力佔了很大的一部份,很可能比投手本身佔得更多,雖然不應該因為投手無法複製BABIP就將他當年的表現完全抹殺,但是隊友的協助也不該算到投手頭上,因此我們還是應該參考一下FIP

    FanGraphs的FIP來看,松阪反而是三人中最好的,就算他要為偏高的BABIP負一部份責任,整體來講他的投球品質仍然和其餘兩人相差不大,在這種情況下,我會將他擺到局數較少的Guthrie和Bannister前面。

    相關文章

  • 2007 MLB Awards Preview - MVP
  • 2007 MLB Awards Preview - CYA
  • 繼續閱讀

    2007/10/02

    2007 MLB Awards Preview - MVP

    我的選擇我的預測遺珠
    NL MVPDavid WrightMatt HollidayAlbert Pujols
    Chipper Jones
    Matt Holliday
    Jake Peavy
    AL MVPÁlex RodríguezÁlex Rodríguez 
    NL ROYRyan BraunRyan Braun 
    AL ROYDustin PedroiaDustin Pedroia 
    NL CYAJake PeavyJake Peavy 
    AL CYAC.C. SabathiaC.C. SabathiaJosh Beckett
    Erik Bedard
    John Lackey
    Fausto Carmona

    前言

    本來昨天就想發這篇文章,為了等NL Wild Card的結果出來延遲了一天。

    遺珠指的是我認為選了也不算錯的球員,像David Ortiz雖然打得很好,但是和A-Rod有明顯的差距在,就不算是遺珠。

    順序有安排了一下,我特別把最難抉擇的獎項放在第一個和最後一個。

    NL MVP

    NameTeamGABRHHRRBISBAVGOBPSLGOPSEqAVORPWARP1
    David WrightNYM1606041131963010734.325.416.5460.963.32981.111.2
    Albert PujolsSTL15856599185321032.327.429.5680.997.33372.111.3
    Chipper JonesATL134513108173291025.337.425.6041.029.34076.08.7
    Matt HollidayCOL1586361202163613711.340.405.6071.012.31875.010.1
    Chase UtleyPHI132530104176221039.332.410.5660.976.32168.89.6
    Hanley RamírezFLA154639125212298151.332.386.5620.948.31589.58.7
    Prince FielderMIL158573109165501192.288.395.6181.013.32469.16.9
    NameTeamGWLIPHRERHRBBKERAWHIPVORPWARP1
    Jake PeavySD34196223.1169676313682402.541.0677.010.9

    NL MVP要預測還不困難,Cubs和D-Backs沒有突出的人選,Phillies雖然有Utley,Howard和Rollins,但是成績比起Holliday要略遜一籌而且會有分票效應,其他球隊中雖然有跟他接近的人選,但是沒有明顯比他好的。再加上這場加賽第13局的表現的印象分數,只要投票者不要過份在乎Coors Factor,Holliday應該可以順利出線。

    如果Peavy在加賽中帶領Padres擊敗Rockies,他可能會成為NL晉級球隊中最有貢獻的球員,但是即使加上加賽的印象分數,投手仍然不太可能在今年這種情況拿到MVP。

    如果Mets進了Playoff而Rockies沒有,David Wright有一些希望得到投票者的青睞;如果兩隊都進了季後賽,我想投票者會喜歡從分區第四扭轉乾坤晉級的Rockies勝過一路領先卻差點晚節不保的Mets;但是如果Mets一直保持領先拿到100勝封王,也會有「有沒有Wright這支球隊都會晉級」的聲音,在一支上半季大幅領先的球隊要拿MVP並不是很有利的。

    我個人是不喜歡這類的說法,MVP應該是能幫助球隊拿到最多勝的球員,但是在MVP票選中用球隊戰績去選擇或是排除某些球員就沒什麼道理了,特別加重在最後一個月的戰績就更為荒謬,一場勝利就是一場勝利,沒有四月的勝場到了九月就會折舊這種事,如果兩個球員都幫自己的球隊多增加了10勝而進入季後賽,不管那10勝是在幾月拿到的,他們的貢獻度都不應有所差別。

    NL的幾名競爭者中,攻擊面上品質最好的是Chipper Jones,但是他的貢獻時間不如其他對手,而且從FRAR來看,他的防守讓他在這場競賽中扣了很多分。

    緊接其後的是Albert Pujols和David Wright,考慮到兩人的守備位置,他們的攻擊品質可以說相同,Wright的上場數和打席都多一點,所以他對球隊的貢獻略高於Pujols。Pujols是金手套級的一壘手(FRAR=28),不過Wright的FRAR(26)幾乎和他打平。

    把守備位置考慮進去,Holliday, Fielder和Ramirez的攻擊能力差不多,Utley則小勝一些,但是他缺席了一段時間,因此這幾人的攻擊貢獻相去不遠。

    雖然從VORP來看Ramirez是最高的,不過他也是在最多的出局數中打出這個VORP的,Replacement Player可以代替他守游擊,但是不需要幫他打第一棒,他比Pujols或是Fielder多出來的出局數中,有很多其實是Miguel Cabrera, Dan Uggla或是Jeremy Hermida的打席,不是真正的Replacement Level。

    在五人輪值的情況下,聯盟最好的投手對球隊的貢獻不太容易超過最好的野手,今年Jake Peavy不管是VORP(77)還是WARP1(10.9)都不比野手們遜色多少,由於少失一分比多得一分對勝率的幫助更大,Peavy有充分的理由來競爭MVP。不過我還是會先把票投給Wright和Pujols,Peavy的總貢獻雖然不下野手,但卻集中在34場比賽,由於這34場比賽球隊大勝的機率勢必比他沒上場的比賽更高,使得他的貢獻被"浪費"的機會比野手們來得高,這也算是種SP先天上的限制吧。

    總結來說,Wright以很小的差距勝過Pujols,不管是兩人中的任何一人或是Holliday,Jones,Peavy都是可以接受的人選,雖然這些人中大概只有Holliday有可能贏得投票。另一個可能的當選者是Jimmy Rollins,不過我覺得不管是Chase Utley還是Hanley Ramirez都是比他好的選擇。

    AL MVP

    NameTeamGABRHHRRBISBAVGOBPSLGOPSEqAVORPWARP1
    Álex RodríguezNYY1585831431835415624.314.422.6451.067.33996.610.9
    Magglio OrdóñezDET157595117216281394.363.434.5951.029.33787.89.2
    David OrtizBOS149549116182351173.332.445.6211.066.33886.28.2
    Jorge PosadaNYY1445069117120902.338.426.5430.970.32273.48.2
    Carlos PeñaTB14849099138461211.282.411.6271.037.33668.510.0

    其他人都是來陪榜的,AL今年最好的打者不是A-Rod而是David Ortiz,不過由於守位的關係,A-Rod在攻擊上的貢獻已經超過AL所有的打者,而他的防守雖然不算是很好,但是顯然比沒有任何防守貢獻的Ortiz來得好。

    本來名單應該列到Jorge Posada為止,不過Carlos Pena今年的成績超乎所有人的預期,還是讓他加入陪榜團鼓勵一下吧。(看,他的名字還比AL打擊王多出現了一次 XD)

    相關文章

  • 2007 MLB Awards Preview - ROY
  • 2007 MLB Awards Preview - CYA
  • 繼續閱讀

    2007/09/29

    Player Valuation for Fantasy Baseball (完)

    這系列已經拖超過一個禮拜了,還好這個blog沒什麼人在看,所以也沒人催稿。 XD

    趕快來把它做個結尾,季賽結束後還有不少題材可以講。

    最後我們來討論一個問題:假設我們採用喊價的方式分配球員,12支球隊各有100M的總資金,必須選C,1B,2B,3B,SS,OF*3,UT,P*7,Bench*5,每個球員的最低薪資為1M。其他設定都和Public League相同,那我們要如何判斷每個球員的價值?

    由於21個球員至少要各花1M,所以每隊的可運用資金事實上是79M,整場喊價會上流通的資金總額是79M*12=948M,而不是1200M。將這個數字除以所有VORP>=0的球員(恰好是先發的球員人數)的VORP總和,就可以求得每分VORP的價值,然後將球員的VORP乘上這個參數,最後將1M加回去,就能算出球員的應有身價。

    也因此,Jose Reyes的VORP雖然是Michael Young的三倍多,但算出來的價錢卻不足三倍,不過如果我們計算他們的DORP的比例(Dollar Over Replacement Player, 減去薪資下限後的薪水),那就和VORP的結果相同了。

    以12人public league的設定來說,總VORP大約在1550上下,換言之,每分VORP價值約0.612M。因為以下是154場的數據,所以我們將參數調整成0.644M並將表格更新如下:

    PlayerRHRRBISBAVGHABValueVORPDollar Value
    Alex Rodriguez13452142240.31317054437.8125.6117.50M
    Jose Reyes1101050780.28918062228.8816.6811.75M
    Ryan Braun783083140.32312940023.1210.928.03M
    Michael Young75884120.31218759917.315.114.29M
    Barry Bonds75286650.2799433716.524.323.78M
    Freddy Sanchez76117800.30917857614.932.732.76M
    Casey Blake74177230.26714955812.20.001.00M
    Bengie Molina38198000.28513346711.984.353.80M
    Josh Hamilton52194730.2928729811.96-0.240.85M
    Julio Lugo66670300.23912853511.58-0.620.60M
    Yuniesky Betancourt6796440.28714851511.51-0.690.56M
    Joe Mauer5965570.29011138310.412.782.79M

    PlayerIPWSVKERAWHIPERH+BBValueVORPDollar Value
    Jake Peavy203.01802252.391.045421137.1517.9112.54M
    C.C. Sabathia227.01701983.211.158126131.7610.297.63M
    Johan Santana209.01502203.141.067322231.4311.638.49M
    Erik Bedard182.01302213.161.096419827.9710.687.88M
    Daisuke Matsuzaka190.01401864.411.349325521.833.803.45M
    Jeff Francis194.21501424.351.399427120.732.262.46M
    Ben Sheets140.11201063.781.235917319.155.734.69M
    Yovani Gallardo98.190873.661.314012914.134.613.97M
    Bronson Arroyo197.2901534.371.419627913.23-5.52-2.56M
    J.J. Putz66.0438721.360.67104416.189.677.23M
    Trevor Hoffman52.0438372.601.02155311.776.565.23M
    Joe Borowski58.2440525.221.4734869.083.253.09M
    Heath Bell84.062892.251.00218414.005.814.74M
    Rafael Betancourt73.051691.480.75125513.526.365.10M

    這樣算是將這個系列告一個段落了,在這三篇中使用的參數都是粗略的估計值,像剛剛就發現RP的Replacement Level應該要再高一點。等今年比賽完全結束後我可能會將整個系統仔細點的重算一次,不過目前就先這樣吧。

    後記 原本想要做個簡介,沒想到還是寫得很繁瑣,以後要多練習寫作的能力,另外徵求此系列文章的高速摘要,意者請寄到我信箱。 XD

    繼續閱讀

    2007/09/24

    Google Toolbar Buttons

    Baseball-Reference Baseball Prospectus First Inning Fan Graphs Rotoworld

    如果有裝Google Toolbar的網友可以點以上的連結安裝快速搜尋鍵到工具列上。

    使用方式: 在搜尋框輸入球員姓名(Rotoworld只能用Last Name,其餘四個網站都支援全名輸入),等右方按鈕出現放大鏡圖案後按下按鈕,便會自動跳到查詢頁面。

    如果游標不在搜尋框裡,按鈕就不會出現放大鏡圖案,此時按下按鈕會移至該網站首頁。

    自己生產搜尋按鈕的方法:

    在網站的搜尋框按下右鍵,選擇產生自訂搜尋然後照著對話框指示做即可。

    這個方式適用於使用GET方式的查詢,Rotoworld和Fan Graph的網站需要自己編輯xml檔。

    繼續閱讀

    2007/09/22

    Player Valuation for Fantasy Baseball (續)

    上一回我們提到如何計算球員在FB裡的Raw Value,到目前為止還只是和空氣做比較而已,今天要來看如何利用Replacement Player的觀念計算球員的價值。 因為兩篇之間差了三天,所以數據上沒辦法完全同步(orz),這點請大家見諒。

    Replacement Player,顧名思義是用來取代先發球員的選手,當你陣中的球員受傷或是低潮時,能夠快速的從FA補強的球員就是Replacement Player,這可以分成三個層面來討論。

    守備位置的調整 Raw Value的計算結果,Joe Mauer(C,Value=10.41)固然是不如Freddy Sanchez(2B/3B/SS,Value=14.93),但是如果我們能從FA得到最好的C和2B/SS分別是Johnny Estrada(Value=7.63)Aaron Hill(Value=13.41)的話,那麼Mauer+Hill反而比Sanchez+Estrada高出1.26分,這時Mauer的價值是比較高的,在選秀時我們應該先選擇Mauer。

    至於Casey Blake和Yuniesky Betancourt就更不用說,在大多數的公開聯盟中他們本身就是Replacement Player(or below)了。

    上場時間的調整 我們看到J.J. Putz(66IP Value=16.18)的Raw Value比Jeff Francis(194.2IP Value=20.73)來得低,然而由於Yahoo!的Public League有局數上限,如果我們用Jason Marquis(183.1IP Value=17.41 V/100IP=9.5)來補上Putz少投的128.2局,Putz+Marquis組的Value將會變成28.4,遠勝過Francis。(事實上在Mixed Public League,Francis已經差不多就是Replacement SP了)

    人數不等時的比較Jose Reyes(SS,Value=28.88)Michael Young(SS,Value=17.31)+Freddy Sanchez(2B/3B/SS,Value=14.93)為例,光看Raw Value的話,好像後面那一組(32.24)比較有利,事實上Reyes加上Aaron Hill(2b/SS,Value=13.41)的Raw Value高達42.29,遠遠勝過Young+Sanchez。

    從以上幾點來看,應該可以瞭解為何要將球員的價值定義為與Replacment Player的差距。至於如何在選秀前找出各位置的Replacement Player,以Yahoo Public League的設定來說,首先依照C,SS,2B,3B,OF,1B的順序,挑出各位置Raw Value的前12名(OF為前36名),同一個球員只能佔他最優先的那個守位,比方Lance Berkman(1B/OF)佔了OF的一個缺,挑1B時就不計算他。然後不分守位挑出剩餘打者的前42名(以平均每隊2.5個板凳打者來算),這42名打者包含的守位都使用同一個Replacement Level。一般而言只有捕手需要使用獨立的Replacement Level,再在其餘打者中挑出126名,只要確定這126名中SS和2B都有12人以上即可。捕手的Replacement Level取第12名捕手,其餘的取第126名打者。投手方面,原則上按照Value/IP選66名SP和48名RP,儘可能讓每隊平均局數接近1250局。

    打者有場數上限,所以實際價值理論上是平均每場Raw Value減去Replacement Player的平均Value後,再乘上出場數。但是出場數的紀錄取得較為麻煩,尤其當用預測成績計算球員價值時,大部份的預測都沒有附出場數的數據;其次要補上不足的野手出場數較為麻煩,特別是捕手。因此簡單的作法就是直接拿總Raw Value去減,出賽時間真的差很多的球員再調整。 今年捕手的Replacement Level大約是7.63(Johnny Estrada),其餘打者的是12.20左右。

    投球局數要補足就容易多了,我們可以幾乎隨時隨地從FA裡頭找到Replacement等級的投手來幫我們投一場球,然後馬上丟掉換下一個SP,所以選手的Value/IP是比較重要的。但如果單純照V/IP來挑選先發球員,就會選到太多RP導致湊不滿1250局,因此才要用66SP+48RP的比例挑選。如此Replacement Level應該訂在第66名的SP較為合理,然而問題出現了,這樣VORP大於0的RP將會超過48個(因為第48名的RP的V/IP通常比第66名的SP高)。我們希望VORP>0的選手人數恰好等於應選的人數,在這裡採用的統一標準是所有投手的Value先減去Replacement RP的V/IP * 70,將Replacement SP(儘可能找180~200局的SP)減完後的Value除上(IP-70),得到SP的Replacement Level。換言之,70局以內的部份,要減掉RP的Replacement Level,超過70局的部份則是和SP的Replacement Level比較。

    以今年RP的Replacement Player差不多是C.J. Wilson這個等級,他平均100局的Raw Value是9.87,由於季賽大概還有5%的比賽還沒進行,所以我們將RP的Replacement Level定為0.0987*66.5=6.56。Replacement SP大約落在Jason Marquis(183.1IP Value=17.41)一帶,因此SP的Replacement V/IP為(17.41-6.56)/(183.33-66.5)=0.0929。我們根據以上的數字來算Putz和Francis的VORP。

    Putz:16.18-6.56-[(66-66.5)*0.0929]=9.67 (更正:Putz不足的0.5局可以用Replacement SP來補) Francis:20.73-6.56-[(194.67-66.5)*0.0929]=2.26

    因此Putz在Public League的價值約是Francis的4.25倍。

    算出VORP後最好按VORP排序好再次挑選Replacement Player重複以上動作至少一次。

    我們把前一張表格加上VORP來看看:

    PlayerRHRRBISBAVGHABValueVORP
    Alex Rodriguez13452142240.31317054437.8125.61
    Jose Reyes1101050780.28918062228.8816.68
    Ryan Braun783083140.32312940023.1110.91
    Michael Young75884120.31218759917.315.11
    Barry Bonds75286650.2799433716.514.32
    Freddy Sanchez76117800.30917857614.932.73
    Casey Blake74177230.26714955812.200.00
    Bengie Molina38198000.28513346711.984.35
    Josh Hamilton52194730.2928729811.96-0.24
    Julio Lugo66670300.23912853511.58-0.62
    Yuniesky Betancourt6796440.28714851511.51-0.69
    Joe Mauer5965570.29011138310.412.78

    PlayerIPWSVKERAWHIPERH+BBValueVORP
    Jake Peavy203.01802252.391.045421137.1517.91
    C.C. Sabathia227.01701983.211.158126131.7610.29
    Johan Santana209.01502203.141.067322231.4311.64
    Erik Bedard182.01302213.161.096419827.9710.68
    Daisuke Matsuzaka190.01401864.411.349325521.833.80
    Jeff Francis194.21501424.351.399427120.732.26
    Ben Sheets140.11201063.781.235917319.155.73
    Yovani Gallardo98.190873.661.314012914.134.61
    Bronson Arroyo197.2901534.371.419627913.23-5.51
    J.J. Putz66.0438721.360.67104416.189.67
    Trevor Hoffman52.0438372.601.02155311.776.56
    Joe Borowski58.2440525.221.4734869.083.25
    Heath Bell84.062892.251.00218414.005.81
    Rafael Betancourt73.051691.480.75125513.526.36

    野手的部份因為沒有加入出場數校正所以還不太準,Josh Hamilton事實上並不是個Below Replacement Player,Ben Molina也沒有比Barry Bonds好(不過相差不遠,畢竟你很難掌握Bonds的上場時間),但是我們可以看出Joe Mauer仍然比Freddy Sanchez來得有價值,三個Michael Young加起來還是勝不過一個Jose Reyes。

    投手的部份變化比較大,C.C. Sabathia的227局對Tribe的貢獻很大,但在一個可以隨手撿到Marquis的世界裡,他的價值還落後少投了45局的Erik Bedard一點。J.J. Putz勝過絕大多數的SP,松阪大輔的價值事實上比不上Ben Sheets和Yovani Gallardo,也比不上Heath Bell和Rafael Betancourt,Bronson Arroyo則是完全沒價值的選手。

    下一回是喊價制FB的價錢計算和結論。(汗 還有啊)

    相關文章
  • Player Valuation for Fantasy Baseball
  • Player Valuation for Fantasy Baseball (完)
  • 繼續閱讀

    2007/09/19

    Player Valuation for Fantasy Baseball

    我想玩過一段時間Fantasy Baseball的人都清楚,一個球員的FB價值和他的實際價值不見得是相等的,如以下的兩個球員:

    PlayerABH2B3BHRRRBISBAVGOBPSLG
    Jose Stealer60018020510957550.300.360.400
    Freddy Doubleman60018050510957520.300.360.450

    在現實生活中,Doubleman的價值顯然比Stealer要高出一截,但在標準5x5 FB中,二壘打並不計分,Stealer靠著盜壘壓倒性的勝出。

    在上面的例子中,由於其他四項的成績都相同,我們可以很輕易的判斷何者的FB價值較高,但是當兩名球員各擅勝場時,又該如何評估哪一個是較好的FB球員呢?即使我們可以選出較好的球員,但是在喊價制的FB中,兩名球員的價錢又應該差多少才算合理?底下就是我採用的球員FB價值評估方法:

    首先有一個重要觀念,在FB和現實生活中都是共通的,那就是VORP - Value Over Replacement Player

    Fantasy Baseball是體會VORP的好地方,只要下場實際操縱幾年FB,就能很清楚地瞭解什麼叫Replacement Player(那些躺在FA的都是),以及為什麼一個只出賽半季的好球員會比一個全勤的Replacement Player,或是兩個略高於Replacement的球員更有價值。比讀Baseball Prospectus的文章100篇還有效。

    我們的評價流程也如VORP的計算一樣,先計算球員每場或每局能貢獻的Fantasy Value,找出Replacement Player後,將球員的平均Value減去Replacement Level,然後乘上他的上場時間,就可以得到該球員的FB價值了。

    和現實生活比起來,在標準5x5 Roto制FB要計算球員的Raw Value是相對容易的,因為所有球員都只有五個變因,我們只要能訂好各項目的權重,用簡單的加權平均就可以搞定。

    那麼問題就在於各項目的權重應該設多少才合理?幾個打點可以換一支全壘打?多少三振可以補上一個SV的差距?甚至,ERA降0.05和AVG升0.001,哪個比較有價值?這些問題的答案應該都看一個東西-這個聯盟各項目的隊間差距,換言之,平均來說要多少全壘打(打點、得分、勝投.....)才能讓球隊前進一名,這個項目的權重就是這數字的倒數。

    每隊的人數和聯盟深度會影響這個值,以Yahoo的Public Mixed League的設定來說,大約15R/17RBI/4HR/5SB/0.001AVG/0.8W/10SV/27K/0.08ERA/0.01WHIP就會差一分(事實上還是因聯盟而異),所以大概要多得30分才能補上10次盜壘的差距,而一個能幫ERA降0.08的投手和讓AVG升0.001的打者價值相等。

    平均項目上需要進一步的計算,Public League每支球隊一年的投球局數是1250局,因此1分ER會讓全隊ERA上升0.0072,也就是說多丟11分ER就會讓球隊在ERA上下降一名;平均來說全隊ERA大約是3.8,因此多投一局可以讓ERA下降0.003,相當於1/26分。在WHIP上,每12.5次上壘相當於一分,每局相當於0.1分;而在AVG項目上,5.5支安打/19.3AB相當於一分。

    因此我們將各項目的權重設成下表:

    CategoryRRBIHRSBHABWSVKERH+BBIP
    V/1006.675.8825.020.018.0-5.1812510.03.70-9.10-8.0013.85
    而在計分制的FB(如TSN)中,球員的每場價值就等於他的平均每場得分,夠簡單吧。

    根據以上的權重,我們來算幾個球員今年的raw value:

    PlayerRHRRBISBAVGHABValue
    Alex Rodriguez13452142240.31317054437.81
    Jose Reyes1101050780.28918062228.88
    Ryan Braun783083140.32312940023.12
    Michael Young75884120.31218759917.31
    Barry Bonds75286650.2799433716.52
    Freddy Sanchez76117800.30917857614.93
    Casey Blake74177230.26714955812.20
    Bengie Molina38198000.28513346711.98
    Josh Hamilton52194730.2928729811.96
    Julio Lugo66670300.23912853511.58
    Yuniesky Betancourt6796440.28714851511.51
    Joe Mauer5965570.29011138310.41

    PlayerIPWSVKERAWHIPERH+BBValue
    Jake Peavy203.01802252.391.045421137.15
    C.C. Sabathia227.01701983.211.158126131.76
    Johan Santana209.01502203.141.067322231.43
    Erik Bedard182.01302213.161.096419827.97
    Daisuke Matsuzaka190.01401864.411.349325521.83
    Jeff Francis194.21501424.351.399427120.73
    Ben Sheets140.11201063.781.235917319.15
    Yovani Gallardo98.190873.661.314012914.13
    Bronson Arroyo197.2901534.371.419627913.23
    J.J. Putz66.0438721.360.67104416.18
    Trevor Hoffman52.0438372.601.02155311.77
    Joe Borowski58.2440525.221.4734869.08
    Heath Bell84.062892.251.00218414.00
    Rafael Betancourt73.051691.480.75125513.52
    和想像的有點不太一樣?別急,我們還沒做與Replacement Player的比較呢。投球局數比較少的RP在累積成績上自然要吃虧,做為一個打者,Joe Mauer的貢獻也還比不上Casey Blake。但是將SP多花費的局數,以及捕手和3B/OF的比較基準考慮等等進去後,將會產生不一樣的結果。

    不過,因為今天已經寫很多了,所以Replacement Player的部份就留到下次再提吧。 XD

    相關文章

  • Player Valuation for Fantasy Baseball (續)
  • Player Valuation for Fantasy Baseball (完)
  • 繼續閱讀

    2007/09/14

    Crystal Ball - 生涯成績占卜

    如果之前的Lineup Otimizer還是有人很認真看待的話,現在這個應該不會有了。 XD

    只要在這個網頁上任意輸入姓名,程式就會自動產生一份生涯成績。如果不希望真名被列在排行榜上的話,只要不勾選「允許寫入排行榜」,就不會被紀錄在榜上。

    在設計上已經讓整個生涯曲線儘量地合乎常理,但是還是請不要拿這個結果去說王建民的打擊比松阪大輔好。 XD

    如果有人玩出有趣的姓名和成績,請務必在留言板留個言,謝謝。 :p

    繼續閱讀

    2007/09/12

    Hu hit a home run?

    Who hit the homerun?

    Yahoo!應該很快會發現他們在9/11 SD vs LAD的Boxscore中的錯誤,還是存個檔比較保險。

    胡金龍在這場比賽的九局下半代打Eric Hull,擊出台灣野手在MLB第一發全壘打,Yahoo卻出包了。我可以想到一堆關於Hu hit the home runHu'll hit a home run的笑話。 XD

    來試著寫寫看:

    Oh! Hull hit a home run.
    Hu hit the home run.
    Hull hit that.
    No! He didn't. Hu hit that home run.

    You mean that Hull didn't hit the home run?
    He didn't.
    And you don't know who hit that?
    I know that.
    Who?
    Right.
    Wright hit that home run?
    No!
    Then who hit that home run?
    Yes, he did.

    (pause)

    OK, Someone hit the home run but you don't know who?
    I know Hu. He is a player from Taiwan.
    You say, Hong-Chih Kuo?
    No! That is his teammate.
    Chin-Hui Tsao hit the home run?
    No! Hu hit that.
    hmm....Chin-Feng Chen is the man hit the home run?
    NO! Hu is that guy!
    You don't know who is Chin-Feng Chen? He was the top prospect of Dodgers.....
    I know Chen!
    But you just say "who?".
    Yes! Hu hit the home run!

    (pause)

    I don't get it.
    OK, Hull is at bat in bottom 9th.
    Then?
    Hu hit for him.
    I don't know.
    Now you know.
    Know what?
    Hu hit for him.
    I still don't get it. Who hit for Hull?
    Right.
    Wright hit for Hull?
    No. Hu hit for Hull.

    (pause)

    OK, then what happen?
    Hu hit a home run.
    I don't know who.
    He is a player from Taiwan.
    Chien-Ming Wang?
    No! He is a Yankee.
    Chin-Feng Chen?
    No! It's Hu!
    Chin-Feng Chen is the former top prospect......
    I know who Chen is! He didn't hit the home run!
    Then who hit that?
    Yes! Hu did!

    (pause)

    So you know who hit the home run?
    Yes.
    But you just don't remember his name?
    His name is HU! "H-U" HU!
    "H-U" Hu is a player name?
    You finally know that.

    So Hull didn't hit this home run.
    No.
    And Hu'll hit a home run?
    He hit it tonight! (/‵Д′)/︵ ┴─┴


    Hu hit the home run. Congratulations!

    (圖片擷取自Dodgers官網影片)

    繼續閱讀

    2007/09/10

    Lineup Optimizer - 原理

    相關文章
  • Lineup Optimizer 在講解程式原理之前,先來講一下我對棒次安排的看法。 一個好的棒次應該儘可能的符合幾點原則: 越好的打者應該擺在越前面的棒次 這不僅讓較好的打者可以得到較多的打擊機會,也可以提高全隊的上壘率,使得全隊的打席數提高,較高的打席數可以帶來較多的分數。 較好的打者應該儘可能地集中,較差的打者也應該儘可能地集中 鄰近打者的能力有相乘作用,將一名優秀打者放在其他好打者之間可以使他的價值最大化,將最弱的打者放在其他較差的打者附近,可以讓對球隊的傷害降到最低。詳細一點的說法是:推壘能力好的打者前方應該儘可能放上上壘能力好的打者,反之亦然。

    這兩個原則事實上會有某個程度的牴觸,根據原則一,我們排出來的棒次應該會類似下圖: 如此全隊最佳的打者會接在最差的打者後面,這使得他的推壘能力被浪費掉了。

    如果根據原則二,我們可以排出如下的棒次: 當然這個棒次是可以平移的,我們將所有球員往前移一棒 除了一二棒倒過來外,這個棒次相當接近傳統棒次的安排,最強打者放四棒,然後依序是三、五棒,最弱的打者則是擺在第八棒。

    如果再往前移一個棒次,並且調整一下後段棒次使其在不違背原則二的前提下更接近原則一,就會變成如下的狀況: 這個棒次安排在數學上來講應該是最好的排法之一。

    以上壘能力和推壘能力來看,大致如下圖所示: 當然,實際上的最佳棒次需要看實際的球員組合而定,我觀察我的程式模擬結果,並沒有發現能循序挑出各棒次最佳球員的規則。

    那麼,在我的程式中,是如何決定最佳棒次的呢? 直覺的解法是利用一套公式計算每種可能棒次的得分期望值,然後在9!=362880種棒次當中選出得分期望值最高的一組棒次。然而這種方法相當的耗費時間,所以我利用演化計算(EC)中(1+1)-EP的方式來改進。系統先選取一組棒次做為起始值(一般是隨機選取即可,在系統則是以OPS降冪為起始值),每次變動一些產生一組新的棒次來和目前的棒次比較,留下較好的一組,如此重複運算一定數量的世代後,最後留下來的棒次就是答案。

    在以上的架構中,還有兩個問題尚待解決,首先我們必需能分辨兩組棒次的優劣,另外必需訂定產生新棒次的規則。

    先談後者,使用EC有個前提,就是好棒次產生的棒次中必需多數也是好的,否則使用EC就和隨機選取意義相同了。在排棒問題上,我們只要使用簡單的突變方式就能達到這個目標。系統採用的突變方式有三種,首先是swap(交換),簡單的將兩個棒次的球員對調(例: A-B-C-D-E-F-G-H-I swap(C,G)-> A-B-G-D-E-F-C-H-I);其次是shift(平移),將一個球員移到某個棒次,之間的球員全部平移一棒(例: A-B-C-D-E-F-G-H-I shift(C,7)-> A-B-D-E-F-G-C-H-I);最後是replace(取代),將先發球員換成板凳球員,和swap不同的地方僅在於必須考慮守位而已。

    至於比較兩組棒次的好壞部份,以演化計算的精神來說,其實並不需要算出確實的得分,只需要能分辨高下即可,甚至比較的準確率不需要是100%,但是我們還是用一套公式為各棒次計算出它的得分期望值。這個計算公式的原理是球隊的總得分=所有打者個人得分的總和,而打者的個人得分可以用打者本身和之後棒次的打擊資料算出來。運算過程如下:

    • 根據每個球員的上壘率,計算一場比賽中每個球員在不同出局數的打席期望值。
    • 根據一個球員的打擊資料,我們可以算出他打完一個打席後出局的機率,全壘打的機率,以及停在一、二、三壘的機率。
    • 再根據這個球員之後棒次的球員打擊資料,我們可以算出該球員在各出局數時被推回來得分的機率。
    • 將這個機率乘上打席期望值並加總,就可以求出球員一場比賽的得分期望值。
    • 將九棒的得分期望值加起來,就是球隊一場比賽的得分期望值。

    這個系統已經有做的修正包括:

    • 跑者可能靠著一壘安打推進兩個壘包,或是二壘安打推進三個壘包。
    • 跑者可能靠著野手選擇進壘。
    • 打者可能會因為失誤上壘,跑者也會因為失誤進壘。
    • 跑者有可能會盜壘,也會被阻殺。
    • 打者可能會擊出雙殺打。
    然而,跑者的腳程造成額外進壘的機率差異並沒有實作出來。跑者與打者能力對失誤和雙殺打的影響也都被忽略。

    這個系統的另一個問題在於,如果一個打者的成績是在三棒打出來的,這名打者換到一棒是否還能維持一樣的成績?棒球的打擊大概是團隊運動中受隊友影響最少的項目之一,我們並不要求球員因為棒次變動而改變打擊型態,假設球員們的心理狀況也沒有受到影響(或是不會影響打擊成績),但是如果後一棒從Barry Bonds換成Dave Roberts的話,相信打擊成績還是出現一定程度的變化。

    話說回來,反正這個東西本來就只是個小玩具,同樣九個人組成的棒次,運算出來最好的結果和平均值的差距大約也只有一場比賽0.1分而已,而實際會被教練和球迷排出來的棒次,彼此之間的差距恐怕不會超過每場0.05分,這不過能讓勝率提高半個百分點而已,所以大家還是玩玩就好,不需要太認真。 :D
    繼續閱讀
  • 2007/09/08

    Lineup Optimizer

    這個小玩具是我在修演化計算時做的期末專題,可以根據輸入的球員資料自動產生最有得分效率的棒次。

    以下就以Yankees為例子說明這工具的使用方法:

    首先進入首頁,可以看到各隊球員的姓名、守位和Rototimes在2007年初預測的打擊成績。球員是先照球隊再依OPS排序的,所以同隊的球員都會排在一起,我們找到Yankees的球員們,將9名打者選取起來,然後拉到頁尾按下送出鍵。如果不打算使用2007年的MLB球員資料,也可以不選任何球員直接送出,到下個頁面再手動輸入資料,或是先選擇相似的球員再做修正。

    在接下來的頁面可以調整球員的資料,我們在此將Yankees季初預定的先發一壘手Doug Mientkiewicz加進去,在下方排好預設棒次,然後按下送出。 系統會自動檢查守備陣容。如果球員名單當中有投手的話,就代表不使用DH,反之則代表允許使用DH。

    過一下結果就會顯示在網頁上,左邊是我們在前一頁排的棒次,右邊是系統算出來的最佳棒次。因為演化計算演算法和server對php的時間限制因素,跑出來的結果並不保證每次都一樣,覺得結果很怪的話可以多試一兩次。

    運算的方法留待下次說明,等不及的人可以先看首頁上的How this program works,不過請注意,因為修課規定的關係,這份報告是英文的。 XD

    相關文章

  • Lineup Optimizer - 原理
  • 繼續閱讀
    Powered By Blogger