Choose a tool for curve fitting out of all available

Hello!

I’m relatively new to Julia. This year I saw the JuliaCon and I’m trying to use it for my Master Thesis. I need to fit data from a simulation to a Foster series but I can’t really choose the best tool available in Julia to do so.

In the one hand, I have thought of training a neural network with ‘artificial data’ (generated by me) so that when I fed it with the data from the simulation it could extract the coefficients and constants of the series that fit the curve.

On the other hand, maybe traditional approaches like non-linear least squares could do the trick. However, the curve is rather sensitive because of the poles.

Another issue is that I don’t exactly know the number of terms used in the series. Maybe poles at zero or infinity are not present, and it is just LC resonators, or maybe just one LC resonator can fit it nicely.

Which would be the best way to start with?

Thanks!

You could use weights in the objective function to influence these things.

I would help to decide on the methodology first before implementing it in Julia. While you can get general numerical/computational advice here, your field may have a preferred method. It would be best to talk to your thesis advisor first, focus on something concrete, and then ask how to implement that in Julia.

3 Likes

Part of my master thesis involved fittings of complex impedance data (which is in principle what you want to archive). That times I used a implementation of motofit , which worked pretty well. It is a sort of differential evolution / genetic optimization method which has to my knowledge no Julia implementation so far, but the BlackBoxOptim.jl package provides comparable optimization strategies.