Model Reduction

Model Reduction all over the world innumerable processes occur daily to perform a task; these processes can range anywhere from synchronous line formation in ants looking for food to the firing of engines in a Boeing Airbus traveling to a certain destination. These processes are mostly non-linear in nature and to understand their working, researchers employ mathematical modeling approaches that can explain the dynamics behind the process while taking their non-linear nature into account. However, many of these non-linear mathematical models have a certain limitation when it comes to evaluation and subsequent analysis i.e., they are generally high dimensional.

Model reduction is a technique applied to overcome this limitation by approximating the dynamics of a full model through a low-dimensional model. Depending on the end goal, a linearized model can also be obtained to apply various techniques from optimal control and linear control theory to solve a certain problem.

Procedure:

Model reduction strategies can be broadly classified into two categories depending on whether the underlying mathematical model for the process is known or not. These
categories can be termed direct model reduction methods and data-driven model reduction methods respectively. This article focuses on a data-driven model
reduction strategy since mathematical models for various processes are
generally unknown. Although there are various data-driven model reduction
strategies present in literature, the following procedure concentrates on
Proper Orthogonal Decomposition (POD) as an example of a data-driven model
reduction and uses MATLAB.

Obtaining the data:

As an initial step, one
needs to extract a set of output measurements from the model at hand. For
proper orthogonal decomposition, these measurements are considered as snapshots
which are taken while considering both spatial (in space) and temporal (in
time) elements. Once all the measurements are obtained, they can be stacked
together to generate a snapshot matrix as follows:

Computing the covariance matrix:

The snapshot matrix
formed in the previous step can then be used to generate the covariance matrix.
The covariance matrix allows to measurement of the joint variability of any measurement
pair present in the snapshot matrix. In other words, it shows how important other
measurements are in causing any change in a single measurement. The covariance
matrix C is given by:

where p is the number of
time samples considered while taking measurements in the snapshot matrix and U
is the snapshot matrix. In MATLAB, this can be obtained by using the cov as follows:

Extract Eigenvalues and
Eigenvectors:

The next step is to
calculate the eigenvalues and the eigenvectors of the covariance matrix and
then order them in descending order i.e., starting from the largest value
to the smallest. The eigenvalues and the corresponding eigenvectors can be
computed in MATLAB by using the eig command which not only gives the
eigen values and eigen vectors but also orders them automatically.

Choosing the POD modes:

This step is the most
crucial one in determining how model reduction occurs. A common heuristic used
to choose the number of POD modes is to fix the threshold of the energy
stimulus i.e., how much information needs to be retained by the reduced order
model data. This is usually done by dividing the sum of the number of
eigenvalues considered by the sum of all the eigenvalues; the expression is
given by:

Once an appropriate
number of eigenvalues are found that are approximately close to the
information threshold fixed before, the corresponding eigenvectors are the
proper orthogonal modes and can be stacked together to form the POD matrix.

Obtaining the POD reduced
data:

The POD matrix obtained
above can be thought of as a transformation allowing the original data to be
represented in a low-dimensional basis whose dimensionality is based on the
number of modes considered. The transformation to obtain the POD reduced data
is represented by:

Evaluating the reduced
model representation:

The reduced model POD
representation matrix A can then be used to find the next state at time t+1 by
being multiplied by the state at time t. For a given number of time steps,
the output from both the full model and the reduced model representation can be
compared together to see whether the reduced model effectively approximates the
dynamics of the underlying full model. A qualitative measure to use in this
regard is a mean squared error or MSE in short which can be used to evaluate the
reduced order model.

 Software
and languages used for model reduction:

As seen from the
the procedure outlined before, model reduction techniques like proper orthogonal
decomposition can be described as doing some mathematical computations and
applying some transformations to the original model. Therefore, any software
that allows such a procedure to be useful for model reduction; however, it is
worthwhile to mention MATLAB and Python which are primarily used for doing
model reduction.

MATLAB:

MATLAB is a platform-based
programming language used primarily for numerical analysis of models and
development of algorithms for various purposes by utilizing various inbuilt and
custom libraries and functions in a coding format. Various libraries and
functions along with custom-written scripts are available for doing model
reduction on the platform.

Python:

Python is a programming
language used in both academic and industrial settings for various purposes
ranging from data visualization to performing complex mathematical tasks. In
recent years, it has become a popular platform for doing artificial intelligence-based
tasks. For model reduction purposes, professionals from both academia and
industry have developed various Python packages like pyMOR to do model
reduction.

Model reduction process time cycle:

The amount of time taken to derive a reduced order model
representation for any given process depends on the dimensionality of the full
model and the type of model reduction method used. In general, most time
consuming step in model reduction is the data extraction and processing part;
the whole model reduction process can take anywhere from a couple of hours to
two weeks based on task complexity and requirements.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top