Skip to content

Commit 6a6c5c2

Browse files
committed
updates
1 parent 296ff21 commit 6a6c5c2

File tree

1 file changed

+20
-34
lines changed

1 file changed

+20
-34
lines changed

lectures/var_dmd.md

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ kernelspec:
1515

1616
本节讲座中,我们将应用在 {doc}`奇异值分解 <svd_intro>` 中学到的计算方法来研究:
1717

18-
* 一阶向量自回归(VARs)
19-
* 动态模态分解(DMDs)
18+
* 一阶向量自回归 (VARs)
19+
* 动态模态分解 (DMDs)
2020
* 一阶向量自回归和动态模态分解之间的联系
2121

2222
## 一阶向量自回归
@@ -33,11 +33,11 @@ $$
3333
X_t = \begin{bmatrix} X_{1,t} & X_{2,t} & \cdots & X_{m,t} \end{bmatrix}^\top
3434
$$ (eq:Xvector)
3535
36-
其中 $\cdot ^\top $ 表示复数转置<!-- 原文是“complex transpose”,似乎不是惯常表达,这里是想要表达“共轭转置”嘛?需不需要进一步解释 -->,$ X_{i,t} $ 是时间 $ t $ 时的变量 $ i $。
36+
其中 $\cdot ^\top $ 表示共轭转置,$ X_{i,t} $ 是时间 $ t $ 时的变量 $ i $。
3737
3838
我们想要拟合方程 {eq}`eq:VARfirstorder`。
3939
40-
我们的数据则组织在一个 $ m \times (n+1) $ 的矩阵 $ \tilde X $ 中
40+
我们的数据则存储在一个 $ m \times (n+1) $ 的矩阵 $ \tilde X $ 中
4141
4242
$$
4343
\tilde X = \begin{bmatrix} X_1 \mid X_2 \mid \cdots \mid X_n \mid X_{n+1} \end{bmatrix}
@@ -94,7 +94,7 @@ $$ (eq:commonA)
9494
9595
在我们的两种情况下,广义逆矩阵适用的公式有所不同。
9696
97-
**短胖情况:**
97+
**短胖型情况:**
9898
9999
当$n >> m$时,即时间序列的观测值$n$远多于变量的数量$m$,且当$X$具有线性独立的**行**时,$X X^\top$的逆矩阵存在,且广义逆矩阵$X^+$为
100100
@@ -150,7 +150,7 @@ $$
150150
151151
再次重申,**高瘦**情况(见{doc}`奇异值分解<svd_intro>`)指观测的数量$n$相对于向量$X_t$属性的数量$m$较小时,我们想要拟合方程{eq}`eq:VARfirstorder`。
152152
153-
我们面临着最小二乘估计量是欠定的,且回归方程完美拟合的事实
153+
我们面临着最小二乘估计量是欠定的,且回归方程完全拟合的事实
154154
155155
接下来,我们想要更加高效地计算广义逆矩阵$X^+$。
156156
@@ -227,17 +227,21 @@ $$ (eq:AhatSVDformula)
227227
228228
## 动态模态分解(DMD)
229229
230-
我们继续关注与**动态模态分解**相关的$m >>n$**高瘦型**情况
230+
接下来我们将研究一个特殊情况 -- 当变量数量$m >> n$时的情形
231231
232-
假设有一个$m \times n+1$的数据矩阵$\tilde X$,它包含了比时间周期$n+1$多得多的属性(或变量)$m$。
232+
**动态模态分解**可以用于处理这种"高瘦型"矩阵。
233+
234+
假设有一个$m \times (n+1)$的数据矩阵$\tilde X$,它包含了比时间周期$n+1$多得多的属性(或变量)$m$。
233235
234236
动态模态分解由{cite}`schmid2010`首次提出,
235237
236238
你可以在 {cite}`DMD_book` 和 {cite}`Brunton_Kutz_2019`(第7.2节)中阅读有关动态模态分解的内容。
237239
238-
如公式{eq}`eq:AhatSVDformula`所描述的,**动态模态分解**(DMD)的最小二乘回归系数$\hat A$的秩为$r < p$的近似。<!-- 这句话没太想明白怎么翻译通顺 -->
240+
**动态模态分解**(DMD)的目标是找到最小二乘回归系数矩阵$\hat A$的一个低秩近似,其中近似矩阵的秩$r$小于原始矩阵的秩$p$。
241+
242+
这个近似可以通过公式{eq}`eq:AhatSVDformula`来构造。
239243
240-
我们将逐步构建一种适合应用的表述
244+
我们将逐步构建一种适合应用的表示
241245
242246
我们将通过三种不同的表示方式来描述一阶线性动态系统(即我们的向量自回归),从而实现这一点。
243247
@@ -251,7 +255,7 @@ $$ (eq:AhatSVDformula)
251255
252256
为此,我们需要使用与表示法3相关的**简化**SVD,而不是与表示法1和2相关的**完整**SVD。
253257
254-
**给急躁读者的指南:** 在我们的应用中,我们将使用表示法3
258+
**快速指南:** 如果您想直接应用这些方法,可以直接跳到表示法3
255259
256260
第一次阅读时,您可以跳过铺垫性的表示法1和2。
257261
@@ -323,13 +327,13 @@ $$
323327
324328
* 使用**完整**SVD而**不是**简化SVD
325329
326-
正如我们在{doc}`奇异值分解<svd_intro>`课程中观察和阐述的:
330+
{doc}`奇异值分解<svd_intro>`课程中我们学到:
327331
328332
* (a) 对于完整SVD,$U U^\top = I_{m \times m}$和$U^\top U = I_{p \times p}$都是单位矩阵
329333
330334
* (b) 对于$X$的简化SVD,$U^\top U$不是单位矩阵。
331335
332-
我们稍后会看到,对于我们最终想要做的事情来说,完整SVD会过于局限,也就是说,我们将处理$U^\top U$**不是**单位矩阵的情况,因为我们使用$X$的简化SVD
336+
这个区别很重要,因为我们后面会使用简化SVD而不是完整SVD。这意味着我们需要处理$U^\top U$不是单位矩阵的情况
333337
334338
但现在,让我们假设我们使用的是完整SVD,这样条件(a)和(b)都得到满足。
335339
@@ -357,8 +361,7 @@ $$
357361
358362
将上述方程两边同时乘以$W^{-1} U^\top $,得到:
359363
360-
$$
361-
364+
$
362365
W^{-1} U^\top X_{t+1} = \Lambda W^{-1} U^\top X_t
363366
$$
364367

@@ -422,7 +425,7 @@ $$
422425
423426
是 $m \times n$ 矩阵 $X$ 在 $m \times p$ 矩阵 $\Phi_s$ 上的回归系数矩阵。
424427
425-
我们将在讨论由 Tu 等人 {cite}`tu_Rowley` 提出的表示法3时,在相关背景下进一步讨论
428+
我们将在讨论由 Tu 等人 {cite}`tu_Rowley` 提出的表示法3时进一步讨论
426429
427430
当我们想要使用简化SVD时(这在实践中经常出现),使用表示法3更为合适。
428431
@@ -470,12 +473,9 @@ $$
470473
$$ (eq:tildeAverify)
471474
472475
473-
474-
475476
接下来,我们将使用标准最小二乘公式计算$\hat A$在$\tilde U$上的投影的回归系数
476477
477478
$$
478-
479479
(\tilde U^\top \tilde U)^{-1} \tilde U^\top \hat A = (\tilde U^\top \tilde U)^{-1} \tilde U^\top X' \tilde V \tilde \Sigma^{-1} \tilde U^\top =
480480
\tilde U^\top X' \tilde V \tilde \Sigma^{-1} \tilde U^\top = \tilde A .
481481
$$
@@ -538,8 +538,6 @@ $$ (eq:Phiformula)
538538
这是Tu等人{cite}`tu_Rowley`证明的一个结果,我们下面来介绍。
539539
540540
541-
542-
543541
**命题** $\Phi$的$p$列是$\hat A$的特征向量。
544542
545543
**证明:** 根据公式{eq}`eq:Phiformula`,我们有
@@ -640,21 +638,14 @@ $$ (eq:orthls)
640638
重新整理正交条件 {eq}`eq:orthls` 得到 $X^\top \Phi = \check b \Phi^\top \Phi$,这就推导出公式 {eq}`eq:checkbform`。
641639
642640
643-
644-
645-
646641
### 一种近似方法
647642
648-
649-
650643
我们现在描述一种不使用公式 {eq}`eq:decoder102`的近似计算 $p \times 1$ 的向量 $\check b_t$ 的方法。
651644
652645
具体来说,以下论述改编自 {cite}`DDSE_book`(第240页)提供的一种高效计算方法,从而近似 $\check b_t$。
653646
654647
为方便起见,我们将在时间 $t=1$ 应用该方法。
655648
656-
657-
658649
对于 $t=1$,根据方程 {eq}`eq:Xbcheck`,我们有
659650
660651
$$
@@ -737,7 +728,6 @@ $$ (eq:checkXevoln2)
737728
然后我们可以使用解码后的 $\check X_{t+j}$ 或 $\hat X_{t+j}$ 来预测 $X_{t+j}$。
738729
739730
740-
741731
### 使用更少的模态
742732
743733
在实际应用中,我们通常只使用少数几个模态,通常不多于三个。
@@ -748,13 +738,9 @@ $$ (eq:checkXevoln2)
748738
749739
在这种情况下,我们只需将 $\tilde \Sigma$ 替换为相应的 $r\times r$ 奇异值矩阵,将 $\tilde U$ 替换为对应于 $r$ 个最大奇异值的 $m \times r$ 的矩阵,将 $\tilde V$ 替换为对应于 $r$ 个最大奇异值的 $n \times r$ 的矩阵。
750740
751-
752741
上述所有重要公式都有其对应的形式。
753742
754743
755-
756744
## Python代码来源
757745
758-
你可以在这里找到DMD的Python实现:
759-
760-
https://mathlab.sissa.it/pydmd
746+
你可以在[这里](https://mathlab.sissa.it/pydmd)找到DMD的Python实现。

0 commit comments

Comments
 (0)