分析ワークフロー
このページでは、推奨する分析ワークフローを順を追って説明します。
各ステップでは、使用するウィジェットと、そのウィジェットが用いる手法の理論ページへのリンクを併せて示します。
初めて最適化結果を分析するときは、ステップ 1、2、6 だけでも十分です。 ステップ 3、4、5 は、より深く分析するときに使います。
flowchart TD
s1["1. Dashboard にデータを読み込む"] --> s2["2. 全体像を掴む"]
s2 --> s3["3. 分布と相関を把握する"]
s3 --> s4["4. 効いているパラメータを特定する"]
s4 --> s5["5. 結果の形を見る"]
s5 --> s6["6. 良いトライアルを選ぶ"]
s6 --> s7["7. 選んだ設計案を検証する"]
s7 --> s8["8. さらに探索する(任意)"]
s8 -. "新しい候補を次の最適化へ" .-> s1
s2 -. "まずは結果が欲しい場合" .-> s6
1. Dashboard にデータを読み込む
分析したい最適化結果を開きます。 ダッシュボードは Optuna のストレージファイル(Journal、SQLite、PostgreSQL、MySQL)を直接読み込めるため、変換は不要です。
2. 全体像を掴む
詳細な分析に入る前に、そもそも最適化がうまくいったのかを確認します。
単目的最適化の場合
- Trial Table と Optimization History で結果を眺め、トライアルの数と目的関数の改善傾向を確認します。
- 目的関数がトライアル数の増加とともに改善しているかを見ます。改善していなければ、最適化はうまくいっていません。
多目的最適化の場合
- Convergence Indicators チャートで収束状況を確認します。
- このチャートでは、Hypervolume、IGD+、ε-indicator、R2 の 4 指標を共通スケールで追跡でき、複数の Study も比較できます。指標の選び方と定義は同ページを参照してください。
- 結果の線が平坦にならず増加(または減少)し続けているなら、最適化にはまだ改善の余地があります。
3. 分布と相関を把握する
パラメータと目的関数がどう分布し、互いにどう関係しているかを把握します。
- 1 変数ずつ:ヒストグラム(歪み、多峰性、外れ値)、箱ひげ図(並べて比較)
- 全ペアを一望:相関行列のヒートマップで概観し、気になる相関は Scatter Matrix で実際の形状を確認します
4. 効いているパラメータを特定する
Importance Chart で、各目的関数に対するパラメータの影響度をランク付けします。 次の 2 段階で進めるのがおすすめです。
- まず Spearman か
Ridge の結果を確認
- どちらも高速で、符号付き(影響の方向が分かる)です。ただし線形を前提とするため、交互作用や非線形性は考慮しません。
- 交互作用や非線形性を確認
- Sobol(交互作用)、SHAP(説明可能性)、Permutation(安定性)などによって、より精度の高い影響度を確認できますが、計算コストが高くなります。
手法の比較と使い分けは、選択ガイドを参照してください。
5. 結果の形を見る
どのパラメータが効くか分かったら、次は、それが目的関数へどう影響するかを見ます。
- 1 パラメータ:1D PDP または Slice Chart
- 2 パラメータ:サロゲートモデル上の 2D PDP。モデルを介さず実測値だけを見たいときは Observed Contour(外挿なし)を使います
- 候補設計の周辺の局所なコンター:Response Surface 3D
サロゲートモデルの選択(Ridge、Random Forest、GP 系)には、速度と表現力のトレードオフがあります。 詳細は、モデル比較を参照してください。
6. 良いトライアルを選ぶ
トライアルを、実際に採用する設計案まで絞り込みます。
- トレードオフの全体像を確認する
- Pareto Scatter 2D(3 目的なら Pareto Scatter 3D)
- MCDM 手法で、単一の総合スコアによりランク付けする
- 類似するトライアルをまとめる
- 絞り込んだ候補同士は、Radar Comparison(形状の比較)と Comparison Table(値の比較)で見比べられます。
7. 選んだ設計案を検証する
計算上は最適値でも、実際の設計では製作誤差や環境変動によって性能が変わることがあります。
- 入力ノイズに対する安定性は、Robustness ウィジェットで確認します(サロゲート上のモンテカルロによるノイズ伝播)。
- 設計空間に複数の領域がありそうなら、クラスタリング(k-means、階層クラスタリング、PCA Biplot、SOM Map)で、候補が孤立した外れ値でないことを確認します。詳しくはクラスタリング概要を参照してください。
8. さらに探索する(任意)
十分なトライアルが見つからないときは、Surrogate Optimizer を使い、学習済みモデル上で有望な新候補を探索できます。 すでに得られているトライアルよりさらに改善が見込める領域を、実際の評価を追加せずに探せます。