1. このページの目的
このページでは、optimize_flex における 誤差評価の考え方と実装方針 を体系的に説明します。
特に、
- 非線形最適化
- 多峰性
- 境界制約
- 外部エンジン最適化
といった状況下で、 なぜ尤度スキャンが有効なのか を理解することを目的とします。
2. 共分散行列が破綻する理由
多くの最適化手法では、
- 最適解近傍での 2 次近似
- ヘッセ行列の逆行列
によって誤差(共分散行列)を推定します。
しかし研究現場では、
- 評価関数が非対称
- パラメータが境界に張り付く
- 相関が非常に強い
- 評価関数が滑らかでない
といった状況が頻繁に発生します。
このような場合、 共分散行列は物理的意味を失います。
3. optimize_flex における誤差の定義
optimize_flex では、 最小化している評価関数を
f(x) ≈ −2 log L(x)
と解釈します。
ここで、
- L(x):尤度
- x:パラメータベクトル
です。
この解釈により、 統計的な意味を保ったまま 誤差評価を行うことができます。
4. 尤度スキャンとは何か
尤度スキャンとは、
- 注目する 1 つのパラメータを固定
- 残りのパラメータを再最適化
を繰り返すことで、
L(p) = max_{x≠p} L(x)
を直接評価する手法です。
これは、 プロファイル尤度 とも呼ばれます。
5. 尤度スキャンで分かること
尤度スキャンによって、
- 非対称な誤差
- 境界制約の影響
- 多峰構造
- パラメータ相関の強さ
が視覚的に理解できます。
特に、
- 「誤差が定義できない」
- 「このパラメータは意味を持たない」
といった判断が可能になる点が重要です。
6. 誤差幅の解釈
一般的に、
- Δf = 1:1σ 相当
- Δf = 4:2σ 相当
として解釈されることが多いですが、
optimize_flex ではこれを機械的には使いません。
重要なのは、
- 分布の形
- 歪みの原因
- 物理的制約との関係
を理解することです。
7. 可変パラメータ数問題での注意点
optimize_peakfit のような可変次元問題では、
- ピークの出現・消失
- モデル構造の変化
が尤度に直接影響します。
この場合、
- 誤差=不確定性
- モデル選択の曖昧さ
を混同しないことが重要です。
8. 外部エンジン最適化での注意点
外部エンジンを用いた場合、
- 評価ノイズ
- 実行失敗
- 数値的不安定性
が尤度曲線に現れます。
optimize_flex では、 これらを情報として扱う ことを推奨します。
9. よくある誤解
- 尤度スキャン=誤差棒の計算
- 共分散行列より劣る方法
- 計算コストが高すぎる
尤度スキャンは、 「高品質な誤差評価」 であり、 省略すべき工程ではありません。
10. まとめ
optimize_flex における誤差評価は、
- 数値的に正しいか
- 物理的に意味があるか
を同時に問うプロセスです。
尤度スキャンは、 最適化結果を信頼してよいかどうかを判断するための道具 です。
次のページでは、 optimize_flex に実装されている 各種最適化アルゴリズムの使い分け を解説します。