3

I would like to ask for suggestions regarding system identification with known model structure, but without known parameters.

The model is a model of a physical system, it can be assumed that it is stable, non-linear and dynamic. The input/output data are available with and without noise.

While the model structure is known, the values of the parameters are unknown. The models have up to 10 parameters (just to give you a hint about dimensionality).


Options I am aware of to solve these problems:

  1. quasi-random search algorithms (Particle Swarm, Genetic Algorithm, ...)
  2. gradient based methods (backpropagation through time, forward perturbation, ...)

QUESTION:

What other techniques are there to solve this kind of problems ?

Martin G
  • 319
  • 1
  • 10
  • Under identifying I would understand that you look at the data and then e.g. get an idea this is a solution of the nonlinear Foo-Bar equation. As you write "with known model structure" I assume you have this part tackled and are now trying to squeeze the $42$ parameters which show up in the Foo-Bar equation out of your data? – mvw Aug 09 '18 at 10:07
  • @mvw Yes, the parameters have physical meaning. Also I am not working with hyper-parametrized model. Therefore I need to "tune" relatively low number of parameters to match my measured data. – Martin G Aug 09 '18 at 10:25
  • I have used Evolutionary Strategies (ES-CMA) in problems of parametric identification in differential equations, with notable success. – Cesareo Aug 09 '18 at 10:35
  • @Cesareo Thank you, in my understanding, "evolutionary strategies" are the quasi-random search algorithms. From my experience they are very computational power hungry, which makes them not suitable for low-power embedded devices. Maybe I can clarify, the EA itself is simple, it is the evaluation of individual/particles/genes that requires a lot of computational power (e.g. simulation of nonlinear system, etc) – Martin G Aug 11 '18 at 11:45
  • @MartinG Why do not we do a test? I use a completely normal personal computer in my calculations. Propose an example and we will try to solve it using various techniques. – Cesareo Aug 11 '18 at 12:17
  • @Cesareo I am working with dynamic model of a PV cell. The task is to identify 6 parameters, irradiation current Iph, diode current I0, thermal voltage vT, series and shunt resistance Rsh, Rs and capacitance Csh. I have 3 periods of dynamic data, currently using PSO or GA to match the model with the data. The purpose is to run the (any) algorithm with very limited resources (arduino level). EA takes dozens of minutes to solve this. Therefore I am looking into BPTT, which would solve it continuously. But the posted question is general, what optimization techniques are there for dynamic systems. – Martin G Aug 11 '18 at 13:22
  • @MartinG Edit the question, attaching the set of dynamic equations and the data so we can play with them! ES-CMA are fine doing that. – Cesareo Aug 11 '18 at 13:32
  • Have a look at Mataveid on GitHub for nonlinear system identification with real data. – euraad Jul 09 '20 at 14:30

1 Answers1

1

Edit: Just realized the question is already quite old... sorry for digging it out. From the comments I understand, that the original post refers to optimization algorithms, that are (well) suited for system identification problems.

I have made (very) good experience with gradient based methods. For my estimation problems particle swarm didn't really improve the estimation results.

Note that (from my point of view) system identification is much more than solving an optimiation problem. If the optimization is difficult of fails, I'd rather review the available data (and eventually the model structure). It's especially important, that the entire dynamics of interest are excited. Loosely speaking, this boils down to maximising the Fisher information matrix of the parameter estimates.