本征正交分解
本征正交分解(proper orthogonal decomposition,POD)从一组状态快照中寻找低维正交子空间,使快照投影后的平方重建误差最小。它把多维状态写成少数空间方向与相应系数的组合,是建立降阶模型的一种基底选择方法。这里的最优性针对给定快照、内积和误差标准,并不自动保证模型预测准确。
快照的投影与丢失部分
设每个快照 ,共 个,按列组成 。选择 个标准正交方向,组成 ,满足 。快照的系数、重建与残差分别为 POD所解的问题是 其中“正交”指所选内积下的正交,“能量”若被使用,指这里的平方范数;只有模型赋予它相应单位和权重后,才可解释成特定物理能量。[1]
取四个人工快照 选横轴方向 后,四个系数为 ,竖直两个快照都投影到原点。总残差平方为 。若改选纵轴,总残差平方变成 。
奇异值与最优误差
作快照矩阵的奇异值分解 ,奇异值依次为 。前 个左奇异向量给出最优子空间,最小残差为
证明。 设 ,对称半正定,其特征值为 ,相应标准正交特征向量为 。对任意候选 ,投影的正交分解给出 令 ,则 且 。保留部分为 。当 时, 不等式使用前 个特征值不小于 ,其余不大于它;括号因权重总和而为零。取 达到等号,故误差等于剩余特征值之和。 与 分别是全部丢弃和完整保留,直接验证即可。
在本例,,奇异值为 。保留一个方向时的平方范数比例为 ,误差平方为二。
若截断处 ,最优子空间可能不唯一。若数据矩阵为 而只保留一维,任何过原点的直线都给出相同误差一,这提供了一个可直接复算的变式。
权重、均值与物理内积
时间采样不均匀时,可以给快照正权重 ,最小化 ,等价于对列被乘以 的矩阵做普通POD。本例若权重依次为 ,加权相关矩阵变成 ,不再有唯一的首方向。改变权重确实改变了所教给模型的数据分布。
若离散物理场的范数为 ,其中 是给定对称正定质量矩阵,应先对 (以及相应快照权重)做SVD,再把方向乘 变回原坐标。所得基满足 。直接忽略网格体积或不同单位,会使“主要方向”的含义改变。
主成分分析通常先减去样本均值。POD也可以针对均值之外的波动做分解,但必须说明是否中心化;若中心化,重建应写成 。未中心化POD近似经过原点的子空间,中心化后则近似经过均值的仿射空间,两者处理的是不同问题。
Python重建
下面按欧氏内积处理未中心化的有限实快照矩阵,返回基、投影系数、全部奇异值及残差平方,不改写输入。 被允许,表示重建为零。
import numpy as np
def pod(X, r):
X = np.asarray(X, dtype=float)
if X.ndim != 2 or min(X.shape) == 0 or not np.isfinite(X).all():
raise ValueError("require a finite nonempty matrix")
if type(r) is not int or not 0 <= r <= min(X.shape):
raise ValueError("rank outside allowed range")
U, s, _ = np.linalg.svd(X, full_matrices=False)
basis = U[:, :r]
coefficients = basis.T @ X
residual = X - basis @ coefficients
return basis, coefficients, s, float(np.sum(residual ** 2))
X = np.array([[2, 0, -2, 0], [0, 1, 0, -1]])
basis, coefficients, singular_values, error = pod(X, 1)
print(singular_values ** 2) # [8., 2.]
print(error) # 2.0
assert np.allclose(basis.T @ basis, np.eye(1))
assert np.isclose(error, np.sum(singular_values[1:] ** 2))
assert np.isclose(pod(X, 0)[3], 10)
assert np.isclose(pod(X, 2)[3], 0)
稠密SVD时间为 ,还需 的投影与重建运算;存储规模至少包括 个快照元素和SVD工作数组。实际大规模实现可用快照相关矩阵或迭代SVD,具体数值稳定性另需检查。
POD仅选出重建方向,尚未给出系数怎样随时间变化。要预测,仍需投影原方程或拟合系数演化模型。快照没有覆盖的参数、外力和罕见状态可能被丢失;小的训练重建误差也不能单独证明降阶系统稳定。
参考文献
- ↑ Carmen Gräßle、Michael Hinze、Stefan Volkwein:Model Order Reduction by Proper Orthogonal Decomposition,§2,有限维快照与POD最优化问题。