Bayesian multilevel model indexing problems

I have a data set where I am trying to hierarchically estimate the response distribution but running into indexing and array broadcast problems. It is a repeated measure design each participant does some number of trials in each condition and the parameters need to be multiplied by an additional variable before the likelihood is estimated.
I am new to pymc3 and bayesian modeling in general. Any help will be appreciated!!
What I tried is as follows:

sub_cond = np.concatenate((sub_idx,cond_idx),axis=1)
with pm.Model() as hierarchical_model:
    # Hyperpriors 
    mu_a = pm.Normal('mu_a', mu=0., sigma=100,shape=n_cond)
    sigma_a = pm.HalfNormal('sigma_a', 5.)
    mu_b = pm.Normal('mu_b', mu=0., sigma=100,shape=n_cond)
    sigma_b = pm.HalfNormal('sigma_b', 5.)

    # mean for each subject, distributed around group mean mu_a
    a = pm.Normal('a', mu=mu_a, sigma=sigma_a, shape=[n_sub,n_cond])
    # beta for each each subject, distributed around group mean mu_b
    b = pm.Normal('b', mu=mu_b, sigma=sigma_b, shape=[n_sub,n_cond])
    transformed_a = a[sub_cond]*loc_idx
    transformed_b = b[sub_cond]*loc_idx
    # Data likelihood with sigma without random error
    y = pm.TruncatedNormal( 'y',mu=transformed_a, sigma=transformed_b,observed=data)
    hierarchical_trace = pm.sample(2000, tune=2000, target_accept=.9)
    after_trace_burned = hierarchical_trace[500:]
1 Like

Hi, I don’t fully understand what you want to achieve or which error you are currently encountering, but I would recommend reading through Multi-Multilevel Modeling