Why is my model DGP2 and not DGP3?
DGP2 is DGP3 but with no mixing term of 0.5 in sample_type==1
Maybe the best formulation of my question is: Could you please help me code the right model for DGP3, if the issue is that I am not coding it right.
Snippet:
n = pm.ConstantData("n",value=scores["N"],dims="observation")
mix_frac = pm.ConstantData("mix_frac",value=scores["fraction"],dims="observation")
p_type0 = pm.Uniform("p_type0")
p_type1 = pm.Uniform("p_type1")
observed = scores["observed_counts"]
dims = "observation"
component_t0 = pm.Binomial.dist(
n = n,
p = p_type0,
)
component_t1 = pm.Binomial.dist(
n = n,
p = p_type1,
)
observed_counts = pm.Mixture(
"counts",
w = pt.stack([1-mix_frac,mix_frac],axis=1),
comp_dists = [
component_t0,
component_t1
],
observed = observed,
)
idata = pm.sample()