Wyndham Championship - 2nd Rd: Will J. Spieth record CONSECUTIVE BIRDIES at ANY POINT during the Back 9? (Holes 10-18)
** 8:00AM**
Yes: Spieth consecutive birdies during back 9
No: Spieth no consecutive birdies during back 9
Inputs Needed to Solve
Sedgefield Country Club Course Stats
##### User Estimates #####
p_bird_10 = float(26)/(28+110+17)
p_bird_11 = float(14)/(28+110+17)
p_bird_12 = float(26)/(28+110+17)
p_bird_13 = float(38)/(28+110+17)
p_bird_14 = float(27)/(28+110+17)
p_bird_15 = float(92)/(28+110+17)
p_bird_16 = float(29)/(28+110+17)
p_bird_17 = float(29)/(28+110+17)
p_bird_18 = float(23)/(28+110+17)
print("The probability of a PLAYER scoring BIRDIE on hole 10 is ~%s" % round(p_bird_10,3))
print("The probability of a PLAYER scoring BIRDIE on hole 11 is ~%s" % round(p_bird_11,3))
print("The probability of a PLAYER scoring BIRDIE on hole 12 is ~%s" % round(p_bird_12,3))
print("The probability of a PLAYER scoring BIRDIE on hole 13 is ~%s" % round(p_bird_13,3))
print("The probability of a PLAYER scoring BIRDIE on hole 14 is ~%s" % round(p_bird_14,3))
print("The probability of a PLAYER scoring BIRDIE on hole 15 is ~%s" % round(p_bird_15,3))
print("The probability of a PLAYER scoring BIRDIE on hole 16 is ~%s" % round(p_bird_16,3))
print("The probability of a PLAYER scoring BIRDIE on hole 17 is ~%s" % round(p_bird_17,3))
print("The probability of a PLAYER scoring BIRDIE on hole 18 is ~%s" % round(p_bird_18,3))
The probability of a PLAYER scoring BIRDIE on hole 10 is ~0.168
The probability of a PLAYER scoring BIRDIE on hole 11 is ~0.09
The probability of a PLAYER scoring BIRDIE on hole 12 is ~0.168
The probability of a PLAYER scoring BIRDIE on hole 13 is ~0.245
The probability of a PLAYER scoring BIRDIE on hole 14 is ~0.174
The probability of a PLAYER scoring BIRDIE on hole 15 is ~0.594
The probability of a PLAYER scoring BIRDIE on hole 16 is ~0.187
The probability of a PLAYER scoring BIRDIE on hole 17 is ~0.187
The probability of a PLAYER scoring BIRDIE on hole 18 is ~0.148
## Inputs Defined in the Problem
consec_birds = 'BB'
Method to Solve
- Enumerate all the possible combinations of BIRDIES (‘B’) or NO BIRDIE (‘N’) on the back 9 holes (2^9 outcomes) and their probabilities
- Sum all the probabilities of the outcomes that have at least one instance of consecutive birdies
import numpy as np
import pandas as pd
# Hole 10
p_no_10 = 1 - p_bird_10
prob_10 = (p_bird_10,p_no_10)
# Hole 11
p_no_11 = 1 - p_bird_11
prob_11 = (p_bird_11,p_no_11)
# Hole 12
p_no_12 = 1 - p_bird_12
prob_12 = (p_bird_12,p_no_12)
# Hole 13
p_no_13 = 1 - p_bird_13
prob_13 = (p_bird_13,p_no_13)
# Hole 14
p_no_14 = 1 - p_bird_14
prob_14 = (p_bird_14,p_no_14)
# Hole 15
p_no_15 = 1 - p_bird_15
prob_15 = (p_bird_15,p_no_15)
# Hole 16
p_no_16 = 1 - p_bird_16
prob_16 = (p_bird_16,p_no_16)
# Hole 17
p_no_17 = 1 - p_bird_17
prob_17 = (p_bird_17,p_no_17)
# Hole 18
p_no_18 = 1 - p_bird_18
prob_18 = (p_bird_18,p_no_18)
bird = ('B','N')
y = np.array([(q,r,s,t,u,v,w,x,z) for q in bird for r in bird for s in bird for t in bird for u in bird for v in bird
for w in bird for x in bird for z in bird])
birdies = pd.DataFrame(y)
birdies['outcome'] = birdies[0]+birdies[1]+birdies[2]+birdies[3]+birdies[4]+birdies[5]+birdies[6]+birdies[7]+birdies[8]
birdies['b2b'] = birdies['outcome'].str.contains('BB')
birdies.head()
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | outcome | b2b | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | B | B | B | B | B | B | B | B | B | BBBBBBBBB | True |
1 | B | B | B | B | B | B | B | B | N | BBBBBBBBN | True |
2 | B | B | B | B | B | B | B | N | B | BBBBBBBNB | True |
3 | B | B | B | B | B | B | B | N | N | BBBBBBBNN | True |
4 | B | B | B | B | B | B | N | B | B | BBBBBBNBB | True |
x = np.array([(q,r,s,t,u,v,w,y,z) for q in prob_10 for r in prob_11 for s in prob_12 for t in prob_13
for u in prob_14 for v in prob_15 for w in prob_16 for y in prob_17 for z in prob_18])
probability = pd.DataFrame(x)
probability['p'] = probability.product(axis=1)
probability.head()
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | p | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0.167742 | 0.090323 | 0.167742 | 0.245161 | 0.174194 | 0.593548 | 0.187097 | 0.187097 | 0.148387 | 3.346174e-07 |
1 | 0.167742 | 0.090323 | 0.167742 | 0.245161 | 0.174194 | 0.593548 | 0.187097 | 0.187097 | 0.851613 | 1.920413e-06 |
2 | 0.167742 | 0.090323 | 0.167742 | 0.245161 | 0.174194 | 0.593548 | 0.187097 | 0.812903 | 0.148387 | 1.453855e-06 |
3 | 0.167742 | 0.090323 | 0.167742 | 0.245161 | 0.174194 | 0.593548 | 0.187097 | 0.812903 | 0.851613 | 8.343862e-06 |
4 | 0.167742 | 0.090323 | 0.167742 | 0.245161 | 0.174194 | 0.593548 | 0.812903 | 0.187097 | 0.148387 | 1.453855e-06 |
p_consecutive_birdies = probability['p'][birdies['b2b']==True].sum()
Solution
print("The probability that J. Spieth will record CONSECUTIVE BIRDIES at ANY POINT during the Back 9 is ~%s" % round(p_consecutive_birdies,3))
The probability that J. Spieth will record CONSECUTIVE BIRDIES at ANY POINT during the Back 9 is ~0.293
Posted on 8/2/2019