私はdifferential_evolution
アルゴリズムを使用してscipy
、ガウス関数で畳み込まれたさまざまな指数関数でいくつかのデータを適合させています-これ自体は問題ではなく、関数はそれによく適合します。
scipy.optimize.minimize
ただし、「ポリッシュ」を設定している(つまり、メソッドで使用しL-BFGS-B
て最適な母集団をポリッシュする)にもかかわらず、結果辞書にヤコビアンを与えていません(フィット定数のエラーを計算するために使用したい)末尾のメンバー) を True に設定するため、ドキュメントにはヤコビアンを指定する必要があると記載されています。私の関数は、ガウス幅と任意の数の指数を取り、次のように適合しています。
result = differential_evolution(exponentialfit, bounds, args=(avgspectra, c, fitfrom, errors, numcomponents, 1), tol=0.000000000001, disp=True, polish=True)
結果出力にヤコビアンが表示されない理由はありますか?