气象数据分析中的SVD/MCA与Python实现
基本原理
关于基本原理部分请参考:第七章 研究两个场相互关系的SVD方法,本文不再赘述。
为方便接下来内容讲解,特别需要对以下定义或内容进行说明:
- 左场: X ( m 1 × n ) X \left( m_1 \times n \right) X(m1×n)
- 右场: X ( m 2 × n ) X \left( m_2 \times n \right) X(m2×n)
- 左奇异向量: u j u_{j} uj表示第j模态左场的空间分布
- 右奇异向量: v j v_{j} vj表示第j模态右场的空间分布
- 左右场时间序列:把原观测场 X X X投影到 u j u_{j} uj,把 Y Y Y场投影到 v j v_{j} vj,即可得到第j模态左右场的时间序列,记为 a j a_{j} aj和 b j b_{j} bj。
左场的时间序列: a j = u j T X \text{左场的时间序列:} \quad a_j = u_j^T X 左场的时间序列:aj=ujTX
右场的时间序列: b j = v j T Y \text{右场的时间序列:} \quad b_j = v_j^T Y 右场的时间序列:bj=vjTY
-
左右时间序列相关系数:模态是按照 σ j \sigma_{j} σj大小排列的,但是其相关系数是否也是按照从大到小排列,不一定, 但是相关系数一定是正值。
r ( a j , b j ) = Cov ( a j , b j ) 1 n ∑ t = 1 n a j t 2 1 n ∑ t = 1 n b j t 2 = σ j 1 n ∑ t = 1 n a j t 2 1 n ∑ t = 1 n b j t 2 r(a_j, b_j) = \frac{\text{Cov}(a_j, b_j)}{\sqrt{\frac{1}{n} \sum_{t=1}^{n} a_{jt}^2} \sqrt{\frac{1}{n} \sum_{t=1}^{n} b_{jt}^2}} = \frac{\sigma_j}{\sqrt{\frac{1}{n} \sum_{t=1}^{n} a_{jt}^2} \sqrt{\frac{1}{n} \sum_{t=1}^{n} b_{jt}^2}} r(aj,bj)=n1