To be sure, you did:
with pm.Model() as bayesian_model:
# Defining Log complementary cdf of Weibull distribution
def weibull_lccdf(x, beta, eta):
return -(x / eta) ** beta
# Priors for unknown model parameters
beta = pm.Gamma("beta", mu=3, sigma=vague_prior_sd) # alpha=0.001, beta=0.001)
eta = pm.Normal("eta", 0, vague_prior_sd, shape=X_predictors.shape[1])
reg = X_predictors_.dot(eta)
# Expected value of lambda parameter
lambda_obs = pm.Deterministic("lambda_obs", tt.exp(reg[~cens_]))
lambda_cens = pm.Deterministic("lambda_cens", tt.exp(reg[cens_]))
# Likelihood (sampling distribution) of observations
y_obs = pm.Weibull("y_obs", alpha=beta, beta=lambda_obs, observed=y[~cens])
y_cens = pm.Potential("y_cens", weibull_lccdf(y[cens], beta, lambda_cens))
trace = pm.sample(target_accept=0.9, draws=draws, tune=tune, random_seed=123, return_inferencedata=True)
and it still didn’t work?