Statcastデータのクリーニング
Cleaning Statcast Data
年内はもう書かない予定でしたが、指摘を頂いたので、タイトルにもあるようにStatcastデータのクリーニングを行いたいと思います。
ベースとなるのは、以下のJim Albert氏の『Cleaning Statcast Data』という記事になります。
これまで打球の角度を見てきましたが、以下の図1に示すように、所々で極端に頻度の多い角度の存在を確認しています。
図中にスパイクが立ち上がっているところがそれになります。Jim Albert氏によれば打球の速度のデータでも同じ傾向を確認できるそうです。
さらに、Jim Albert氏は打球の速度(miles/hour)と角度のペアから、不自然に頻度の多い組み合わせをピックアップして(表1)、これらはデータに欠損があったときに割り当てた数値としてデータから除くこと(クリーニング)を提案しています。
この手続きを、これまで分析した打球の角度にやってみようというのが今回の目的です。ただし、このJim Albert氏のリストは2019年の6月時点のデータですので、2019年の終了時点のデータを確認することと、2018年以前のデータも確認してみたいと思います。
各シーズンの頻出速度・角度
2015年から2019年までのStatcastデータの打球の速度と角度の組み合わせをカウントし、頻度の多い順に並べたものを以下の表2に示します。
表1のJim Albert氏のリストに上がっていた速度と角度の組み合わせが出揃うまでピックアップしたものです。数値がピッタリ一致する組み合わせには○、若干ずれるケースには△の所に文字を載せています。
各シーズンで表1に示した速度と角度の組み合わせを確認できました。2018年のみ、速度89(m/h)と角度39°の組み合わせが22ケースとすくなかったためリストから除いています。
表2には、表1に無い組み合わせも確認できます。速度40(m/h)と角度-36°と速度84(m/h)と角度-13°の組み合わせです。期間中ほぼ一貫して見られるので、これも削除対象としました。速度89(m/h)と角度38°の組み合わせは、悩みましたが最近2年間しかリストアップされていないため、削除の対象とはせず残すことに決めました。
というわけで、Jim Albert氏の記事から削除対象を少し追加してデータを削除しました。結果、図1に示した打球の角度の分布は以下の図2のようになります。
図の見た目もすっきりしたと思います。この新しいデータを用いて、前回と前々回の内容も修正しておきますのでそちらも確認してみてください。
まとめ
Jim Albert氏の記事に倣いデータのクリーニングを行いました。図1のように、特定のポイントにスパイクが立つような高頻度のデータがあると、平均値を計算するような場合に正確な値を得ることが難しくなりますので、こうした処置が必要になります。
とはいえ、こうした処置が本当に正しいのかという議論はまだ必要かと思います。特に削除対象となる組み合わせのリストが今回のデータより確定したとまではいえません。できれば、MLBもしくはBaseballsavant社からの公式な説明が欲しいところです。
公式な説明があるか、もしくは精度の向上によってデータの欠損がほとんどなくなるまでは、データを慎重に吟味しながら除いていくというのが最善の対策かと思います。
Special thanks to @903124S
画像:いらすとや