scipy.optimize
関数を使用して、いくつかの引数を持つ複雑な関数のグローバル最小値を見つけようとしています。scipy.optimize.minimize
つまり、「Nelder-Mead」メソッドが最もうまく機能しているようです。ただし、引数のドメイン外の領域に移動する傾向があり (正の値しかない引数に負の値を割り当てるため)、そのような場合はエラーが返されます。関数自体の中でscipy.optimize.minimize
引数の境界を制限する方法はありますか? それとも他のscipy.optimize
関数内でしょうか?
次のアドバイスを見つけました。
パラメータが許容範囲外になると、非常に大きな数値が返されます (適合するデータからはほど遠い)。これにより、(うまくいけば)このパラメータの選択に大きなペナルティが課せられ、
curve_fit
他の許容可能なパラメータのセットが最適であると判断されます。
この前の回答に記載されていますが、私の場合、この手順には多くの計算時間がかかります。