Dynamic mode decomposition (DMD) is a dimensionality reduction algorithm developed by Peter Schmid in 2008. Given a time series of data, DMD computes a set of modes each of which is associated with a fixed oscillation frequency and decay/growth rate. For linear systems in particular, these modes and frequencies are analogous to the normal modes of the system, but more generally, they are approximations of the modes and eigenvalues of the composition operator (also called the Koopman operator). Due to the intrinsic temporal behaviors associated with each mode, DMD differs from dimensionality reduction methods such as principal component analysis (PCA), which computes orthogonal modes that lack predetermined temporal behaviors. Because its modes are not orthogonal, DMD-based representations can be less parsimonious than those generated by PCA. However, they can also be more physically meaningful because each mode is associated with a damped (or driven) sinusoidal behavior in time.
Lectures
Book link:
Dynamic Mode Decomposition: Theory and Applications
Book link:
Dynamic Mode Decomposition:
Data-Driven Modeling of Complex Systems
where $\vec{\mathbf{x}}$ defines a measurements, $t$ is a time, $\mu$ is a parametrical dependence, and $f$ indicates a system. Since the system $f$ is too complex and/or combined as well as nonlinear, it is not clear the system $f$ what is. In other words, we do not the system $f$. A lot of data $\vec{\mathbf{x}}$ is measured from the system $f$ although the system $f$ is not clear, the complex dynamical system $f$ can be approximated as follows:
Finally, the exact solution of the original dynamic system $f$ is formulated by the above expression, which preserve the time dynamic of $t$.
Now, we know that how can express the exact solution $\vec{\mathbf{x}}$ from the linear dynamical system $A$. However, we DO NOT know that how can express the linear dynamical system $A$. In here, we will show that how can the expression is driven.
Let we can measure $\rm{x}_j = \vec{\mathbf{x}}(t_j)$ at any time point of $j$.
We make big matrix concatenating the data from $1^{st}$ snapshot to $(m-1)^{th}$ snapshot.
WE ONLY TAKE THE MEASUREMENTS.
WE DO NOT THE DYNAMIC SOLVER OF THE SYSTEM.
WE RECALL BUILD THE MODEL.
Our objective is to build a linear dynamical system $A$ fitted with $\frac{d\vec{\mathbf{x}}}{dt} = A \vec{\mathbf{x}}$.
The linear dynamical system $A$ takes the data $\vec{\mathbf{x}}$ from current state $(j-1)$ to future state $(j)$.
Therefore, the linear dynamical system $A$ is satisfied with the relationship below:
$$\bar{X}' = A \bar{X},$$
where $\bar{X}'$ and $\bar{X}$ are the future state of $\bar{X}$ and the current state, respectively.
The linear dynamical system $A$ can be extracted using a pseudo inverse $\bar{X}^{\dagger}$ of $\bar{X}$:
$$A = \bar{X}' \bar{X}^{\dagger}.$$
We easily think about that the linear dynamical system $A$ perform a least-square fitting from the current state $\bar{X}$ to the future state $\bar{X}'$.
This method is called by EXACT DMD.
Algorithm
1. Singular Value Decomposition (SVD)
Let $\bar{X} \in \mathbb{R}^{n \times (m-1)}$ is dataset of a current state, its SVD is represented as:
In general, it is difficult to calculate the algorithm because the dimensions of the data $\bar{X}$ are too large. Fortunately, since all systems measuring $\bar{X}$ has a low-rank structure, rank-r truncation is applied to the SVD:
$\tilde{A}$ is the low-rank embedded linear dynamical system. Therefore, eigen value problem of $\tilde{A}$ is cheaply solved:
$$\tilde{A}W = W \Lambda,$$
where $W=[\rm{eigenvectors}]$ and $\Lambda=[\rm{eigenvalues}]$.
4. Look back up high-dimensional space from low-dimensional space
In the previous step, the eigen vectors $W$ are calculated in the low-dimensional subspace, but not an original high-dimensional space. The eigen vectors $W$ can be returned to the original space by calculating below:
$$\Phi = \bar{X}' V_r \Sigma_r^{-1} W,$$
where, $\Phi$ is DMD modes in the original space. The eigen values $\Lambda$ do not change.
5. Excat solution $\rm{x}$
We have performed from defining the linear dynamical system $A$ to calculating the eigen vectors $\Phi$ and the eigen values $\Lambda$.
Using the eigen vectors $\Phi$ and the eigen values $\Lambda$, the solution $\rm{x}$ can be calculated as:
请发表评论