@@ -9,6 +9,18 @@ kernelspec:
99 display_name : Python 3 (ipykernel)
1010 language : python
1111 name : python3
12+ translation :
13+ title : 向量自回归和动态模态分解
14+ headings :
15+ First-Order Vector Autoregressions : 一阶向量自回归
16+ Dynamic Mode Decomposition (DMD) : 动态模态分解(DMD)
17+ Representation 1 : 表示法1
18+ Representation 2 : 表示法 2
19+ Representation 3 : 表示法3
20+ Representation 3::Decoder of $\check b$ as a linear projection : $\check b$ 的解码器作为线性投影
21+ Representation 3::An Approximation : 一种近似方法
22+ Representation 3::Using Fewer Modes : 使用更少的模态
23+ Source for Some Python Code : Python代码来源
1224---
1325
1426# 向量自回归和动态模态分解
102114X^+ = X^\top (X X^\top )^{-1}
103115$$
104116
105- 这里$X^+$是一个满足$X X^+ = I_{m \times m}$的**右逆**, 。
117+ 这里$X^+$是一个满足$X X^+ = I_{m \times m}$的**右逆**。
106118
107119在这种情况下,我们用于估计总体回归系数矩阵$A$的最小二乘估计量的公式{eq}`eq:commonA`就变为
108120
@@ -114,7 +126,7 @@ $$ (eq:Ahatform101)
114126
115127它也被用于估计向量自回归。
116128
117- 公式{eq}`eq:Ahatform101`的右边,正比于$X_{t+1}$和$X_t$的经验交叉二阶矩矩 ,乘以$X_t$二阶矩阵的逆矩阵。
129+ 公式{eq}`eq:Ahatform101`的右边,正比于$X_{t+1}$和$X_t$的经验交叉二阶矩矩阵 ,乘以$X_t$二阶矩阵的逆矩阵。
118130
119131**高瘦型情况:**
120132
124136X^+ = (X^\top X)^{-1} X^\top
125137$$
126138
127- 这里$X^+$是一个满足$X^+ X = I_{n \times n}$的**左逆**, 。
139+ 这里$X^+$是一个满足$X^+ X = I_{n \times n}$的**左逆**。
128140
129141在这种情况下,我们用于估计$A$的最小二乘估计公式{eq}`eq:commonA`变为
130142
159171作为对$A$的估计量$\hat A$,我们想要形成一个$m \times m$的矩阵,来解决最小二乘最佳拟合问题
160172
161173$$
162- \hat A = \textrm{argmin}_ {\check A} || X' - \check A X ||_ F
163-
174+ \hat A = \textrm{argmin}_ {\check A} || X' - \check A X ||_ F
164175$$ (eq:ALSeqn)
165176
166177其中 $|| \cdot ||_F$ 表示矩阵的Frobenius(或欧几里得)范数。
@@ -227,19 +238,15 @@ $$ (eq:AhatSVDformula)
227238
228239## 动态模态分解(DMD)
229240
230- 接下来我们将研究一个特殊情况 -- 当变量数量$m >> n$时的情形。
231-
232- **动态模态分解**可以用于处理这种"高瘦型"矩阵。
241+ 我们转向与**动态模态分解**相关的$m >>n$ **高瘦型**情况。
233242
234- 假设有一个$ m \times ( n+1)$ 的数据矩阵$ \tilde X$,它包含了比时间周期$ n+1$ 多得多的属性(或变量)$m $。
243+ 这里一个$ m \times n+1 $ 的数据矩阵 $ \tilde X $ 包含了比时间周期 $ n+1 $ 多得多的属性(或变量)$ m $。
235244
236245动态模态分解由{cite}`schmid2010`首次提出,
237246
238247你可以在 {cite}`DMD_book` 和 {cite}`Brunton_Kutz_2019`(第7.2节)中阅读有关动态模态分解的内容。
239248
240- **动态模态分解**(DMD)的目标是找到最小二乘回归系数矩阵$\hat A$的一个低秩近似,其中近似矩阵的秩$r$小于原始矩阵的秩$p$。
241-
242- 这个近似可以通过公式{eq}`eq:AhatSVDformula`来构造。
249+ **动态模态分解**(DMD)计算公式{eq}`eq:AhatSVDformula`所描述的最小二乘回归系数$\hat A$的一个秩$r < p$的近似。
243250
244251我们将逐步构建一种适合应用的表示。
245252
@@ -255,7 +262,7 @@ $$ (eq:AhatSVDformula)
255262
256263为此,我们需要使用与表示法3相关的**简化**SVD,而不是与表示法1和2相关的**完整**SVD。
257264
258- **快速指南 :** 如果您想直接应用这些方法,可以直接跳到表示法3 。
265+ **给不耐烦的读者的指南 :** 在我们的应用中,我们将使用表示法3 。
259266
260267第一次阅读时,您可以跳过铺垫性的表示法1和2。
261268
321328
322329这种表示方法与{cite}`schmid2010`最初提出的方法有关。
323330
324- 它可以被视为推导表示3的一个中间步骤 。
331+ 它可以被视为推导后面将要介绍的表示3的一个中间步骤 。
325332
326333与表示1一样,我们继续:
327334
328335* 使用**完整**SVD而**不是**简化SVD
329336
330- 在 {doc}`奇异值分解<svd_intro>`课程中我们学到:
337+ 正如我们在 {doc}`奇异值分解 <svd_intro>` 讲座中观察和阐释的那样
331338
332339 * (a) 对于完整SVD,$U U^\top = I_{m \times m}$和$U^\top U = I_{p \times p}$都是单位矩阵
333340
334341 * (b) 对于$X$的简化SVD,$U^\top U$不是单位矩阵。
335342
336- 这个区别很重要,因为我们后面会使用简化SVD而不是完整SVD。这意味着我们需要处理$ U^\top U$不是单位矩阵的情况 。
343+ 正如我们后面将会看到的,完整SVD对于我们最终想要做的事情来说过于局限,也就是说,我们需要应对由于使用$X$的简化SVD而导致$ U^\top U$**不是**单位矩阵的情形 。
337344
338345但现在,让我们假设我们使用的是完整SVD,这样条件(a)和(b)都得到满足。
339346
361368
362369将上述方程两边同时乘以$W^{-1} U^\top $,得到:
363370
364- $
371+ $$
365372W^{-1} U^\top X_ {t+1} = \Lambda W^{-1} U^\top X_t
366373$$
367374
425432
426433是 $m \times n$ 矩阵 $X$ 在 $m \times p$ 矩阵 $\Phi_s$ 上的回归系数矩阵。
427434
428- 我们将在讨论由 Tu 等人 {cite}`tu_Rowley` 提出的表示法3时进一步讨论 。
435+ 在讨论表示法3时,我们将在相关背景下进一步讨论这个解释,表示法3是由 Tu 等人 {cite}`tu_Rowley` 提出的 。
429436
430437当我们想要使用简化SVD时(这在实践中经常出现),使用表示法3更为合适。
431438
446453我们的 $A$ 的最小范数最小二乘近似器现在的表示为
447454
448455$$
449-
450456\hat A = X' \tilde V \tilde \Sigma^{-1} \tilde U^\top
451457$$ (eq:Ahatwithtildes)
452458
@@ -538,9 +544,14 @@ $$ (eq:Phiformula)
538544这是Tu等人{cite}`tu_Rowley`证明的一个结果,我们下面来介绍。
539545
540546
541- **命题** $\Phi$的$p$列是$\hat A$的特征向量。
547+ ```{prf:proposition}
548+ :label: prop-dmd-eigenvectors
549+
550+ $\Phi$的$p$列是$\hat A$的特征向量。
551+ ```
542552
543- **证明:** 根据公式{eq}`eq:Phiformula`,我们有
553+ ```{prf:proof}
554+ 根据公式{eq}`eq:Phiformula`,我们有
544555
545556$$
546557\begin{aligned}
554565因此
555566
556567$$
557- \hat A \Phi = \Phi \Lambda
568+ \hat A \Phi = \Phi \Lambda .
558569$$ (eq:APhiLambda)
559570
560571令 $\phi_i$ 为 $\Phi$ 的第 $i$ 列,$\lambda_i$ 为分解式 {eq}`eq:tildeAeigenred` 中 $\tilde A$ 对应的第 $i$ 个特征值。
566577$$
567578
568579这个等式证实了 $\phi_i$ 是 $\hat A$ 的特征向量,对应于 $\tilde A$ 和 $\hat A$ 的特征值 $\lambda_i$。
569-
570- 证明至此完成。
580+ ```
571581
572582另见 {cite}`DDSE_book` (第238页)。
573583
626636
627637$$
628638X = \Phi \check b + \epsilon
629-
630639$$ (eq:Xbcheck)
631640
632641其中 $\epsilon$ 是一个 $m \times n$ 的最小二乘误差矩阵,满足最小二乘正交条件 $\epsilon^\top \Phi =0$ 或
@@ -654,7 +663,7 @@ $$ (eq:X1proj)
654663
655664其中 $\check b_1$ 是一个 $p \times 1$ 的向量。
656665
657- 回顾上面表示1中的 $X_1 = U \tilde b_1$, 其中 $\tilde b_1$ 是表示1的时间1基向量, 而 $U$ 来自完整SVD分解 $X = U \Sigma V^\top$。
666+ 回顾上面表示法1中的 $X_1 = U \tilde b_1$, 其中 $\tilde b_1$ 是表示法1的时间1基向量, 而 $U$ 来自完整SVD分解 $X = U \Sigma V^\top$。
658667
659668从方程 {eq}`eq:Xbcheck` 可以得出:
660669
670679\tilde b_1 = U^\top X' V \tilde \Sigma^{-1} \tilde W \check b_1 + U^\top \epsilon_1
671680$$
672681
673- 将误差项 $U^\top \epsilon_1$ 替换为零,并将完整SVD中的 $ U$ 替换为简化SVD中的 $\tilde U$, 我们得到 $\tilde b_1$ 的近似值 $\hat b_1$:
682+ 将误差项 $U^\top \epsilon_1$ 替换为零,并将来自 $X$ 的**完整**SVD的 $ U$ 替换为来自**简化**SVD的 $\tilde U$, 我们得到 $\tilde b_1$ 的近似值 $\hat b_1$:
674683
675684$$
676685 \hat b_1 = \tilde U^\top X' \tilde V \tilde \Sigma^{-1} \tilde W \check b_1
680689
681690因此可得:
682691
683- $$
684-
685- \hat b_1 = \tilde A \tilde W \check b_1
692+ $$
693+ \hat b_1 = \tilde A \tilde W \check b_1
686694$$
687695
688696因此,根据 $\tilde A$ 的特征分解 {eq}`eq:tildeAeigenred`,我们有
@@ -715,7 +723,6 @@ $$ (eq:bphieqn)
715723
716724$$
717725\check X_ {t+j} = \Phi \Lambda^j \Phi^{+} X_t
718-
719726$$ (eq:checkXevoln)
720727
721728
@@ -743,4 +750,6 @@ $$ (eq:checkXevoln2)
743750
744751## Python代码来源
745752
746- 你可以在[这里](https://mathlab.sissa.it/pydmd)找到DMD的Python实现。
753+ 你可以在这里找到DMD的Python实现:
754+
755+ https://mathlab.sissa.it/pydmd
0 commit comments