More Monty Hall

Better version

with pm.Model() as monty:

    p_monty=pm.ConstantData("p_monty",P_MONTY)
    lu=pm.ConstantData("lu",np.array([2,1,0]))
 
    prize = pm.Categorical("prize", np.ones(3)/3)
    door = pm.Categorical("door", np.ones(3)/3)
    monty=pm.Categorical("monty", p_monty[door,prize])
    
    switch=pm.Deterministic("switch",lu[door+monty-1])
    
    win_stay=pm.Deterministic("win_stay",pm.math.eq(prize,door))
    win_switch=pm.Deterministic("win_switch",pm.math.eq(prize,switch))

    idata=pm.sample(100000)
1 Like