I am quite new to Bayesian analysis, and I am trying to find out how to compare a model to a null one. I currently have pymc3 3.11.2 installed.
I have on linear model where the intercept is different across 4 conditions, and one where it just models the mean
condition_indx, conditions = pd.factorize(data.state) with pm.Model() as model: a = pm.Normal("a",0,.5,shape=len(conditions)) condition_id = pm.intX(pm.Data("condition_id",condition_indx)) mu = pm.Deterministic("mu",a[condition_id]) sigma = pm.Exponential("sigma",1) obs = pm.Normal("obs",mu,sigma,observed=data.value)
with pm.Model() as null: a = pm.Normal("a",0,3) sigma = pm.Exponential("sigma",1) obs = pm.Normal("obs",a,sigma,observed=data.value) null_trace = pm.sample(nSample,tune=nTune,return_inferencedata=False,chains=nChains)
Is there to extract Bayes Factor from these two ? Thank you