For some context: I have some experimental data that I collected, and an equation that’s supposed to fit that data. So what I need to do is get the parameters for that equation. That’s why I’m trying to use PYMC.

This is my model in a simple way:

def modelo(Ro, Ml, tau, c,F):
base=(1j * 2np.piF * tau)
aux = Ml * (1 - 1 / (1 + np.power(base,c)))
R = Ro / (1 + aux)
return R

The thing is, my data has kind of two peaks, so I’m having bad results with that likelihood. I was reading about the mixture models, but I don’t need to infer the peak and the sd, I need to get the parameters for the equation. So is there a way I could use mixture models for the parameters of my equation?

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: