MLB (Pirates @ Cardinals): Will an EXTRA-BASE HIT and STRIKEOUT occur during Innings 1-2?
1:15 PM
Yes: Both occur during Innings 1-2
No: At least 1 doesn’t occur during Innings 1-2
Inputs To Solve
Extra-Base Hit per Game by Team
Strikeout rate by Starting Pitcher
##### User Estimates #####
Pit_XBHperGame = (191+21+102)/93
Stl_XBHperGame = (132+9+112)/93
expected_total_XBH = Pit_XBHperGame + Stl_XBHperGame
print("Use %s + %s = %s as total expected XBH to be hit for the game."
% (round(Pit_XBHperGame,3),round(Stl_XBHperGame,3),round(expected_total_XBH,3)))
Use 3.376 + 2.72 = 6.097 as total expected XBH to be hit for the game.
CA2019_K_Rate = 98/((84*3)+2)
PdL2019_K_Rate = 38/((31*3)+2)
print("Chris Archer's 2019 K per Out rate is %s" % round(CA2019_K_Rate,3))
print("Daniel Ponce de Leon's 2019 K per Out rate is %s" % round(PdL2019_K_Rate,3))
Chris Archer’s 2019 K per Out rate is 0.386
Daniel Ponce de Leon’s 2019 K per Out rate is 0.4
## Inputs Defined in the Problem
period_of_innings = 2
_XBH = 0
_K = 0
Method to Solve
- Estimate lambda (expected arrival rate of XBH)
- Use Poisson Distribution to estimate the probability of zero XBH being hit in any two innings
- Compute the probability that there are no Strikeouts in Innngs 1-2
- The probability that both occur is (1 - the probability there are no XBHs) multiplied by (1 - the probability there are no Ks)
lambda_ = expected_total_XBH * period_of_innings / 9
print("lambda = the total expected XBH hit by both teams over 2 innings")
print("lambda = %s * %s / %s" % (round(expected_total_XBH,3),period_of_innings,9))
print("lambda ~ %s" % (round(lambda_,3)))
lambda = the total expected XBH hit by both teams over 2 innings
lambda = 6.097 * 2 / 9
lambda ~ 1.355
import math
xbh_zero = math.exp(-lambda_)*(lambda_**_XBH)/(math.factorial(_XBH))
print("The probability of k events occurring in an Poisson interval = e^(-lambda) * (lambda^k)/k!")
print('where k = 0')
print('')
print("p = e^(-%s) * (%s^%s)/%s!" % (round(lambda_,2),round(lambda_,2),_XBH,_XBH))
print("xbh_zero = %s" % round(xbh_zero,3))
The probability of k events occurring in an Poisson interval = e^(-lambda) * (lambda^k)/k!
where k = 0
p = e^(-1.35) * (1.35^0)/0!
xbh_zero = 0.258
k_zero = ((1-CA2019_K_Rate)**6)*((1-PdL2019_K_Rate)**6)
print("The probability that no Strikeouts are recorded in Innings 1-2 is (1-Archer K rate)^(# of Outs) * (1-Ponce K rate)^(# of Outs)")
print('')
print("k_zero = %s" % round(K_zero,3))
The probability that no Strikeouts are recorded in Innings 1-2 is (1-Archer K rate)^(# of Outs) * (1-Ponce K rate)^(# of Outs)
k_zero = 0.003
Solution
print("The probability that both an Extra Base Hit and a Strikeout occur is %s" % round((1-xbh_zero)*(1-k_zero),3))
The probability that both an Extra Base Hit and a Strikeout occur is 0.74
Posted on 7/17/2019