Yes, that’s what I thought, too. Initializing with 10 and -10 makes it clearer however, that passing a list of dictionaries works as expected. This will help me. Thank you @ricardoV94 and @cluhmann .
import pymc as pm
import numpy as np
import arviz as az
X = np.random.normal(1,2)
with pm.Model() as model:
mu = pm.Normal("mu",mu=0,sigma=1)
sigma = pm.Uniform("sigma",lower=0.1,upper=3)
obs = pm.Normal("obs",mu=mu,sigma=sigma,observed=X)
init_vals_ch1 = [{"mu":-10,"sigma":1},{"mu":10,"sigma":1}]
with model:
trace = pm.sample(init="adapt_diag",initvals=init_vals_ch1, discard_tuned_samples=False, chains=2)
import arviz as az
az.plot_trace(trace.warmup_posterior,coords={"draw":range(10)}, legend=True)
