認識的不確かさと偶然的不確かさ
理論と物理
二種類の不確かさとは
先生、認識的不確かさと偶然的不確かさって何が違うんですか? どっちも「不確かさ」ですよね?
いい質問だね。ざっくり言うと、偶然的不確かさ(aleatory uncertainty)は自然のばらつきそのもので、データをいくら増やしても消えない。一方、認識的不確かさ(epistemic uncertainty)は知識不足から来るもので、モデルを改良したりデータを追加すれば減らせるんだ。
具体的にはどういうケースがありますか?
例えば自動車の衝突試験を考えてみよう。同じ車を同じ条件でぶつけても、鋼板の降伏応力はロットごとに微妙に違う。これは自然界のばらつき ― つまり偶然的不確かさだ。試験を100万回やっても、このばらつきはゼロにならない。
一方、衝突シミュレーションで使う摩擦係数は文献値をそのまま使ったりする。本当の値がわからないから仮に $\mu = 0.15$ と置いているだけで、精密な実験をすれば真値に近づける。これが認識的不確かさだ。
なるほど。「減らせるか減らせないか」がポイントなんですね!
そうだ。もう一つ重要なのは、V&V(検証と妥当性確認)の国際規格 ASME V&V 20 では両者を明確に区別して定量化することが要求されている点だ。ごちゃ混ぜにすると、どこに改善の余地があるかわからなくなるからね。
| 特性 | 偶然的(Aleatory) | 認識的(Epistemic) |
|---|---|---|
| 別名 | 不可約的不確かさ、統計的不確かさ | 可約的不確かさ、系統的不確かさ |
| 原因 | 自然のばらつき(確率的変動) | 知識・データ・モデルの不足 |
| 低減可能性 | 不可 ― 本質的にランダム | 可 ― モデル改良・データ追加で低減 |
| 数学的表現 | 確率分布 $f_X(x)$ | 区間 $[a, b]$、信念関数、P-box |
| CAEの例 | 材料強度のロット間変動、風荷重変動 | 乱流モデル誤差、未知の境界条件 |
| 伝播手法 | Monte Carlo、PCE | 区間解析、Dempster-Shafer |
偶然的不確かさの数学的表現
偶然的不確かさを数式で扱うにはどうするんですか?
偶然的不確かさは確率論で扱う。入力変数 $X$ に確率密度関数 $f_X(x)$ を割り当てて、出力 $Y = g(X)$ の統計量を求めるんだ。
出力 $Y$ の期待値と分散はこう表せる:
つまり入力の確率分布が完全にわかっていれば、出力の分布も(原理的には)計算できるということですね。
その通り。ただ実際には $g(\cdot)$ がCAEの巨大モデルだから、解析的に積分はできない。だからMonte Carloサンプリングや多項式カオス展開(PCE)を使うわけだ。
認識的不確かさの数学的表現
認識的不確かさのほうは、確率分布で表せないんですか?
鋭い質問だ。実は2つの学派がある。ベイズ主観確率派は認識的不確かさにも確率分布を割り当てて良いと考える。一方、非確率的アプローチ派は「データが不十分な状態で確率分布を仮定するのは危険」として、区間やファジィ集合で表現する。
区間表現の場合、変数 $\theta$ の取り得る範囲だけがわかっている状態を表す:
例えば乱流モデルの定数 $C_\mu$ は、文献によって $0.07 \leq C_\mu \leq 0.11$ と幅がある。この幅の中でどの値が「本当」かは現時点でわからない。これが区間で表す認識的不確かさだ。
確率分布と区間じゃ、伝播のやり方も全然変わりそうですね。
まさにそうだ。だから両者を混ぜて扱うための枠組みとして、P-boxやDempster-Shafer理論が必要になるんだよ。
確率箱(P-box)
P-boxって名前は聞いたことあるんですけど、正直よくわかってないです…
P-box(Probability box)は、累積分布関数(CDF)の上界と下界で不確かさを表現する方法だ。偶然的不確かさと認識的不確かさを同時に扱える点が最大のメリットだよ。
具体例で考えよう。鋼材の降伏応力は正規分布 $N(\mu, \sigma^2)$ に従うとする(これが偶然的不確かさ)。ただし平均値 $\mu$ がロットデータ不足で正確にわからず $\mu \in [340, 360]$ MPa だとする(これが認識的不確かさ)。このとき、CDFは1本の曲線ではなく帯状の領域になる。この帯がP-boxだ。
あ、なるほど! 分布の「形」はわかっているけど、パラメータにばらつきがある状態を表すんですね。
その通り。もっと情報が少ない場合(分布の形すらわからない場合)でも、P-boxは使える。分布に依存しないP-box(distribution-free P-box)では、平均と分散の範囲だけからChebyshevの不等式を使って上下界を構成するんだ。
Dempster-Shafer 証拠理論
Dempster-Shafer理論というのも聞いたことがあります。P-boxとは何が違うんですか?
Dempster-Shafer(DS)理論は、不完全な証拠から信念の度合いを表す枠組みだ。確率論では各事象に1つの確率を割り当てるけど、DS理論では信念関数 Bel と妥当性関数 Pl の2つの尺度を使って、確率の下界と上界を表す。
仕組みはこうだ。まず基本確率割当(BPA: Basic Probability Assignment)$m$ を定義する。これは各証拠の「質量」を表す関数で、空集合以外の部分集合に割り当てられる:
そして信念関数と妥当性関数は次のように定まる:
Bel は「少なくともこれだけは信じられる」下界で、Pl は「最大でこれだけ信じ得る」上界、ということですか?
完璧な理解だ。現場では、例えば複数の専門家が異なる意見を持っている場合に使う。エキスパートAは「パラメータは $[2, 5]$ の範囲」と言い、エキスパートBは「$[4, 7]$ の範囲」と言う。各意見に信頼度(BPA)を割り当てて、Dempsterの結合則で統合する。これにより、どの区間にどれだけの証拠が集まっているかを定量化できるんだ。
それって合意形成のツールとしても使えそうですね。
ASME V&V 20 における位置づけ
ASME V&V 20ではどう規定されているんですか?
ASME V&V 20-2009 "Standard for Verification and Validation in Computational Fluid Dynamics and Heat Transfer" では、モデルの検証指標 $E$ を次のように定義している:
ここで $S$ はシミュレーション結果、$D$ は実験データ。そしてこの $E$ を構成する不確かさを以下の3つに分解するんだ:
- $u_{\text{num}}$ ― 数値不確かさ(離散化誤差、反復誤差等):認識的
- $u_{\text{input}}$ ― 入力不確かさ(材料定数、境界条件のばらつき):偶然的+認識的の混合
- $u_D$ ― 実験不確かさ(計測誤差、再現性):偶然的+認識的の混合
ポイントは、$|E| \leq u_{\text{val}}$ なら「モデルは検証された(validated)」とはまだ言えず、「検証不確かさの範囲内で整合」と表現すること。そして認識的不確かさは将来の研究で低減可能な部分として明示するよう求められているんだ。
区別することで「改善の余地がどこにあるか」が見えるようになるわけですね。すごく合理的だ。
偶然的 vs 認識的の判断が難しいケース
- モデル形式の不確かさ:例えばRANS乱流モデル(k-epsilon vs SST)の選択。どのモデルが「正しい」か不明なので認識的に分類されるが、モデル選択のアンサンブルを作ると確率的に見えることもある。ASME V&V 20では認識的と位置づけている。
- 製造ばらつき:材料の降伏応力のロット間変動は偶然的だが、ロット内の系統的バイアスは認識的。データが十分あれば分離可能。
- 環境荷重:風速の季節変動は偶然的だが、将来の気候変動による変化は認識的。時間スケールで分類が変わる。
数値解法と実装
偶然的不確かさの伝播手法
じゃあ偶然的不確かさは具体的にどうやって伝播させるんですか?
最も標準的なのはMonte Carloサンプリング(MCS)だ。入力変数の確率分布から $N$ 個のサンプルを生成して、各サンプルに対してCAEモデルを実行する。出力のヒストグラムが自然にできるよ。
$N$ はどのくらい必要なんですか? CAEは1回の計算でも時間かかりますよね。
収束速度は $O(1/\sqrt{N})$ で、入力次元に依存しないのが強み。ただ、99パーセンタイルなど分布の裾を正確に捉えるには $N \geq 10{,}000$ は欲しい。実務ではLatin Hypercube Sampling(LHS)を使って必要サンプル数を大幅に削減するのが一般的だ。
| 手法 | 収束速度 | 必要サンプル数 | 特徴 |
|---|---|---|---|
| 単純Monte Carlo | $O(N^{-1/2})$ | 10,000〜1,000,000 | 汎用性が高い、大次元でも使える |
| Latin Hypercube | $O(N^{-1/2})$ 以上 | 100〜10,000 | 層別サンプリングで分散低減 |
| 多項式カオス展開(PCE) | 指数的 | $(p+1)^n$ 〜 | 低次元・滑らかな応答に強い |
| Kriging/ガウス過程 | ― | 10〜100 | サロゲートモデル、少サンプル向け |
認識的不確かさの伝播手法
認識的不確かさには確率分布がないんでしたよね。Monte Carloは使えないんですか?
そうだ。認識的不確かさを区間で表す場合は、出力の最大値と最小値を求める区間解析を使う:
単純な場合は $g$ の単調性を利用して端点だけ評価すればいい。でも複数の認識的パラメータがある場合は、最適化問題を解く必要がある。このときグローバル最適化アルゴリズム(遺伝的アルゴリズムや粒子群最適化)がよく使われるんだ。
認識的不確かさがDempster-Shaferで表現されている場合はどうするんですか?
その場合は各焦点要素(focal element)に対してモデルを評価し、出力側のBelとPlを構成する。焦点要素が $m$ 個あれば、最低でも $2m$ 回(各焦点要素の上下端)のモデル評価が必要になる。
混合不確かさの伝播(二重ループ法)
現実には偶然的と認識的の両方が混在しますよね。両方同時にどう扱うんですか?
最もオーソドックスなのが二重ループ法(Double-loop method)だ。外側ループで認識的パラメータを変化させ、内側ループで偶然的パラメータをMonte Carloでサンプリングする:
結果として、認識的パラメータの各値に対してCDFが1本得られる。それらの包絡線が出力のP-boxになるんだ。
外側100回 x 内側10,000回だと100万回のCAE計算…! 現実的じゃないですよね?
その通り。だからこそ次に紹介するサロゲートモデルが重要になるんだ。
サロゲートモデルによる加速
二重ループを現実的にするための工夫を教えてください。
実務ではCAEモデルの代わりに、はるかに高速なサロゲートモデル(代理モデル)を構築してから二重ループを回す。代表的な手法を挙げると:
- 多項式カオス展開(PCE):偶然的変数の直交多項式で出力を展開。展開係数に認識的パラメータの依存性を持たせれば一石二鳥。
- Kriging(ガウス過程回帰):少数のトレーニングデータから任意の点の予測値と予測分散が得られる。予測分散自体が認識的不確かさの指標になるのが特徴。
- ニューラルネットワーク:高次元入力に強いが、外挿性能と解釈性に課題。
サロゲートモデルを使えば、元のCAEモデルの計算回数を数十〜数百回に抑えつつ、二重ループで $10^6$ 回以上のサロゲート評価が可能になる。ただしサロゲート自体の近似誤差が新たな認識的不確かさになるから、その検証も忘れないように。
実践ガイド
不確かさの分類ワークフロー
実務で「この不確かさは偶然的? 認識的?」ってどうやって判断するんですか?
以下のフローで判断するといい:
- 入力変数を全てリストアップ ― 材料定数、荷重、形状寸法、モデルパラメータ等
- 各変数について「データをもっと集めたら幅が縮むか?」を問う
- 縮む → 認識的(例: 試験回数が3回しかない摩擦係数)
- 縮まない → 偶然的(例: 公差内の寸法ばらつき)
- 混合の場合は分離 ― 材料強度のロット間変動(偶然的)+ 試験機の系統誤差(認識的)
- 分類結果をテーブルに記録し、関係者でレビュー
迷ったらどうするんですか? 明確に分けられないこともありそうですが…
実は「完全に明確に分けられない」ケースも結構多い。重要なのは保守的側に倒すこと。迷ったら認識的として扱うほうが安全だ。なぜなら、認識的と分類すれば「改善すべき項目」としてフラグが立つから、後から追加データで絞り込める。逆に偶然的と決めつけると、改善の動機がなくなるからね。
実務上のベストプラクティス
現場で実際に不確かさ解析をやるときのコツはありますか?
- まず感度分析から始める:全変数を一度に扱うのではなく、Morris法やSobol指標で影響の大きい変数を特定してから本格的なUQに進む。
- 認識的不確かさの範囲設定は専門家と議論:区間の幅を広くしすぎると結果が役に立たなくなり、狭くしすぎるとリスクを見落とす。物理的な妥当性に基づく根拠を文書化しておくこと。
- 結果の報告は「帯」で示す:1本の曲線ではなく、認識的不確かさに起因する幅を明示する。「最良推定値は○○だが、認識的不確かさを考慮すると○○〜○○の範囲」という報告形式が望ましい。
- V&V報告書にはPIRTを添付:PIRT(Phenomena Identification and Ranking Table)で各現象の重要度と知識レベルをマトリクス化する。これが不確かさ分類の根拠になる。
よくある落とし穴
初心者が陥りがちなミスってありますか?
たくさんある! 代表的なものを挙げるよ:
- 全てを偶然的として扱う:認識的不確かさに無理やり確率分布を割り当てると、本来の改善余地が見えなくなる。「わからないなら一様分布」は危険。
- 二重ループの計算コストを甘く見る:サロゲートなしで二重ループを回そうとして、計算が終わらないケースが多い。
- 区間の依存関係を無視する:2つの認識的パラメータが物理的に相関している場合、独立に区間を設定すると出力範囲が過大になる(保守的すぎて設計が成立しない)。
- 分類を固定して見直さない:プロジェクトの進行とともにデータが蓄積されるので、認識的だった変数が十分なデータを得て偶然的に再分類されることもある。定期的なレビューが必要。
1番の「一様分布を割り当てる」って、現場でめちゃくちゃやりがちな気がします…
そうなんだ。一様分布は「両端が等確率」を暗に仮定することになる。例えばパラメータの真値が区間の端付近にある確率が中央と同じなんて、多くの場合は非現実的だ。本当に「何もわからない」なら、区間やP-boxとして扱うほうが誠実だと思うよ。
ソフトウェア比較
UQツール比較
認識的・偶然的不確かさの分離を実際にやるとき、どんなソフトウェアが使えるんですか?
主要なUQツールをまとめるとこうなる。商用とオープンソースの両方があるよ:
| ツール名 | 種別 | Epistemic/Aleatory分離 | P-box | DS理論 | 二重ループ |
|---|---|---|---|---|---|
| Dakota(Sandia NL) | OSS | ○ | ○ | ○ | ○ |
| OpenTURNS | OSS | ○ | △ | × | ○ |
| UQLab(ETH Zurich) | 学術 | ○ | △ | × | ○ |
| Ansys optiSLang | 商用 | ○ | × | × | ○ |
| SimLab(JRC) | OSS | ○ | × | × | △ |
| COSSAN | 学術 | ○ | ○ | ○ | ○ |
Dakotaがフル機能ですね。使い方は難しいですか?
Dakota はSandia国立研究所が開発したオープンソースのUQフレームワークで、最も包括的だ。入力ファイルベースで、任意の外部ソルバー(Abaqus、OpenFOAM等)を呼び出せる。epistemic と aleatory の変数を明示的に区別する記法があって、二重ループ(nestedメソッド)を直接記述できるのが強みだよ。
ただ、GUIがないのでラーニングカーブは急。PythonラッパーのpyDakotaを使うと少し楽になる。
Pythonが使える環境ならOpenTURNSもよさそうですね。
OpenTURNSはEDF(フランス電力公社)とAirbus等が共同開発しているPythonライブラリだ。APIが直感的で、確率分布・サンプリング・感度分析・サロゲートモデリングが一通り揃っている。P-boxのネイティブサポートは限定的だけど、自前で二重ループを組めば対応できるよ。
先端技術
不精密確率論の最前線
P-boxやDS理論の先にある研究ってどんなものがあるんですか?
不精密確率論(Imprecise Probability)という統一的な枠組みが活発に研究されている。P-box、DS理論、区間確率、下位確率(lower prevision)、信頼構造(credal set)を全て特殊ケースとして包含する理論だ。
注目されている具体的なトピックをいくつか紹介しよう:
- Random Sets(ランダム集合):DS理論を連続空間に拡張。焦点要素を連続的に取り扱える。
- Polynomial Chaos with intervals:PCEの係数を区間として扱い、出力のP-boxを効率的に構成する手法。二重ループの計算コストを劇的に削減。
- Bayesian model averaging(BMA):認識的不確かさの一形態であるモデル形式の不確かさを、複数モデルの加重平均で扱う。重みはベイズファクターで決定。
- Info-gap theory:ロバスト意思決定に特化した非確率的枠組み。最悪ケースに対する「免疫度」を最大化する設計を求める。
理論が統一されると、ソフトウェアの実装もスッキリしそうですね。
機械学習と不確かさ定量化
最近は機械学習で不確かさを扱う話もよく聞きます。
まさにホットなトピックだ。CAEとMLの接点で言うと:
- Physics-Informed Neural Network(PINN):物理法則を損失関数に埋め込んだニューラルネット。PINNの予測不確かさを偶然的・認識的に分離する研究(MC Dropout、Deep Ensemble)が進んでいる。
- ベイジアンニューラルネット(BNN):ネットワークの重みに事前分布を置くことで、重みの不確かさ(=認識的)を自然に表現。データノイズ(=偶然的)も同時に推定できる。
- Active Learning + UQ:サロゲートモデルの認識的不確かさが大きい領域にサンプル点を追加する戦略。少ない計算回数で効率的にP-boxの精度を向上できる。
認識的と偶然的の区別がMLの世界でも重要になってきているんですね。CAEの概念がMLに波及しているのが面白いです。
逆もまた然りで、MLの手法がCAEのUQを大幅に加速させている。両分野の融合はこれからますます進むだろうね。
トラブルシューティング
典型的なトラブルと対策
不確かさ解析でよくあるトラブルを教えてください。
1. P-boxの幅が広すぎて意思決定に使えない
- 原因:認識的不確かさの区間を保守的に設定しすぎ。または認識的パラメータ同士の相関を無視して独立に区間を組み合わせた。
- 対策:物理的な制約から区間を絞る。パラメータ間の依存関係(例:ヤング率とポアソン比は完全に独立ではない)を反映させる。感度分析で影響の小さい変数を固定値にしてしまうのも有効。
2. Monte Carloの収束が遅い(裾の推定が不安定)
- 原因:出力分布の99%点や99.9%点を求めようとしているが、サンプル数が不足。
- 対策:Importance Sampling(重点サンプリング)で裾の近傍に集中的にサンプルを配置する。またはLatin Hypercubeを併用して分散を低減する。
3. 二重ループの計算コストが爆発
- 原因:外側ループ(認識的)× 内側ループ(偶然的)で $10^5$ 回以上のCAE計算が必要。
- 対策:PCEやKrigingでサロゲートモデルを構築し、CAE計算回数を100回以下に抑える。Dakotaの
efficient_subspaceメソッドも検討する。
4. Dempster-Shafer結合則で矛盾する証拠がある
- 原因:2つの専門家意見が完全に矛盾する区間を持っている(例:$[1, 3]$ と $[5, 7]$)。
- 対策:Dempsterの結合則は矛盾度(conflict)が高いと結果が不安定になる。Yagerの修正規則やTransferable Belief Model(TBM)を使うか、矛盾の原因を専門家と再議論する。
5. 分類の曖昧さでレビューが紛糾
- 原因:ある変数を偶然的と認識的のどちらに分類するかで、設計チームとV&Vチームが合意できない。
- 対策:「両方の仮定で解析を行い、結果にどの程度差が出るか」を定量的に示す。差が小さければ分類論争は実質的に重要でない。差が大きい場合は追加データ取得を検討する。
5番のアプローチ、いいですね。「正しい分類」を議論し続けるより、両方やってみて影響を見るほうが建設的ですね。
その通り。不確かさの分類は科学的な厳密さも大事だけど、最終的には意思決定に役立つかどうかが判断基準だ。哲学的な議論で時間を浪費するより、定量的な比較で結論を出すほうがエンジニアリングとして正しいと思うよ。
関連トピック
なった
詳しく
報告