多项式混沌展开(PCE)不确定性量化

分类: V&V・不確かさ定量化 | 更新 2026-04-12
Polynomial Chaos Expansion basis functions and UQ response surface
多項式カオス展開(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展开如下:

$$ Y(\boldsymbol{\xi}) = \sum_{\boldsymbol{\alpha} \in \mathcal{A}} c_{\boldsymbol{\alpha}} \, \Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi}) $$
🎓

这里各符号的含义是:

  • $c_{\boldsymbol{\alpha}}$ — PCE系数(待求未知数)
  • $\Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi})$ — 多元正交多项式基
  • $\boldsymbol{\alpha} = (\alpha_1, \ldots, \alpha_d)$ — 多重指标(各变量的多项式次数)
  • $\mathcal{A}$ — 截断后的索引集合
🧑‍🎓

多元的正交多项式具体是怎么构建的呢?

🎓

由各变量的单变量正交多项式的张量积构成:

$$ \Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi}) = \prod_{i=1}^{d} \psi_{\alpha_i}^{(i)}(\xi_i) $$
🎓

例如 $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)$ 就是这种形式。正交性是指内积为零:

$$ \langle \Psi_{\boldsymbol{\alpha}}, \Psi_{\boldsymbol{\beta}} \rangle = \mathbb{E}[\Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi}) \, \Psi_{\boldsymbol{\beta}}(\boldsymbol{\xi})] = \|\Psi_{\boldsymbol{\alpha}}\|^2 \, \delta_{\boldsymbol{\alpha}\boldsymbol{\beta}} $$
🧑‍🎓

因为有正交性,所以可以像傅里叶级数那样单独确定每个系数对吧!

🎓

正是如此。类比傅里叶级数来思考就容易理解了。傅里叶级数是用三角函数(正交基)展开周期函数。PCE是用正交多项式展开随机响应。原理完全相同。

从系数求统计量

🧑‍🎓

求出PCE系数后,怎么计算均值和方差呢?

🎓

这里是PCE最美妙的地方。得益于正交性,统计量可以从系数直接求出:

均值(0次项系数本身就是均值):

$$ \mu_Y = \mathbb{E}[Y] = c_{\mathbf{0}} $$

方差(1次以上系数的平方和):

$$ \sigma_Y^2 = \text{Var}(Y) = \sum_{\boldsymbol{\alpha} \in \mathcal{A}, \, |\boldsymbol{\alpha}|>0} c_{\boldsymbol{\alpha}}^2 \, \|\Psi_{\boldsymbol{\alpha}}\|^2 $$
🧑‍🎓

诶,方差只要把系数的平方加起来就行了吗!不需要像蒙特卡洛那样采样几万次呢。

🎓

进一步,偏度(Skewness)、峰度(Kurtosis)、概率密度函数也都可以解析地求出。例如概率密度函数,是对PCE的近似式 $Y(\boldsymbol{\xi})$ 进行蒙特卡洛采样,但这只是多项式的求值,所以瞬间就能完成。即使是10万个样本,也是毫秒级的。

Sobol灵敏度指标的推导

🧑‍🎓

我听说从PCE也能做灵敏度分析?

🎓

这可以说是PCE的杀手级功能。Sobol灵敏度指标可以直接从PCE系数计算。第 $i$ 个变量的一次Sobol指标是:

$$ S_i = \frac{\displaystyle\sum_{\boldsymbol{\alpha} \in \mathcal{A}_i} c_{\boldsymbol{\alpha}}^2 \, \|\Psi_{\boldsymbol{\alpha}}\|^2}{\sigma_Y^2} $$
🎓

这里 $\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$
3102035
52156126
10662861,001
202311,77110,626

数值解法与实现

Galerkin投影法(侵入式PCE)

🧑‍🎓

求PCE系数的方法有哪些?

🎓

大致分为两种方法。首先说明Galerkin投影法(侵入式PCE)。利用正交性,通过内积求PCE系数 $c_{\boldsymbol{\alpha}}$:

$$ c_{\boldsymbol{\alpha}} = \frac{\langle Y, \Psi_{\boldsymbol{\alpha}} \rangle}{\|\Psi_{\boldsymbol{\alpha}}\|^2} = \frac{\mathbb{E}[Y(\boldsymbol{\xi}) \, \Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi})]}{\mathbb{E}[\Psi_{\boldsymbol{\alpha}}^2(\boldsymbol{\xi})]} $$
🧑‍🎓

理论上很漂亮,但实际怎么计算呢?计算期望值需要FEM的结果吧?

🎓

敏锐的指正。在Galerkin投影法中,需要将PCE展开代入控制方程,并改造求解器本身。例如,对于结构分析的刚度方程 $[K(\boldsymbol{\xi})]\{u(\boldsymbol{\xi})\} = \{F(\boldsymbol{\xi})\}$,将 $K$、$u$、$F$ 都进行PCE展开,通过向各基底的投影导出联立方程。理论上精度最高,但需要改写现有FEM求解器的内部,因此在实际工作中难以使用。这就是它被称为“侵入式(intrusive)”的原因。

配置法·回归法(非侵入式PCE)

🧑‍🎓

有没有不需要改造求解器的方法?

🎓

有的。实际工作中压倒性使用的是非侵入式PCE(Non-Intrusive PCE)。可以将现有的FEM求解器当作黑箱处理。做法是:

  1. 生成 $N$ 个样本点 $\{\boldsymbol{\xi}^{(1)}, \ldots, \boldsymbol{\xi}^{(N)}\}$
  2. 在每个样本点执行FEM,获取输出 $\{Y^{(1)}, \ldots, Y^{(N)}\}$
  3. 用最小二乘法估计系数
$$ \hat{\mathbf{c}} = \arg\min_{\mathbf{c}} \sum_{k=1}^{N} \left( Y^{(k)} - \sum_{\boldsymbol{\alpha}} c_{\boldsymbol{\alpha}} \Psi_{\boldsymbol{\alpha}}(\boldsymbol{\xi}^{(k)}) \right)^2 $$
🎓

写成矩阵形式是 $\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执行。不现实!

🎓
関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

不確かさ伝播シミュレーター

関連する分野

この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ