共通実行フロー

plot / sim / lfit / fit / scan による段階的最適化手順

1. なぜ共通フローが必要か

optimize_flex では、最適化を 1 回のコマンドで完結させることを推奨していません。

理由は明確です。

そのため optimize_flex では、 解析を段階的に進める共通フロー を採用しています。

2. 全体フローの概要

すべての optimize_xxx プログラムは、 概ね次の流れで使用します。

  1. plot:データ・モデルの確認
  2. sim:評価関数の単体検証
  3. lfit:線形パラメータの安定化
  4. fit:非線形最適化
  5. scan:誤差評価・妥当性確認

この順番には意味があります

3. plot ― データと前提条件の確認

plot モードは、 最も重要なステップ です。

ここでは、

を確認します。

この段階で違和感があれば、最適化を始めてはいけません。

4. sim ― 評価関数の単体検証

sim モードでは、

を用いて、 評価関数が正しく動作するか を確認します。

特に外部エンジン最適化では、

がすべてここで検証されます。

5. lfit ― 線形パラメータの安定化

多くの問題では、

といったパラメータが 線形に分離可能 です。

lfit モードでは、

ことで、 最適化全体の安定性を高めます。

lfit を飛ばす理由がない限り、必ず実行してください。

6. fit ― 非線形最適化

fit モードでは、

などのアルゴリズムを用いて 非線形パラメータを最適化します。

ここで重要なのは、

ことです。

7. scan ― 誤差評価と妥当性確認

scan モードは、 最適化の「最後」ではありません。

ここでは、

することで、

を可視化します。

scan の結果を見て、

ことは、自然な作業です。

8. よくある間違った使い方

これらはすべて、 不安定・再現不能な結果 につながります。

9. optimize_xxx 間での共通性

この共通フローは、

すべてに共通します。

モデルの性質が異なっても、 解析者の思考プロセスは同じ です。

10. まとめ

optimize_flex における最適化は、

です。

この共通フローを守ることで、

が大きく向上します。

次のページでは、 このフローの中で使われる 誤差評価(尤度スキャン)の考え方 を詳しく解説します。