Hi,
It is very hard to understand without a fully working code. For instance you say you want to fit parameters but in the model you posted
with pm.Model() as ModelOne:
R_modelo = modelo(Ro, Ml, tau, c,F_val)
R_imag_obs = pm.ExGaussian(‘R_imag_obs’, mu=R_modelo.imag, sigma=sigma ,nu=1, observed=data.imag)
R_real_obs = pm.ExGaussian(‘R_real_obs’, mu=R_modelo.real, sigma=sigma2,nu=1, observed=data.real)
there are not priors and so no parameters. What are sigma, Ro, Ml, tau, c, F_val? Are they parameters coming from priors or constants or both? The function you have posted also has some expressions that probably won’t work such as
base=(1j * 2np.piF * tau)
In any case, if you want to model a mixture for either or both of the imaginary and real parts of the observed, the way to go would be the mixture class in pymc which can take other distributions as argument:
https://www.pymc.io/projects/docs/en/stable/api/distributions/generated/pymc.Mixture.html
ps: Here is a guide on how to structure your question so people can help you more easily: