2017-08-18 9 views
0

私はcurve_fitを使用してカスタム関数をいくつかのデータポイントに合わせようとしています。私は1つまたは2つのフリーパラメータを試しました。私は他の時代に使ってきました。アルゴリズムは、初期値が何であっても、無限のシグマで常に初期入力値を返すので、今私はうまくいっていません。私はまた、私のカスタム関数が呼び出された内部パラメータを印刷しようとしましたが、私は理解していません、私のカスタム関数はわずか4回、最初の3つは常に同じパラメータと最後の相対的な変更パラメータは10^-8である。これは正しく見えませんpython 3.3:scipy.optimize.curve_fitはポイントの値を更新しません

+1

試したコードを追加すると便利です。 – 9dogs

+0

コードに加えて、[リースはデータへのリンクを追加します。 –

答えて

2

パラメタ値に非常に小さい(約1e-8)変更を加えて、目的関数を最初に呼び出すと、偏微分を計算してパラメータ空間に入る方法を決定するのが普通です。目的関数の結果がまったく変化しない場合(1e-8レベルでさえも)、フィットは諦めるでしょう:パラメータ値を変更しても結果は変わりません。

まず、目的関数の結果が実際にパラメータに敏感であるかどうかを調べます。結果の変更が実際に1e-8の変更に敏感ではなく、より大きな変更に敏感である場合はepsfcnの値をscipy.optimize.leastsqに引き上げることをお勧めします。

関連する問題