ArrayDataFit は、独立変数 の各値について同じフィットを独立に実行し、フィット結果のパラメータを 2xN 配列として返します。1 行に独立変数の値、もう 1 行に対応するフィット値が格納されます。
これは、フィットするパラメータが状態変数に 依存する と想定され、単一のスカラーではなくサンプリングされた関数を得たい場合に適したツールです。よくある例は次のとおりです。
- 化学量論に対する拡散係数 — GITT またはパルス実験から得られ、各パルスの中間点の化学量論を鍵としてパルスごとに 1 回フィットします。
- 温度に対する交換電流密度または拡散係数 — チャンバー温度ごとに 1 回フィットします。
- SOC に対する OCP 由来のパラメータ — SOC 設定値ごとに 1 回フィットします。
通常の DataFit との違い
通常の DataFit は、すべての目的関数に対して まとめて 1 回の最適化を実行し、パラメータごとに単一のベストフィット値を生成します。一方 ArrayDataFit は、objectives の各キーについて 個別に 最適化を実行し、キーごとにフィット値を生成します。キー自体が独立変数の値となります。
DataFit | ArrayDataFit | |
|---|---|---|
| 最適化の回数 | 1 回 | objectives のキーごとに 1 回 |
| パラメータごとの結果の形状 | スカラー | 2xN 配列([independent_var_values, fitted_values]) |
| 使う場面 | パラメータが単一の数値の場合 | パラメータが独立変数のサンプリングされた関数の場合 |
Python での使用方法
API での使用方法
パイプライン API は、data_fit と同じトップレベルのフィールドを持つ array_data_fit 要素を受け付けます。objectives のキーは独立変数の値です。
DataFit と共有するオプション一式(cost、optimizer、multistarts、prior など)の詳細は、SimplePipeline ガイド
と API リファレンス を参照してください。
関連
データフィッティング入門
Background on objectives, parameters, and optimizers
目的関数
Choose the right objective for your data