归一化是指对数据进行标准化处理,使其均值为0,方差为1,从而消除不同特征量纲的影响,使得不同特征之间可以进行比较和计算。对于时间序列数据,归一化的目的是减弱非平稳性,使得模型能够更好地学习数据的规律。
归一化过程详解
1. 计算均值和方差
首先,对输入序列 x \mathbf{x} x进行均值和方差的计算:
-
x = [ x 1 , x 2 , … , x S ] T \mathbf{x} = [x_1, x_2, \ldots, x_S]^T x=[x1,x2,…,xS]T,其中 S S S是序列长度。
-
计算均值 μ x \mu_x μx:
μ x = 1 S ∑ i = 1 S x i \mu_x = \frac{1}{S} \sum_{i=1}^{S} x_i μx=S1i=1∑Sxi
这里的 μ x \mu_x μx是一个向量,表示每个特征(或变量)的均值。 -
计算标准差 σ x \sigma_x σx:
σ x = 1 S ∑ i = 1 S ( x i − μ x ) 2 \sigma_x = \sqrt{\frac{1}{S} \sum_{i=1}^{S} (x_i - \mu_x)^2} σx=S1i=1∑S(xi−μx)2
这里的 σ x \sigma_x σx也是一个向量,表示每个特征(或变量)的标准差。
2. 归一化操作
归一化操作的目的是将每个输入值 x i \mathbf{x}_i xi转换为均值为0,方差为1的标准正态分布。
- 平移操作:减去均值 μ x \mu_x μx。
- 缩放操作:除以标准差 σ x \sigma_x σx。
具体公式如下:
x
′
=
x
−
1
μ
x
⊤
σ
x
\mathbf{x}' = \frac{\mathbf{x} - 1\mu_x^\top}{\sigma_x}
x′=σxx−1μx⊤
其中:
- x \mathbf{x} x:原始输入序列。
- 1 ∈ R S × 1 1 \in \mathbb{R}^{S \times 1} 1∈RS×1:全1向量,用于在时间维度上进行广播。
- μ x ∈ R 1 × C \mu_x \in \mathbb{R}^{1 \times C} μx∈R1×C:均值向量。
- σ x ∈ R 1 × C \sigma_x \in \mathbb{R}^{1 \times C} σx∈R1×C:标准差向量。
- x ′ ∈ R S × C \mathbf{x}' \in \mathbb{R}^{S \times C} x′∈RS×C:归一化后的序列。
3. 广播机制解释
在公式
(
x
−
1
μ
x
⊤
)
/
σ
x
(\mathbf{x} - 1\mu_x^\top)/\sigma_x
(x−1μx⊤)/σx中:
-
1
μ
x
⊤
∈
R
S
×
C
1\mu_x^\top \in \mathbb{R}^{S \times C}
1μx⊤∈RS×C:每一列都是均值向量
μ
x
\mu_x
μx,通过与
1
1
1相乘得到。
-
x
−
1
μ
x
⊤
∈
R
S
×
C
\mathbf{x} - 1\mu_x^\top \in \mathbb{R}^{S \times C}
x−1μx⊤∈RS×C:每个元素减去相应特征的均值。
- 最后每个元素除以相应特征的标准差 σ x \sigma_x σx,得到归一化后的序列 x ′ \mathbf{x}' x′。
4. 公式推导
归一化公式推导过程如下:
x
i
′
=
x
i
−
μ
x
σ
x
x'_i = \frac{x_i - \mu_x}{\sigma_x}
xi′=σxxi−μx
对于序列中的每个值
x
i
x_i
xi,进行平移和缩放,使得归一化后的序列
x
′
\mathbf{x}'
x′满足标准正态分布的特性,即均值为0,方差为1。
总结
通过以上归一化过程,每个输入序列被转换为均值为0,方差为1的标准正态分布,这使得模型在处理不同序列时能够更好地学习数据规律,减弱非平稳性对模型的影响。归一化后的公式 ( x − 1 μ x ⊤ ) / σ x (\mathbf{x} - 1\mu_x^\top)/\sigma_x (x−1μx⊤)/σx充分考虑了时间序列数据的特性,通过平移和缩放操作,使得数据的分布更加稳定,有利于模型训练和预测的准确性。