我们完成了一个可供线上使用的安打机率估计器,并把它叫做Hitprob;只要在Hitprob输入击球仰角(LA)和击球初速(EV)就能够得到具有这样条件的batted ball在2017年球季形成安打的机率。
作为Hitprob跟大家见面的首篇文章,除了公开Hitprob之外,还会提一些简单的相关概念,至于其他复杂一点的应用有机会再说吧。
首先,一个batted ball的形成跟三件事有关:击球仰角(LA)、击球初速(EV)、击球水平角度,其中击球水平角度因为牵涉左打右打推拉的不同,在处理上比较麻烦,加上跟一个击球强劲与否的关联较小,因此不列入Hitprob的input参数中,这是我们只将LA和EV当作参数的理由。
其实之前在红袜版整理的战报中,也看过Cora提出怎样的LA搭配EV才是最理想的击球,所以这两种变量作为安打机率的input还是有足够坚固的基础背书的。
我们来看一下2017年的batted ball在各种LA和EV(图中称为Launch_Speed)组合之下的结果:水蓝色是安打、深蓝色是出局。
可以发现形成安打的条件大致上有几种:(1)EV够快 (2)LA够平,介于0-25度 (3)右下角那块,打不快、仰角介于25-30度的球,大概就是所谓鸟安。
https://i.imgur.com/CisFEBZ.jpg
下图显示的则是各种LA和EV组合之下,形成安打的机率,和上图会得到类似的结论。
另外可以注意右上角的白色区域,角度又高、速度又快,形成安打的机率是100%,其实意思就是这样的球不管在哪个球场都会飞出场外。
https://i.imgur.com/2QRbpvl.jpg
以上是对于Hitprob的简单介绍,建模过程使用Logistic Model,牵扯太多统计方面的问题就不赘述了。
总之,欢迎大家使用这个简易的小玩具;不过如果有用于文章写作,还请注记一下数据出处。
以下是Hitprob的接口与连结:
https://i.imgur.com/ZKMDxSu.jpg
Hitprob连结:https://allen63521.shinyapps.io/shinyproj/
第一个挂掉就来这:https://allen63521.shinyapps.io/shinyproj2/
无利可图之原文好读版:https://tinyurl.com/y73vg7el
不确定部落格里有没有广告,就算有我也不会拿到半毛就是了。
如果觉得有趣,也欢迎到我们脸书专页看看。
ps: 有其他地方的读者问过一个问题,我觉得问得满好的就备注在这边了:
Q:想请问一下,刚刚玩了那个程式。
我发现就算设定exit velocity:130mile、Launch angle:28 这种100% 出墙的,机率显示还是没有100%安打耶
A:因为我们在train model的时候,资料中并没有包含任何一笔130mph的EV(现实中几乎不会有),所以Hitprob在估计这样过高的值的时候,只能用smooth的方法去逼近,逼近的结果顶多是无穷接近1,但永远不会达到1。
我们会建议EV不要设超过120,得到的东西才会比较有意义。