System identification

The field of system identification uses statistical methods to build mathematical models of dynamical systems from measured data. System identification also includes the optimal design of experiments for efficiently generating informative data for fitting such models as well as model reduction. A common approach is to start from measurements of the behavior of the system and the external influences (inputs to the system) and try to determine a mathematical relation between them without going into many details of what is actually happening inside the system; this approach is called black box system identification.
Overview.
A dynamical mathematical model in this context is a mathematical description of the dynamic behavior of a system or process in either the time or frequency domain. Examples include:
One of the many possible applications of system identification is in control systems. For example, it is the basis for modern data-driven control systems, in which concepts of system identification are integrated into the controller design, and lay the foundations for formal controller optimality proofs.
Input-output vs output-only.
System identification techniques can utilize both input and output data (e.g. eigensystem realization algorithm) or can include only the output data (e.g. frequency domain decomposition). Typically an input-output technique would be more accurate, but the input data is not always available.
Optimal design of experiments.
The quality of system identification depends on the quality of the inputs, which are under the control of the systems engineer. Therefore, systems engineers have long used the principles of the design of experiments. In recent decades, engineers have increasingly used the theory of optimal experimental design to specify inputs that yield maximally precise estimators.
White- and black-box.
One could build a so-called white-box model based on first principles, e.g. a model for a physical process from the Newton equations, but in many cases such models will be overly complex and possibly even impossible to obtain in reasonable time due to the complex nature of many systems and processes.
A much more common approach is therefore to start from measurements of the behavior of the system and the external influences (inputs to the system) and try to determine a mathematical relation between them without going into the details of what is actually happening inside the system. This approach is called system identification. Two types of models are common in the field of system identification:
In the context of nonlinear system identification Jin et al. describe greybox modeling by assuming a model structure a priori and then estimating the model parameters. Parameter estimation is relatively easy if the model form is known but this is rarely the case. Alternatively the structure or model terms for both linear and highly complex nonlinear models can be identified using NARMAX methods. This approach is completely flexible and can be used with grey box models where the algorithms are primed with the known terms, or with completely black box models where the model terms are selected as part of the identification procedure. Another advantage of this approach is that the algorithms will just select linear terms if the system under study is linear, and nonlinear terms if the system is nonlinear, which allows a great deal of flexibility in the identification.
Identification for control.
In control systems applications, the objective of engineers is to obtain a good performance of the closed-loop system, which is the one comprising the physical system, the feedback loop and the controller. This performance is typically achieved by designing the control law relying on a model of the system, which needs to be identified starting from experimental data. If the model identification procedure is aimed at control purposes, what really matters is not to obtain the best possible model that fits the data, as in the classical system identification approach, but to obtain a model satisfying enough for the closed-loop performance. This more recent approach is called identification for control, or I4C in short.
The idea behind I4C can be better understood by considering the following simple example. Consider a system with "true" transfer function formula_1:
and an identified model formula_3:
From a classical system identification perspective, formula_3 is "not", in general, a "good" model for formula_1. In fact, modulus and phase of formula_3 are different from those of formula_1 at low frequency. What is more, while formula_1 is an asymptotically stable system, formula_3 is a simply stable system. However, formula_3 may still be a model good enough for control purposes. In fact, if one wants to apply a purely proportional negative feedback controller with high gain formula_12, the closed-loop transfer function from the reference to the output is, for formula_1
and for formula_3
Since formula_12 is very large, one has that formula_18. Thus, the two closed-loop transfer functions are indistinguishable. In conclusion, formula_3 is a "perfectly acceptable" identified model for the "true" system if such feedback control law has to be applied. Whether or not a model is "appropriate" for control design depends not only on the plant/model mismatch, but also on the controller that will be implemented. As such, in the I4C framework, given a control performance objective, the control engineer has to design the identification phase in such a way that the performance achieved by the model-based controller on the "true" system is as high as possible.
Sometimes, it is even convenient to design a controller without explicitly identifying a model of the system, but directly working on experimental data. This is the case of "direct" data-driven control systems.
Forward model.
A common understanding in Artificial Intelligence is that the controller has to generate the next move for a robot. For example, the robot starts in the maze and then the robots decides to move forward. Model predictive control determines the next action indirectly. The term “model” is referencing to a forward model which doesn't provide the correct action but simulates a scenario. A forward model is equal to a physics engine used in game programming. The model takes an input and calculates the future state of the system.
The reason why dedicated forward models are constructed, is because it allows to divide the overall control process. The first question is, how to predict future states of the system. That means, to simulate a plant over a timespan for different input values. And the second task is, to search for a sequence of input values which brings the plant into a goal state. This is called predictive control.
The forward model is the most important aspect of a MPC-controller. It has to be created before the solver can be realized. If it's unclear, what the behavior of a system is, it's not possible to search for meaningful actions. The workflow for creating a forward model is called system identification. The idea is, to formalize a system in a set of equations which will behave like the original system. The error between the real system and the forward model can be measured.
There are many techniques available to create a forward model: ordinary differential equations is the classical one which is used in physics engines like Box2d. A more recent technique is a neural network for creating the forward model.