Published September 4, 2026 | Version v1.1

Analysis code for: Bayesian sensory integration explains ball-count bias in Major League Baseball umpires

  • 1. ROR icon Hiroshima University

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

Files (434.2 kB)

Name Size
md5:881311fb299b59b619bed8aa5226ee0a
434.2 kB Preview Download

Additional details

Funding

Japan Society for the Promotion of Science
24K02840
Japan Society for the Promotion of Science
24K14530

Software

Programming language
Python , MATLAB
Development Status
Inactive