多項式カオス展開(PCE)
PCEの理論基礎
「確率のスペクトル法」という見方
多項式カオス展開(PCE)は、確率入力を持つ応答を直交多項式の級数で表す手法です。Wienerが1938年にガウス確率変数とHermite多項式で定式化し、任意分布への一般化(Wiener-Askeyスキーム:一様↔Legendre、ガンマ↔Laguerre等)で工学応用が開きました。本質は「確率空間のスペクトル法」です——空間方向をフーリエ級数で展開するように、確率方向を直交多項式で展開する。応答が入力の滑らかな関数なら、係数は急速に減衰し少数項で高精度になります(スペクトル収束)。この「滑らかなら速い・不連続なら苦しい」という性格まで含めて、スペクトル法の直感がそのまま通用します。
直交性がもたらす特典
基底 \( \Psi_{\boldsymbol{\alpha}} \) が入力分布の重みで直交する(\( \mathbb{E}[\Psi_i \Psi_j] = \delta_{ij}\gamma_i \))ことから、展開係数が決まった瞬間に統計量が代数的に読めます。
$$ f \approx \sum_{\boldsymbol{\alpha}} c_{\boldsymbol{\alpha}} \Psi_{\boldsymbol{\alpha}}(\mathbf{X}) \;\Rightarrow\; \mathbb{E}[f] = c_{\mathbf{0}}, \quad \mathrm{Var}[f] = \sum_{\boldsymbol{\alpha}\ne\mathbf{0}} c_{\boldsymbol{\alpha}}^2 \gamma_{\boldsymbol{\alpha}} $$
さらにSobol'感度指数も係数の部分和で厳密に得られます。モンテカルロの収束(\( 1/\sqrt{N} \))を待たずに、統計量と感度を「読み出せる」——これがPCEを他のサロゲートと分ける固有の強みです(詳細な活用はスパースPCEとLAR参照)。
侵入型と非侵入型——2つの系譜
| 系譜 | 仕組み | 特徴 |
|---|---|---|
| 侵入型(確率的Galerkin) | 支配方程式自体をPCEで展開し、係数場の連立方程式系を1回解く | 理論的に美しく高精度。ソルバーの書き換えが必要で商用CAEでは事実上不可 |
| 非侵入型(射影・回帰) | 既存ソルバーをサンプル点で実行し、係数を求積または回帰で推定 | ソルバーはブラックボックスのまま。実務の標準 |
本記事は主に非侵入型の設計論を扱います。侵入型は研究文脈(自作コード・専用UQ基盤)での選択肢です。
係数を求める数値手法
射影法——求積の設計がすべて
直交性から係数は内積 \( c_{\boldsymbol{\alpha}} = \mathbb{E}[f\,\Psi_{\boldsymbol{\alpha}}]/\gamma_{\boldsymbol{\alpha}} \) で与えられ、これを数値求積で評価するのが射影法です。1次元ならガウス求積(分布対応の求積点)で最少点数・最高精度。多次元では全テンソル積が点数 \( n^d \) で爆発するため、Smolyakスパースグリッドで交差項の求積を間引きます。射影法の性格は「求積点は選べない(求積則が指定する)」「点数は次数と次元で決まる」で、\( d \lesssim 10 \)・滑らかな応答なら今でも最も信頼できる経路です。注意点は2つ:①スパースグリッドは負の重みを含み、応答の非滑らかさに敏感、②求積点はしばしば範囲の端に来るため、端で解析が破綻しない入力範囲設計が回帰法以上に重要になります。
回帰法との使い分け
回帰法(最小二乗・スパース回帰)はサンプル配置が自由で、失敗ランの除外・逐次追加・スパース化と組み合わせられる柔軟性が利点です。使い分けの目安は:
- 低次元(d≤5)・応答が滑らか・ソルバーが安定 → 射影(ガウス求積/スパースグリッド)。決定論的で再現性が高い
- 中次元・失敗ランあり・スパース性を使いたい → 回帰(LAR+修正LOO)
- 高次元(d>20) → まずスクリーニングで次元を落とすのが先
収束の確認——次数スタディを省略しない
PCEの検証は「次数 \( p \) を上げて統計量が漸近するか」の次数スタディが基本です。平均は低次で決まり、分散はやや遅れ、裾の確率(信頼性解析)はさらに高次を要求する——出力する統計量ごとに要求次数が違うことを前提に、目的の量の収束を直接確認します。加えてホールドアウト点での点別誤差(またはLOO)を併記すれば、メッシュ収束スタディと同じ形式の検証報告になります。
実務適用の指針
PCEが勝つ場面・負ける場面
| 状況 | 判定 | 理由 |
|---|---|---|
| 入力の確率分布が定義済みで、統計量・感度が欲しい | 勝つ | 係数から解析的に読める。UQの本命 |
| 応答が滑らか(線形〜緩い非線形) | 勝つ | スペクトル収束で少サンプル高精度 |
| 座屈・接触オンオフなど不連続応答 | 負ける | Gibbs振動。クリギング系・領域分割へ |
| 逐次サンプリング・最適化が主目的 | 負ける | 予測分散を持つクリギングが有利 |
| 分布が不明で範囲しか分からない | 条件付き | 一様分布仮定で回せるが「分布仮定込みの結果」と明記 |
入力モデリングが結果を支配する
PCEの出力(平均・分散・感度・確率)は、入力分布の仮定に対して条件付きの答えです。分布型(正規か対数正規か)・裾の重さ・相関の有無で結果は大きく変わり、これはPCEの精度をどれだけ上げても消えない不確かさです。実務では、①分布の根拠(実測・規格・文献)を記録、②怪しい分布仮定は複数ケースで感度を見る、③相関はNataf変換等で明示的に扱う(無視は分散・感度を系統的に歪める)、を規律とします。「サロゲートの検証」と「入力モデリングの検証」は別物で、後者の方が結果を左右する——UQ報告のレビューではまずここを見ます。
スカラーからベクトル・場出力への拡張
応答が場(応力分布・温度場)の場合は、各節点に独立にPCEを張るのではなく、PODで場を少数モード係数に圧縮してから係数ごとにPCEを構築するのが定石です(ROMとの合流点)。これにより場全体の統計(平均場・分散場・任意点の信頼区間)が一貫した枠組みで得られます。
ツールと実装
ツールの選択肢
| ツール | 射影/回帰 | 特徴 |
|---|---|---|
| OpenTURNS(Python) | 両対応 | 分布モデリング〜信頼性まで一体。産業実績 |
| ChaosPy(Python) | 両対応 | 基底・求積の組み立て自由度が高い。研究・教育に好適 |
| UQLab(MATLAB) | 回帰中心(LARS) | スパースPCEの参照実装。文書が教科書級 |
| Dakota | 両対応(スパースグリッド充実) | HPC・ソルバー連携の枠組み |
| SmartUQ・optiSLang等商用 | 回帰中心 | GUI・CAE連携・DOE管理込み |
最小実装スケッチ(ChaosPy・射影法)
import chaospy as cp
import numpy as np
dist = cp.J(cp.Normal(210e9, 6e9), cp.Uniform(0.28, 0.32)) # E, ポアソン比
expansion = cp.generate_expansion(4, dist) # 4次直交基底
nodes, weights = cp.generate_quadrature(5, dist, rule="gaussian")
evals = [run_fem(*n) for n in nodes.T] # 求積点でCAE実行
model = cp.fit_quadrature(expansion, nodes, weights, evals) # 射影で係数決定
print(cp.E(model, dist), cp.Std(model, dist)) # 平均・標準偏差
print(cp.Sens_m(model, dist)) # Sobol'一次指数
回帰版は fit_regression に差し替えるだけで、同じ後処理が使えます。射影→回帰→スパース回帰と段階を踏んで比較できるのが、スクリプトベース実装の教育的価値です。
先端研究の動向
侵入型(確率的Galerkin)の再評価
長らく「理論は美しいが実装コストで非侵入型に敗北」とされてきた侵入型が、微分可能プログラミング・自動コード変換の発展で再評価されています。ソルバーの自動書き換えにより侵入型の実装障壁が下がれば、時間発展問題での長時間精度(非侵入型の弱点)で優位に立つ可能性があり、UQ基盤研究の一角として続いています。
任意分布・データ駆動基底(aPC)とベイズ統合
実測データのモーメントから直交基底を数値構成するarbitrary PC、係数推定をベイズ化してPCE自体の不確かさ(少サンプル起因)を信頼区間で持つ枠組み、モデル選択(次数・基底)のエビデンスベース比較など、統計的に誠実な方向への深化が進んでいます。ベイズ較正とPCEサロゲートの組み合わせは、この流れの実務接点です。
時間発展問題の長時間精度
非定常応答(振動・過渡)へのPCEは、時間とともに確率空間の非線形性が増して次数要求が発散する「長時間問題」が古典的課題です。時間区間分割(time-adaptive PCE)、位相と振幅の分離、フロー写像ベースの手法などが研究され、動的システムのUQ(地震応答・フラッター)への適用が広がりつつあります。実務では「どの時刻の・どの量のUQか」を絞ることが、この困難を回避する最も効果的な設計です。
トラブル対応
症状別の原因と対策
| 症状 | 考えられる原因 | 対策 |
|---|---|---|
| 次数を上げると分散が振動・増大 | 応答の非滑らかさ(Gibbs)、ノイズフィット | 応答の不連続性を確認。領域分割PCE・クリギングへ切替 |
| 求積点でソルバーが落ちる | 求積点が範囲の端・非物理な組合せ | 入力範囲を物理限界内に再設計。回帰法へ切替も選択肢 |
| スパースグリッドで負の分散が出る | 負の求積重み×非滑らか応答 | 次数/レベルを下げる、回帰法で再推定 |
| Sobol'指数の合計が1を大きく超える/割る | 相関入力を独立前提で展開 | Nataf/Rosenblattで独立化してから展開 |
| 平均は合うが裾の確率が実測と合わない | 低次打ち切り(裾は高次項が支配)、分布仮定の裾 | 次数スタディを裾確率で実施。分布の裾の感度ケース |
| 時間波形のUQが後半で崩れる | 長時間問題 | 時間分割PCE、または統計量を時刻ごとに直接推定 |
習得の勘所
PCEを勉強し始めたのですが、理論書の測度論のところで挫折しそうです…。実務者はどこまで理解すべきでしょう?
実務の理解目標は3点に絞っていい。①「分布が基底を決める」——入力分布を変えたら基底も統計量も変わる、だから入力モデリングが最重要。②「係数の2乗和が分散」——この1行が平均・分散・Sobol'のすべての源泉。③「滑らかなら速く、不連続なら壊れる」——スペクトル法としての性格が適用限界を決める。この3点を体で覚えるには、測度論より1変数の手計算例(正規入力×2次応答をHermite多項式で展開し、平均と分散を係数から検算してみる)を一度やるのが近道だ。理論の深追いは、実装が回るようになってからで全く遅くないよ。
関連トピック
なった
詳しく
報告