Hi all,
Relatively new to Pymc3 and i’m struggling to grok how I would build out what is likely a very simple model.
Lets say I have a dataframe similar to the following:
ent1 | ent2 | ent3 | ent4 |
---|---|---|---|
65 | 72 | 63 | 67 |
67 | 71 | 64 | 62 |
72 | 63 | NaN | 68 |
71 | NaN | NaN | 70 |
I am wanting to do some fairly simple inference to get the posterior normal distribution for each entity, preferably to have each entity plotted seperately against the same x axis to show the uncertainty. Below is the model I have thus far (Don’t laugh, I know it’s crap!).
with pm.Model() as testmodel:
mu_a = pm.Normal('mu_a', mu=0, sigma=5)
sd_a = pm.HalfNormal('sd_a', sigma=1)
mean = pm.Normal('mean', mu=mu_a, sd=sd_a, shape=len(newdf.columns))
stdev = pm.HalfNormal('stdev', sigma=sd_a, shape=len(newdf.columns))
obs = pm.Normal("obs", mu=mean, sigma=stdev, observed=newdf) # observations here.
trace = pm.sample(draws=1000, tune=1000, return_inferencedata=True)
az.plot_trace(trace)
Any help would be appreciated, even just some guidance so I can start asking the right questions, as i’m not even sure how to properly google what it is I want to do.