Parameter estimation for simulation data fit to experiment data

Hello,

Here is a problem I’ve been trying to solve using pymc

I have a set of experiment results (observations): \{x_i, y_i \}

I have a non-analytical model to find an estimate for y_i … call it \hat{y}_i: \{x_i, \hat{y}_i = f(x_i, \vec{\theta)}\}

This set of data does not represent a distribution, but rather something like a current vs voltage.

I want to find best fit parameters \vec{\theta}_{best} with a posterior spread on each parameter.

There are many options I’ve considered like creating a log likelihood such as L = -.5 \sum(\frac{y_i - \hat{y}_i}{\sigma_i})^2 but I am not sure how to implement this since its not a distribution but rather a single value for the log likelihood.

I have also attempted the ABC method using the simulator distribution along with smc sampler however since y_i is not a distribution this has some odd behaviors. For context y_i has a inverse sigmoid shape.

I think if data is normally distributed I can do y_i

y = pm.Normal(‘y’, mu=model(…), tau=1/\sigma^2, observed=y_i)

but I am not sure if my data is normally distributed. I am looking for direction on how to solve this problem properly. I like the idea of using likelihood free solution but is ABC rejection solution effective when your data isn’t a distribution?