Here is the code:
def S2_0_Bayesian_Interface(data):
########################################################################################################################
with pm.Model() as model_0:
# Prior Distributions for unknown model parameters:
b_0 = pm.HalfNormal('b_0', sd=5)
mu_0 = pm.Normal('mu_0', mu=0, sd=5)
# Observed data is from a Likelihood distributions (Likelihood (sampling distribution) of observations):
observed_data_0 = Laplace('observed_data_0', mu=mu_0, b=b_0, observed=data)
# Printing the result of log_likelihood:
# print('log_likelihood result:', model_0)
# draw 5000 posterior samples
trace_0 = pm.sample(draws=1000, tune=1000, chains=3, cores=1, progressbar=True)
# Obtaining Posterior Predictive Sampling:
post_pred_0 = pm.sample_posterior_predictive(trace_0, samples=1000)
print(post_pred_0['observed_data_0'].shape)
print('\nSummary: ')
print(pm.stats.summary(data=trace_0))
print(pm.stats.summary(data=post_pred_0))
########################################################################################################################
return trace_0, post_pred_0
but when I ran the code, it says that it does not have observed parameter