Home Archives Search Feed Football Squares How To Use


PGA The Northern Trust - 1st Rd (Jersey City, NJ): Which side will record a LOWER SCORE? (See Status Alert)


7:43 AM
Jon Rahm (ESP): Holes 10-16 or Tie
Scott Piercy + Tiger Woods: Holes 10-12


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}

Method to Solve

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
 
y = np.array([(t,u,v,w,x,z,a) 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()])
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) 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()])
probability = pd.DataFrame(z)
probability['p'] = probability.product(axis=1)

Rahm_score_dist = {}
for s in set(scores['total_strokes']):
    Rahm_score_dist[s] = probability['p'][scores['total_strokes']==s].sum()
## [2]

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
    
y = np.array([(t,u,v,w,x,z) for t in hole_10.keys() for u in hole_11.keys()for v in hole_12.keys() for w in hole_10.keys()for x in hole_11.keys() for z in hole_12.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) for t in hole_10.values() for u in hole_11.values()for v in hole_12.values() for w in hole_10.values()for x in hole_11.values() for z in hole_12.values()])
probability = pd.DataFrame(z)
probability['p'] = probability.product(axis=1)

piercy_woods_score_dist = {}
for s in set(scores['total_strokes']):
    piercy_woods_score_dist[s] = probability['p'][scores['total_strokes']==s].sum()
## [3]

t=sum(Rahm_score_dist.values())
for i in Rahm_score_dist:
    Rahm_score_dist[i] = Rahm_score_dist[i]/t
    
t=sum(piercy_woods_score_dist.values())
for i in piercy_woods_score_dist:
    piercy_woods_score_dist[i] = piercy_woods_score_dist[i]/t
    
y = np.array([(x,z) for x in Rahm_score_dist.keys() for z in piercy_woods_score_dist.keys()])
y = y.astype(int)
scores = pd.DataFrame(y)
scores['rahm_lower'] = scores[0]<=scores[1]

z = np.array([(w,x) for w in Rahm_score_dist.values()for x in piercy_woods_score_dist.values()])
probability = pd.DataFrame(z)
probability['p'] = probability.product(axis=1)
## [4]

p_rahm = probability['p'][scores['rahm_lower']==True].sum()

Solution

print("The probability that J Rahm's combined score on holes 10-16 is less than or tied is ~%s" % round(p_rahm,3))

    The probability that J Rahm’s combined score on holes 10-16 is less than or tied is ~0.025

Posted on 8/8/2019






← Next post    ·    Previous post →