Sample posterior predictive with censored data

Posterior predictive can be done a new model. The only thing that matters is that the variables names and shapes match. In the case of censoring you can recreate the original model without the censoring (I assume that’s what you needed?) to perform posterior predictive:

import pymc as pm

data = [0.1, 0.2, 1, 1, 1, 0.3]
with pm.Model() as m:
    x = pm.Normal("x")
    raw_y = pm.Normal.dist(x, shape=(len(data),))
    y = pm.Censored("y", dist=raw_y, lower=None, upper=1, observed=data)
    posterior = pm.sample()
    
with pm.Model() as pred_m:
    x = pm.Normal("x")
    raw_y = pm.Normal("raw_y", x, shape=(len(data),))
    pp = pm.sample_posterior_predictive(posterior, var_names=["raw_y"])
    
pp.posterior_predictive.raw_y