稀疏PCE与LAR
稀疏PCE的理论基础
什么是多项式混沌展开(PCE)
多项式混沌展开把含随机输入 \( \mathbf{X} = (X_1,\dots,X_d) \) 的响应,用与输入分布正交的多项式级数表示:
$$ f(\mathbf{X}) \approx \sum_{\boldsymbol{\alpha} \in \mathcal{A}} c_{\boldsymbol{\alpha}}\, \Psi_{\boldsymbol{\alpha}}(\mathbf{X}) $$
基函数按Wiener-Askey对应关系确定(正态→Hermite、均匀→Legendre等)。PCE的决定性优势是:系数一旦求出,统计量就能解析地读出来:
$$ \mathbb{E}[f] = c_{\mathbf{0}}, \qquad \mathrm{Var}[f] = \sum_{\boldsymbol{\alpha} \ne \mathbf{0}} c_{\boldsymbol{\alpha}}^2 $$
Sobol'灵敏度指数也以系数部分和的形式零额外成本得到。不用等蒙特卡洛收敛,均值、方差、灵敏度直接从展开里读——这就是PCE支撑CAE不确定度量化的原因。
维数灾难与稀疏性假设
基函数的数量随维数和阶数增长得有多快?
到总阶 \( p \) 的完全基有 \( P = \binom{d+p}{p} \) 个:\( d=10, p=5 \) 时3003个,\( d=20, p=5 \) 时53130个。最小二乘估计需要它两三倍的CAE计算——正面硬刚立刻破产。救赎在于实际工程响应的重要系数高度集中在低阶主效应和少数交互项上(有效稀疏性)。稀疏PCE假设"大多数系数为零"、自动甄选重要基,甄选引擎就是LAR(最小角回归)。
LAR甄选基函数的原理
LAR是按"与残差的相关性"依次吸纳基函数的贪心算法——但吸纳得很"温柔":相关性接近的候选沿等角方向同时推进,比一次到位的逐步法选择更稳定。稀疏PCE中,LAR生成候选模型序列(1个基→2个→……),逐一用留一误差打分、取最优者。"用哪些基、用几个"由数据驱动决定,无需人工调阶。
计算方法的细节
系数估计的两条路——投影与回归
| 方式 | 机制 | 特点 |
|---|---|---|
| 投影(求积) | 用正交性得 \( c_{\boldsymbol{\alpha}} = \mathbb{E}[f\Psi_{\boldsymbol{\alpha}}] \),数值求积 | 低维时精度极高;求积点随维数爆炸(稀疏网格也只能延缓) |
| 回归(最小二乘) | 在样本点上最小化 \( \| \mathbf{y} - \Psi\mathbf{c} \|^2 \) | 样本布置自由;与稀疏化天然配套——当今主流 |
稀疏化的实际——截断策略与自适应阶数
实用的稀疏PCE分三段收窄候选空间:
- 双曲截断(q-范数)——把候选基限制在 \( \|\boldsymbol{\alpha}\|_q \le p \)(\( q \approx 0.5\sim0.75 \)),先剪掉高阶交互项
- LAR甄选——从候选中选出留一误差最小的活跃基集合
- 自适应阶数——逐步提高最大阶 \( p \) 反复以上流程,在LOO最优的 \( p \) 停止
这套组合下,所需样本数降到"活跃基数量的2~3倍",\( d = 10\sim20 \) 的问题几十到200次计算就常能达到实用精度。
验证指标——LOO误差与修正
回归型PCE的LOO误差有闭式算法(借投影矩阵对角元,无需重训n次)。指标用相对LOO误差 \( \epsilon_{LOO} \) 或 \( Q^2 = 1 - \epsilon_{LOO} \),参考线:矩估计目的 \( Q^2 \ge 0.99 \),趋势把握约0.95。有限样本的LOO偏乐观,应使用按"基数/样本数比"修正的LOO(UQLab等已实现)。
实务应用流程
标准工作流
- 定义输入分布——各因子的分布类型与参数依据实测·标准·文献设定。分布的依据是整个PCE的地基(分布变了,基和统计量全变)
- 处理相关性——输入有相关时先用Nataf变换等映射到独立标准变量再展开
- 实验设计——LHS取预期活跃基数量的2~3倍;拿不准就从 \( 10d \) 起步
- 构建自适应稀疏PCE——LAR+LOO自动选阶与基
- 验证——修正LOO;有余力再留出几个CAE点做hold-out
- 后处理——从系数得均值·方差·Sobol'指数;要分布和尾概率就在展开上做蒙特卡洛
与Kriging的分工
| 视角 | 稀疏PCE | Kriging |
|---|---|---|
| 擅长的响应 | 全局光滑·多项式型 | 局部起伏·中等非线性 |
| 统计量获取 | 由系数解析得到(含Sobol') | 需在代理上抽样 |
| 预测的不确定度 | 原生没有 | 有预测方差(可主动学习) |
| 输入的处理 | 前提是给出概率分布 | 只有范围也能建 |
入门判据:"以UQ·灵敏度为主→PCE;以逐次抽样·优化为主→Kriging"。两者的折中PC-Kriging(趋势用稀疏PCE、残差用GP)兼取两长,UQLab等可用。
CAE特有的注意点
分析的数值噪声(网格重生成·收敛截断)会漏进高阶系数、系统性抬高方差与Sobol'指数。疑有噪声时按序处理:①同一点重算实测噪声幅值;②收敛判据收紧一个量级;③刻意压低阶数上限(防噪声拟合)。失败算例的剔除会扭曲样本分布——套用Morris法一文所述的纪律(重审范围·记录在案)。
实现工具
工具支持情况
| 工具 | 稀疏PCE支持 | 特点 |
|---|---|---|
| UQLab(MATLAB) | LARS·OMP·自适应阶·修正LOO | 被广泛引用的参考实现 |
| OpenTURNS(Python) | FunctionalChaos(LARS+模型选择) | 分布定义~可靠性一条龙;工业实绩 |
| ChaosPy(Python) | 基·回归·求积自由拼装 | 研究·定制实现 |
| Dakota | polynomial_chaos(含稀疏回归) | HPC求解器联动框架 |
| pygpc等 | 自适应稀疏gPC | 轻量专用实现 |
OpenTURNS最小示例
import openturns as ot
dist = ot.ComposedDistribution([ot.Normal(210e9, 6e9), # E
ot.Uniform(1.8e-3, 2.2e-3)]) # 板厚
X = ot.LHSExperiment(dist, 60).generate()
Y = run_fem_batch(X) # CAE批量执行(自行实现)
algo = ot.FunctionalChaosAlgorithm(X, Y, dist) # 默认LARS+模型选择
algo.run()
result = algo.getResult()
sens = ot.FunctionalChaosSobolIndices(result)
print(sens.getSobolIndex(0), sens.getSobolIndex(1)) # Sobol'一阶指数
系数、活跃基、LOO误差都能从result对象取出——报告里务必附上活跃基数量与LOO误差。
前沿研究动态
与压缩感知的衔接
"从少量样本恢复稀疏系数"正是压缩感知本身:\( \ell_1 \) 最小化(Basis Pursuit)、OMP、贝叶斯压缩感知等恢复算法都已移植到PCE,样本需求的恢复保证理论(RIP等)也随之而来。跨算法的实证结论很一致:无论用哪个恢复引擎,夹在中间的"修正LOO模型选择"决定最终精度。
任意分布·相关输入的扩展(aPC·Copula)
实测数据很少服从干净的正态或均匀分布。由数据矩数值构造正交基的arbitrary PC(aPC)、用Copula表达相关结构再经Rosenblatt/Nataf变换独立化的框架已经成熟,让"分布理想化"可以作为单独的建模误差被切分出来。把分布估计自身的不确定度也纳入UQ的二阶分析同样是活跃课题。
不连续响应与多单元PCE
屈曲、接触、相变这类响应的不连续·陡峭过渡,从原理上让全局多项式收敛恶化(Gibbs现象)。把输入空间分块、逐块张低阶PCE的多单元gPC,以及检测不连续位置自适应分块的方法在推广中。实务上的信号是"提高阶数LOO也不再改善"——此时就该切换到ME-PCE或Kriging系。
故障排查
按症状的原因与对策
| 症状 | 可能原因 | 对策 |
|---|---|---|
| LOO很好、hold-out却差 | 样本少使LOO乐观;在外推 | 用修正LOO;补做hold-out;使用域收进训练域 |
| 提高阶数误差反而变差 | 对噪声过拟合;高阶项样本不足 | 压低阶上限、补样本、实测噪声幅值 |
| 方差·Sobol'指数偏大 | 数值噪声混入高阶系数 | 收紧收敛、冻结网格、加强q-范数截断 |
| 相关输入下Sobol'指数怪异 | 把相关输入直接喂给独立前提的展开 | 先Nataf/Rosenblatt独立化;指数在变换后变量下解释 |
| 系数每次运行都变 | 活跃基甄选不稳定(样本太少) | 补样本;稳定前给统计量配bootstrap置信区间 |
| 不连续响应不收敛 | 全局多项式的极限(Gibbs) | 多单元PCE、分域Kriging,或重定义响应(如把发生荷载当响应) |
报告的最小必备集
稀疏PCE的结果,报告里写什么才算可验证?
记五件套:①输入分布的定义与依据(类型·参数·相关性);②样本数与实验设计类型;③选出的阶数与活跃基数量;④修正LOO误差(有hold-out误差更好);⑤导出的统计量(均值·方差·Sobol')及其用途。有这五件,第三方就能重构同一分析。反之,只有一张不带Q²的Sobol'柱状图——再漂亮也无法验证,别交这种报告。
相关文章:Morris法参数筛选、Kriging代理模型、贝叶斯标定。
帮助
更多
错误