iws.DataFit はパラメータフィッティングを記述します。どの実験と比較するか、どのパラメータを自由にするか、どう探索するかを指定し、パイプラインの 1 要素として送信します。理論(コスト関数、識別可能性、マルチスタート)は データフィッティング (英語ガイド) を参照してください。
最小構成のフィット
複数の目的関数
複数の目的関数を渡せば、複数の実験(異なる C レートや温度での放電など)に同時にフィットできます。オプティマイザ
iws.optimizers は DataFit で利用可能なオプティマイザを提供します。問題に合うものを選んでください。
| スキーマ | 用途 |
|---|---|
iws.optimizers.ScipyMinimize(method="L-BFGS-B") | 滑らかな問題、高速な局所最適化 |
iws.optimizers.ScipyLeastSquares() | 残差ベースの最小二乗、事前分布と相性が良い |
iws.optimizers.DifferentialEvolution() | 大域探索、勾配不要 |
iws.optimizers.CMAES() | 大域探索、多数の局所最小、デフォルトが堅牢 |
iws.optimizers.PSO() | 大域探索、並列化可能な集団探索 |
マルチスタート
複数の局所最小を持つ問題では、異なる初期点から複数回最適化を実行します。結果の取得
result.element_results["fit"] はデータフィットの出力(最適パラメータ値、最終コスト、ログ化された軌跡など)をキーとする dict です。エンドツーエンドの例は packages/ionworks-api/examples/pipeline/datafit.py を参照してください。
データフィッティング (理論)
コスト関数の数学、識別可能性、マルチスタート戦略 (英語ガイド)。
目的関数
データ形状に応じたコストの選び方。
正則化
ガウス事前分布でフィットを安定化。
感度解析
実際に拘束されているパラメータを定量化。