Closed gireesh-fractal closed 1 year ago
with pm.model(coords = COORDS) as bowling_outcomes_model_by_ball_first_innings: batter_id_by_ball_and_innings_data = pm.MutableData('batter_id_by_ball_and_innings_data',match_state_by_ball_and_innings_df['batter_id'].values) bowling_outcomes_by_ball_and_innings_data = pm.MutableData('bowling_outcomes_by_ball_and_innings_data',bowling_outcomes_by_ball_and_innings_df['bowling_outcome_index'].values) alpha_bowling_outcome = pm.Normal('alfa', mu=0, sd=1, shape=bowling_outcomes_index.shape[0]) beta_for_batter_id_and_bowling_outcome = pm.Normal('beta_for_batter_id_and_bolwing_outcome', mu=0, sd=1, shape=(batter_id_index.shape[0],bowling_outcomes_index.shape[0])) mu_bowling_outcome = pm.Deterministic('mu_bowling_outcome',at.dot(batter_id_by_ball_and_innings_data['batter_id'],beta_for_batter_id_and_bowling_outcome) + alpha_bowling_outcome) probability_of_bowling_outcome = pm.Deterministic('probability_of_bowling_outcome',at.nnet.softmax(mu_bowling_outcome)) bowling_outcomes_by_ball_and_innings_rv = pm.Categorical('bowling_outcomes_by_ball_and_innings_rv', p = probability_of_bowling_outcome, observed = bowling_outcomes_by_ball_and_innings_data)