Shifting exponential for pymc.Mixture

I am new to pymc and am attempting to use the pymc.Mixture with a normal and an exponential distribution.
Currently, this is my model:

dat = observed_data
w = pm.Dirichlet(‘w’, a=np.array([1, 1]))
lambda_ = pm.Uniform(‘lambda’, lower = 1, upper = 3)
shift = pm.Normal(‘shift’, mu=np.mean(dat), sigma = np.std(dat))
expo = pm.Exponential.dist(lam=lambda_)

mu1 = pm.Normal(“mu1”, mu=np.mean(dat), sigma=np.std(dat))
sig1 = pm.HalfNormal(‘sig1’, sigma=np.std(dat))
gaussian = pm.Normal.dist(mu=mu1, sigma=sig1)

like_gaus_shiftedex = pm.Mixture(name=‘Gaus_ShiftedEx’,
w=w,
comp_dists=[gaussian, expo],
observed=dat)
My question is, how can i apply the “shift” to the exponential as in my data it does not begin at zero on the axis while still being able to solve for the amount of “shift” that fits the model best.
Any help would be appreciated!

With pymc.CustomDist — PyMC 5.15.0 documentation

The third code example shows exactly how to define a shifted Exponential distribution

2 Likes