Analysis code for: Bayesian sensory integration explains ball-count bias in Major League Baseball umpires
Authors/Creators
Description
Analysis code for the manuscript "Bayesian sensory integration explains ball-count bias in Major League Baseball umpires" by Mitsuto Tomomura and Masahiro Shinya
This archive contains the complete analysis pipeline for quantifying the ball-count-dependent strike/ball decision bias of MLB home-plate umpires and explaining it with a Bayesian sensory integration model, together with the derived result files and figures reported in the manuscript.
Data: MLB 2015-2024 regular and post-season games, 451,172 called pitches (four-seam fastballs thrown by right-handed pitchers to right-handed batters).
Pipeline (numbered folders 00-05):
- Data acquisition (Statcast pitch-tracking data and home-plate umpire assignments)
- Merging and inclusion-criteria filtering
- Count-wise psychometric (probit) function fits (point of subjective equality and perceptual uncertainty)
- Two-component Gaussian Mixture Model of called-pitch locations (count-specific priors)
- Trial-level Bayesian sensory integration model fit (count-specific vs. universal prior)
- Umpire-wise individual-differences analysis (n = 89)
Environment: Python 3.13 (pybaseball 2.2.7, pandas, pyarrow) and MATLAB R2022b (Statistics and Machine Learning Toolbox).
Raw and intermediate pitch-tracking data are not included, owing to file size and to avoid redistributing Baseball Savant data; they can be regenerated with the scripts in steps 00-01. See the included README.md for the full folder structure, reproduction instructions, and the correspondence between output files and the values reported in the manuscript.
Version v1.1 de-anonymises the README, LICENSE, and code headers. The analysis code, derived results, and figures are unchanged from v1.0.
Files
Zenodo.zip
Additional details
Funding
- Japan Society for the Promotion of Science
- 24K02840
- Japan Society for the Promotion of Science
- 24K14530