iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0

除了打擊跟投球有各種細項,Baseball Savant 同時也提供了關於守備的數據細項給我們查詢。今天就來介紹那些細項,還有 pybaseball 的 methods 可以用來獲得哪些資料吧。

statcast_outs_above_average

獲得各野手的 OAA (Outs Above Average) 資料。OAA 是最近用來評定守備能力的指標,是一個累積值,Statcast 會根據他們的數據,計算每個守備機會能製造出局的機率,再根據守備員成功與否加減 OAA 值。舉例來說,如果某一次守備機會成功率為 75%,如果成功 OAA 會上升 .25,如果失敗 OAA 會下降 .75。Savant 也提供球員移動各方向,以及各守備站位的 OAA 可以篩選:

from pybaseball import statcast_outfield_directional_oaa

# 獲得 2023 球季外野手各方向 OAA
statcast_outfield_directional_oaa(2023)

# 獲得 2023 球季外野手各方向 OAA,並限制投手至少要達成 200 守備機會
statcast_outfield_directional_oaa(2023, 200)

https://baseballsavant.mlb.com/leaderboard/outs_above_average

  • year:查詢的球季,必填,需為整數。
  • pos:選取特定守備位置,但不包含投手跟捕手,捕手會另外算其他數據。可以填入 allIF 內野、OF 外野的大範圍,也能填入 1B 或是代號 3來代表守備位置。可以參考 utils.py 裡的資訊。
  • min_att:最小守備次數,可以篩選最小守備次數至少幾次,預設會是 q,二壘、游擊、三壘跟外野的預設是球隊每出賽一次至少有一次守備機會,如果是一壘就是每兩場球隊出賽至少一次守備機會
  • view:資料的觀點,會根據選項調整呈現的 OAA,選項會有 Fielder 守備員, Pitcher 投手, Fielding_Team 守備球隊, Batter 打者, and Batting_Team 進攻球隊。預設是 Fielder。如果是選投手,那就會呈現投手在投球時,守備員們的 OAA。如果是選打者,就會是呈現打者打的時候,對面防守球隊的 OAA。選擇隊伍就會是呈現隊伍總和。

範例:

from pybaseball import statcast_outs_above_average

# 獲得 2023 球季所有位置,並有至少 50 次守備機會的 OAA 資料
statcast_outs_above_average(2023, "all", 50)

# 獲得 2023 球季中外野手的 OAA 資料
statcast_outs_above_average(2023,  pos = "cf")

# 獲得 2023 球季游擊手的 OAA 資料
statcast_outs_above_average(2023, pos = 6)

# 獲得 2023 球季內野的 OAA 資料,並有至少 100 次守備機會的 OAA 資料
statcast_outs_above_average(2023, pos = "IF", min_att = 100)

# 獲得 2021 球季內野的 OAA 資料,並使用投手視點下的資料
statcast_outs_above_average(2021, pos = "IF", view = "Pitcher")

statcast_outfield_directional_oaa

外野手的各方向 OAA,有往前往後的各項資料。往前是往本壘方向,往後是遠離,顯示的數字會四捨五入。Savant 頁面會有精美的圖可以看:

Statcast Directional Outs Above Average | baseballsavant.com (mlb.com)

  • year:查詢的球季,必填,需為整數。
  • min_opp:最小守備機會,可以篩選最小守備機會至少幾次,預設會是 q,外野的預設是球隊每出賽一次至少有一次守備機會。

範例:

from pybaseball import statcast_outfield_directional_oaa

# 獲得 2023 球季外野手各方向 OAA
statcast_outfield_directional_oaa(2023)

# 獲得 2023 球季外野手各方向 OAA,並限制至少要達成 200 守備機會
statcast_outfield_directional_oaa(2023, 200)

statcast_outfield_catch_prob

獲得外野手接各種球的接球率,Statcast 會計算接球機率並分類,有五種等級。這個頁面能知道選手遇過各種等級的次數,跟實際接到幾球,並算出接球率。會由 OAA 大到小排序。

Statcast Catch Probability | baseballsavant.com (mlb.com)

  • year:查詢的球季,必填,需為整數。
  • min_opp:最小守備機會,可以篩選最小守備次數至少幾次,預設會是 q,外野的預設是球隊每出賽一次至少有一次守備機會。

範例:

from pybaseball import statcast_outfield_catch_prob

# 獲得 2023 球季外野手接球機率
statcast_outfield_catch_prob(2023)

# 獲得 2023 球季外野手接球機率,並限制至少要達成 200 守備機會
statcast_outfield_catch_prob(2023, 200)

statcast_outfielder_jump

獲得外野手完成接球前的速度資料,會分成 Reaction (反應)Burst (爆發)Route (路線)。他顯示的資料會是相較於大聯盟平均,多省了幾步。另外他計算會只考慮 2 星級以上守備,也就是接球機率小於等於 90% 的資料。Savant 一樣有精美的圖讓大家更好了解概念:

Statcast Outfielder Jump Leaderboard | baseballsavant.com (mlb.com)

  • year:查詢的球季,必填,需為整數。
  • min_att:最小守備機會,可以篩選最小守備次數至少幾次,預設會是 q,外野的預設是球隊每出賽五次至少有一次二星守備機會

範例:

from pybaseball import statcast_outfielder_jump

# 獲得 2023 球季外野手 Jump
statcast_outfielder_jump(2023)

# 獲得 2023 球季外野手 Jump,並限制至少要達成 20 守備機會
statcast_outfielder_jump(2023, 20)

statcast_catcher_poptime

獲得捕手的 Pop-time,也就是捕手接到球後到守備員所需要花的時間,用來評估捕手抓跑者的能力。也會有像是 Arm (手臂強度,單位是 MPH)Exchange (捕手接到球到傳出去花的時間) 的數值。傳二壘跟傳三壘也會分開顯示。

Statcast Catcher Pop Time Leaderboard | baseballsavant.com (mlb.com)

  • year:查詢的球季,必填,需為整數。
  • min_2b_att:最小傳二壘次數,預設為 5。
  • min_3b_att:最小傳三壘次數,預設為 0。

範例:

from pybaseball import statcast_catcher_poptime

# 獲得 2023 球季捕手的 Pop-Time,並限制至少要傳二壘 10 次,以及傳三壘 2 次
statcast_catcher_poptime(2023, min_2b_att = 10, min_3b_att = 2)

statcast_catcher_framing

捕手偷好球帶的數據,會顯示各區域捕手偷好球的比例,也能知道 Catcher Framing Runs (由偷到的好球可以轉換成守住的分數,一個好球能守住 0.125 分) Savant 頁面會用格子圖讓大家知道是哪一個區域,並能像 OAA 一樣選擇其他視點,目前 pybaseball 只有捕手視點:

https://baseballsavant.mlb.com/catcher_framing?year=2023

  • year:查詢的球季,必填,需為整數。
  • min_called_p:最小主審決定好壞球的球數,預設會是各區域至少** 6 球 * 球隊出賽數**。

範例:

from pybaseball import statcast_catcher_framing

# 獲得 2023 球季捕手偷好球資料
statcast_catcher_framing(2023)

# 獲得 2023 球季捕手偷好球資料,並各區域至少要有 200 球由主審決定好壞球
statcast_catcher_framing(2023, 200)

本日小結

今天介紹 Statcast 的守備相關 methods,感謝大家耐心地看完。平常我們評斷球員守備好壞只有守備率,但 Statcast 提供更多其他指標讓大家可以參考,很推薦大家多去 Savant 頁面多試試。明天會介紹其他 Statcast methods,如果篇幅還有剩會補充一些前面提到的 method。


上一篇
Day 12 - Statcast 投球篇
下一篇
Day 14 - Statcast 其他篇
系列文
Python 棒球數據分析套件 pybaseball 介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言