PGA The Northern Trust - 2nd Rd: Which GROUP will record a LOWER COMBINED SCORE on the BACK 9? (Holes 10-18)
7:54PM
Justin Rose + Marc Leishman + Rickie Fowler or Tie
Justin Thomas + Bryson DeChambeau + Tommy Fleetwood
Inputs To Solve
Liberty National Golf Club Course Stats (2018)
##### User Estimates #####
hole_10 = {'3':45,
'4':254,
'5':89,
'6':7,
'7':2}
hole_11 = {'2':59,
'3':269,
'4':63,
'5':6}
hole_12 = {'2':5,
'3':155,
'4':199,
'5':37,
'5':1}
hole_13 = {'3':1,
'4':116,
'5':259,
'6':21}
hole_14 = {'3':86,
'4':254,
'5':56,
'6':1}
hole_15 = {'2':109,
'3':264,
'4':22,
'5':2}
hole_16 = {'3':76,
'4':283,
'5':34,
'6':3,
'7':1}
hole_17 = {'3':4,
'4':162,
'5':198,
'6':28,
'7':4,
'8':1}
hole_18 = {'3':50,
'4':259,
'5':82,
'6':4,
'7':2}
## Inputs Defined in the Problem
strokes = 10
golfers = ['1','2','3']
Method to Solve
- [1] Enumerate all the possible combinations of observed scores and their respective probabilities on for 3 golfers on 9 holes.
- [2] Compute the probability that group 1 and group 2 tie (p_tie)
- [3] The probability that Justin Thomas + Bryson DeChambeau + Tommy Fleetwood (p_group2) score is lower is (1 - p_tie) /2
import numpy as np
import pandas as pd
## [1]
t=sum(hole_10.values())
for i in hole_10:
hole_10[i] = hole_10[i]/t
t=sum(hole_11.values())
for i in hole_11:
hole_11[i] = hole_11[i]/t
t=sum(hole_12.values())
for i in hole_12:
hole_12[i] = hole_12[i]/t
t=sum(hole_13.values())
for i in hole_13:
hole_13[i] = hole_13[i]/t
t=sum(hole_14.values())
for i in hole_14:
hole_14[i] = hole_14[i]/t
t=sum(hole_15.values())
for i in hole_15:
hole_15[i] = hole_15[i]/t
t=sum(hole_16.values())
for i in hole_16:
hole_16[i] = hole_16[i]/t
t=sum(hole_17.values())
for i in hole_17:
hole_17[i] = hole_17[i]/t
t=sum(hole_18.values())
for i in hole_18:
hole_18[i] = hole_18[i]/t
y = np.array([(t,u,v,w,x,z,a,b,c) for t in hole_10.keys() for u in hole_11.keys() for v in hole_12.keys()
for w in hole_13.keys() for x in hole_14.keys() for z in hole_15.keys() for a in hole_16.keys()
for b in hole_17.keys() for c in hole_18.keys()])
y = y.astype(int)
scores = pd.DataFrame(y)
scores['total_strokes'] = scores.sum(axis=1)
z = np.array([(t,u,v,w,x,z,a,b,c) for t in hole_10.values() for u in hole_11.values() for v in hole_12.values()
for w in hole_13.values() for x in hole_14.values() for z in hole_15.values() for a in hole_16.values()
for b in hole_17.values() for c in hole_18.values()])
probability = pd.DataFrame(z)
probability['p'] = probability.product(axis=1)
group_of_three = {}
for s in set(scores['total_strokes']):
group_of_three[s] = probability['p'][scores['total_strokes']==s].sum()
## [2]
p_tie = 0
for i in group_of_three:
p_tie += group_of_three[i]*group_of_three[i]
print("The probability that group 1 and group 2 tie on holes 10-18 is %s" % round(p_tie,3))
The probability that group 1 and group 2 tie on holes 10-18 is 0.158
## [3]
p_group2 = (1 - p_tie) / 2
Solution
print("The probability Justin Thomas + Bryson DeChambeau + Tommy Fleetwood's score is lower is ~%s" % round(p_group2,3))
The probability Justin Thomas + Bryson DeChambeau + Tommy Fleetwood’s score is lower is ~0.421
Posted on 8/9/2019