2016-11-24 7 views
0

私はプロットに合わせる必要のあるデータセットを持っています。私はフィッティングにleastsq()を使用しています。しかし、現時点では、実際にはフィッティングに実際に影響を及ぼしている最初の推測値を手動で与える必要があります。 leastsq()で渡すことができる最初の推測値を最初に計算する方法はありますか?Pythonでleastsq関数の初期推測を見つけるには?

答えて

1

いいえ、最初の推定値を実際に計算することはできません。
あなたは推測された推測をしなければならず、それは実際にあなたのデータとモデルに依存します。

当初の推測がフィッティングに影響する場合、他に何か起こっている可能性があります。あなたはたぶん地方の極小にこだわっているでしょう。モデルが複雑すぎるか、データ範囲が非常に大きいため浮動小数点精度の限界に達し、フィッティングアルゴリズムがパラメータ変更の変更を検出できません。後者は、データ(およびモデル)を正規化するか、または線形スペースの代わりにlog(-log)スペースを使用するなどして回避することができます。

Nelder-Mead amoebeメソッドのように、leastsqを避けて、別の最小化メソッドを使用してください(これははるかに遅くなりますが、全体的により良い結果が得られる可能性があります)。

関連する問題