I have a bunch of test measurements data and a semi-empirical model that has 18 parameters which I have to find so that the model fits my data well. So far I've managed to find and optimise the parameters using Optimisation and Global Optimisation algorithms in MATLAB.

Now I would like to explore different approaches for the parameter estimation. I have read some papers where the approach with NNs is described. I am new to NNs and have no idea if this is even possible.

I would create a two layer network with 18 input and output neurons. I am not sure what kind of transfer function would be appropriate for the problem.

The formula I have to fit and find the parameters look like this:

$ y = D \sin(C \arctan(Bx - E(Bx - \arctan(Bx))))$

where $B, C, D, E$ are macro-coefficients and the micro-coefficients are used to express the variation of each of the primary coefficients with respect to some other data. enter image description here

This is how my data looks like. How would you create network in MATLAB for this problem? Can you give me some hints and a push in the right direction to tackle this problem?

Thanks in advance.


1 Answer 1


If you were fitting a large number of different models, and you had sequences of training data for each different model (with the params already known in those cases), then you might be able to use a recursive neural network (RNN) to provide param estimates for new data sequences. However, that does not seem to be your situation.

As I understand your question, you have a mathematical model with some free parameters, and one set of data that you would like to use to estimate those parameters.

A neural network is not really of any use to you here. That is because the neural network would replace your semi-empirical model with the NN, and the free parameters become the weights of the NN. The trained NN would not match your desired model, but would generically fit to the data. It could be used to predict more function outputs given the inputs - the NN might even do better than your preferred model, which would be an interesting result implying that your model is incomplete.

Often we don't know (or perhaps even care) about an underlying parsimonious model. In this case, ML techniques that fit params of a generic model to data using some objective function like squared error can be very useful tools. However, when we do have a good idea about a simple or explanatory model, those same techniques are less useful, and instead we can use optimisers direct on the model - in some cases these could be the same optimisers used to train neural networks, provided the model is differentiable.

  • $\begingroup$ The model I am working on is the Pacejka Tyre Mode and some of the parameters have a physical significance as the parameters can be used as indicators of tyre force and moment characteristics and used in the tyre design and development process. The NNs fitted my data more precisely then the model. Thus I thought I can somehow force my model in the NNs and find the parameters. I have a few different tyres and on the one I did a few test (e.g. different loads) and thus have 5 different data sets. I can do more tests and gather more data, would it be then possible to use the NNs? $\endgroup$
    – Lior
    May 12, 2016 at 7:51
  • $\begingroup$ @Lior: I'm not really sure, but I don't think so. Would the 5 different data sets correspond to 5 different solutions for your tyre model parameters, or is the model already designed to cover the variation between the different loads/tyres, and together point to a better single solution? How are you measuring fit for the NNs? You need to take active measures to prevent over-fitting with the NNs (regularisation, using cross-validation) that you probably don't need to take with the semi-empirical model. $\endgroup$ May 12, 2016 at 8:33
  • $\begingroup$ The model covers the variation between the different loads. I am using MSE as a measure of how much my predictions are far away from the real data. $\endgroup$
    – Lior
    May 12, 2016 at 11:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.