# System identification algorithms and optimal system modeling

Student: Dave Scarth

Supervisor: J. Dwight Aplevich

## Background

The ongoing interaction between humans and dynamic systems of nature has prompted us to attempt to model and understand these systems for the sake of both efficiency and safety. This system modeling is especially valuable since modern technology has prompted more and more tasks to become automated. Unfortunately for the system modeler, however, all systems or quantities in the world exhibit noise or some element of randomness, even after we assume a complex behavior. The field of System Identification provides methods for accurate and effective system modeling and control, despite the world’s complex and noisy nature.

## Project description

This research-oriented project introduced me to the field of System Identification and its variety of modeling approaches. To become familiar with a certain case of modeling, i.e. for systems not under control, I implemented an identification algorithm and User Interface in Matlab. The UI allowed the user to control the linear structures of the system that would be tested for a best model fit. This project also incorporates the issues of pattern recognition by allowing for the observed data of the system to be completely unlabelled. That is, we are unable to distinguish input observations from those of outputs, and we are also unaware of the number of time instances for which observations were taken.

## Design methodology

What should our criteria be for choosing one model over another? Well, for each acceptable linear system structure or mathematical system function, System Identification calculates the best model. So, if we knew the exact mathematical formula, less the variable coefficients, for a system with data to be modeled, there would only be one choice. This is rarely the case, however, but this best model is arrived at through an iterative regression process of all the variable coefficients. That is, we strive to minimize the square of the error between the observed values and those calculated by the potential model. Since we rarely know the system structure of the system to be modeled, we usually have decisions to make. This is done by comparing the models for each possible structure in terms of both error and condition number. Condition number is a measure of the instability of a system. Since we seek an accurate system, but refuse to sacrifice its stability or robustness to no end, we are faced with an interesting trade-off, and this was experimented with. I did mention that System Identification deals with noise, and it does so by simultaneously trying to describe it along with the other system variables. To do so, this algorithm employs many complicated algebraic and mathematical properties. I will not get into these now, because this is supposed to be brief. Another reason for this is because I am by no means the master of it.