多项式混沌展开(PCE)不确定性量化
理论与物理
PCE概述
老师,我听说多项式混沌展开(PCE)比蒙特卡洛法更高效,是真的吗?
如果输入维度少的话——大致在5到10个以下——效率是压倒性的。例如,考虑汽车碰撞分析中材料的杨氏模量、板厚、摩擦系数这3个参数存在不确定性的情况。蒙特卡洛法需要运行大约10,000次FEM才能稳定统计量。但PCE的话,仅需50到100次左右的FEM执行就能达到同等甚至更高的精度。
诶,意思是计算量只有百分之一吗?这是什么原理呢?
关键在于“用多项式近似响应面”这个思路。将输入参数的不确定性表示为随机变量 $\boldsymbol{\xi}$,并将输出量 $Y$ 展开为Hermite或Legendre等正交多项式的线性组合。一旦构建了这个近似式(代理模型),就可以解析地从中计算均值、方差、概率密度函数、灵敏度指标。完全不需要额外的仿真。
原来如此,相对于蒙特卡洛“一味地掷骰子”,PCE是“构建一个聪明的函数近似”对吧!
正是如此。不过也有需要注意的地方。当输入参数达到20个以上时,多项式的项数会爆炸性增长,导致效率下降。这被称为“维数灾难”。稍后详细说明,为了克服这个弱点,人们正在研究稀疏PCE和自适应方法。
正交多项式基的选择
刚才提到了Hermite、Legendre等几个多项式的名字,它们是如何区分的呢?
这其实是关系到PCE根基的重要点。根据输入变量的概率分布,决定了最优的正交多项式族——这被称为“Wiener-Askey对应”。
| 输入的概率分布 | 最优正交多项式 | 定义域 | 代表性应用 |
|---|---|---|---|
| 正态分布(高斯) | Hermite多项式 | $(-\infty, +\infty)$ | 材料特性的波动 |
| 均匀分布 | Legendre多项式 | $[-1, 1]$ | 设计参数的范围指定 |
| 贝塔分布 | Jacobi多项式 | $[-1, 1]$ | 带约束的参数 |
| 伽马分布 | Laguerre多项式 | $[0, +\infty)$ | 载荷的正值分布 |
| 泊松分布 | Charlier多项式 | $\{0, 1, 2, \ldots\}$ | 离散事件数 |
原来根据分布,有“相性好的多项式”啊。如果选错了组合会怎么样?
收敛会变慢,最坏情况下会发散。例如,对均匀分布的输入使用Hermite多项式,原本3次就足够的问题可能需要10次以上。在实际工作中,会像“杨氏模量是正态分布所以用Hermite”、“板厚公差是均匀分布所以用Legendre”这样,为每个参数选择合适的多项式,并通过张量积进行组合。
控制方程与展开式
能告诉我PCE的基本公式吗?
对于 $d$ 个随机变量 $\boldsymbol{\xi} = (\xi_1, \ldots, \xi_d)$ 的输出 $Y$ 的PCE展开如下:
这里各符号的含义是:
- $c_{\boldsymbol{\alpha}}$ — PCE系数(待求未知数)
- $\Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi})$ — 多元正交多项式基
- $\boldsymbol{\alpha} = (\alpha_1, \ldots, \alpha_d)$ — 多重指标(各变量的多项式次数)
- $\mathcal{A}$ — 截断后的索引集合
多元的正交多项式具体是怎么构建的呢?
由各变量的单变量正交多项式的张量积构成:
例如 $d=2$,$\xi_1$ 是正态分布(→Hermite $He_k$),$\xi_2$ 是均匀分布(→Legendre $P_l$)时,$\Psi_{(2,1)}(\boldsymbol{\xi}) = He_2(\xi_1) \cdot P_1(\xi_2)$ 就是这种形式。正交性是指内积为零:
因为有正交性,所以可以像傅里叶级数那样单独确定每个系数对吧!
正是如此。类比傅里叶级数来思考就容易理解了。傅里叶级数是用三角函数(正交基)展开周期函数。PCE是用正交多项式展开随机响应。原理完全相同。
从系数求统计量
求出PCE系数后,怎么计算均值和方差呢?
这里是PCE最美妙的地方。得益于正交性,统计量可以从系数直接求出:
均值(0次项系数本身就是均值):
方差(1次以上系数的平方和):
诶,方差只要把系数的平方加起来就行了吗!不需要像蒙特卡洛那样采样几万次呢。
进一步,偏度(Skewness)、峰度(Kurtosis)、概率密度函数也都可以解析地求出。例如概率密度函数,是对PCE的近似式 $Y(\boldsymbol{\xi})$ 进行蒙特卡洛采样,但这只是多项式的求值,所以瞬间就能完成。即使是10万个样本,也是毫秒级的。
Sobol灵敏度指标的推导
我听说从PCE也能做灵敏度分析?
这可以说是PCE的杀手级功能。Sobol灵敏度指标可以直接从PCE系数计算。第 $i$ 个变量的一次Sobol指标是:
这里 $\mathcal{A}_i$ 是“仅依赖于 $\xi_i$ 的项的集合”(即 $\alpha_j = 0 \; \forall j \neq i$ 且 $\alpha_i > 0$)。全阶Sobol指标 $S_i^T$ 也同样可以从“涉及 $\xi_i$ 的所有项”的系数求出。
能用具体例子说明一下吗?比如3个参数的问题?
问得好。例如在焊接部残余应力预测中,输入参数为热输入 $Q$、焊接速度 $v$、预热温度 $T_0$ 这3个。用PCE展开并求出系数后,如果得到 $S_Q = 0.65$、$S_v = 0.22$、$S_{T_0} = 0.08$,就可以知道残余应力波动的65%是由热输入的不确定性引起的。这样就能直接关联到“应优先管理热输入”这一设计判断。
各项的物理意义
- PCE系数 $c_{\boldsymbol{\alpha}}$:表示输出波动中各多项式基的贡献度。具有大系数的项主导输出的不确定性。
- 正交多项式基 $\Psi_{\boldsymbol{\alpha}}$:相当于输入概率空间中的“基向量”。正交性使得可以独立量化各基底的贡献。
- 截断次数 $p$:控制展开精度的参数。次数越高精度越高,但项数增加,计算成本也增大。实际工作中一般 $p=2\sim5$。
展开项数的计算
输入变量为 $d$ 个,全次数截断 $p$ 时,展开项数 $P$ 为:
$$ P = \binom{d+p}{p} = \frac{(d+p)!}{d! \, p!} $$| 输入维度 $d$ | 次数 $p=2$ | 次数 $p=3$ | 次数 $p=4$ |
|---|---|---|---|
| 3 | 10 | 20 | 35 |
| 5 | 21 | 56 | 126 |
| 10 | 66 | 286 | 1,001 |
| 20 | 231 | 1,771 | 10,626 |
数值解法与实现
Galerkin投影法(侵入式PCE)
求PCE系数的方法有哪些?
大致分为两种方法。首先说明Galerkin投影法(侵入式PCE)。利用正交性,通过内积求PCE系数 $c_{\boldsymbol{\alpha}}$:
理论上很漂亮,但实际怎么计算呢?计算期望值需要FEM的结果吧?
敏锐的指正。在Galerkin投影法中,需要将PCE展开代入控制方程,并改造求解器本身。例如,对于结构分析的刚度方程 $[K(\boldsymbol{\xi})]\{u(\boldsymbol{\xi})\} = \{F(\boldsymbol{\xi})\}$,将 $K$、$u$、$F$ 都进行PCE展开,通过向各基底的投影导出联立方程。理论上精度最高,但需要改写现有FEM求解器的内部,因此在实际工作中难以使用。这就是它被称为“侵入式(intrusive)”的原因。
配置法·回归法(非侵入式PCE)
有没有不需要改造求解器的方法?
有的。实际工作中压倒性使用的是非侵入式PCE(Non-Intrusive PCE)。可以将现有的FEM求解器当作黑箱处理。做法是:
- 生成 $N$ 个样本点 $\{\boldsymbol{\xi}^{(1)}, \ldots, \boldsymbol{\xi}^{(N)}\}$
- 在每个样本点执行FEM,获取输出 $\{Y^{(1)}, \ldots, Y^{(N)}\}$
- 用最小二乘法估计系数
写成矩阵形式是 $\hat{\mathbf{c}} = (\boldsymbol{\Psi}^T \boldsymbol{\Psi})^{-1} \boldsymbol{\Psi}^T \mathbf{Y}$。这里 $\boldsymbol{\Psi}$ 是 $N \times P$ 的设计矩阵($\Psi_{k,\boldsymbol{\alpha}} = \Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi}^{(k)})$)。无论是Abaqus、Ansys还是OpenFOAM,只要有求解器的输出就能使用。
$N$ 最少需要多少个?
最低条件是 $N \geq P$(项数以上的样本),但实际工作中推荐过采样比 2~3倍。即 $N = 2P \sim 3P$。例如 $d=5$、$p=3$ 时 $P=56$ 项,所以需要 $N = 112 \sim 168$ 次FEM执行。
数值积分法则的选择
样本点是随机选就可以吗?还是有什么规定?
问得好。样本点的选取方法(实验设计法)直接关系到PCE的精度。我们来比较一下主要的方法:
| 采样方法 | 特征 | 所需样本数 | 推荐场景 |
|---|---|---|---|
| 张量积求积法 | 在各轴上独立配置Gauss点 | $(p+1)^d$(指数增长) | $d \leq 3$ 的低维度 |
| Smolyak稀疏网格 | 张量积的“稀疏化”版本 | 大幅削减 | $d = 4 \sim 15$ |
| 拉丁超立方 | 空间填充型的准随机采样 | 可自由设定 | 基于回归法的PCE |
| Sobol序列 | 低差异序列产生的准随机数 | 可自由设定 | 高维度的回归法 |
张量积的话,5维就是 $(p+1)^5$ …… 4次的话 $5^5 = 3125$ 次FEM执行。不现实!
なった
詳しく
報告