問題タブ [lmfit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lmfit - lmfit の適合パラメーターの不確実性
適合パラメータの不確実性を出力する最も簡単な方法を探しています。spo.curve_fit を使用すると、適合時に共分散行列を取得するだけで、対角線と平方根をとって不確実性を見つけることができます。lmfit の場合、それほど単純ではないようです。
私のフィッティングは次のようになります。
適合レポートを生成すると、不確実性の値が得られるので、それらは明確に計算されています。私の問題は、それらを呼び出して使用することです。上記のコードの最後の行のように、stderr を使用してパラメーターの不確実性を出力しようとしましたが、これは単に「なし」を返します。共分散行列を取得できますが、これがどのような順序で表示されているかわかりません。最終的な目標は、値と関連する不確実性を配列に入れ、コードでさらに使用できるようにすることです。
python - ipython で lmfit をインポートするときのエラー
ipython で lmfit をインポートする際に問題が発生しています。
python 2.7.9 で ipython 2.30 を実行: lmfit をインポートすると 2 つのエラーが発生します:
1)
再インポートしようとすると、そのエラーが消えて、次のようになります。
このエラーは、インポートを再実行しても消え ません。
ipythonを使用せず、通常の python シェルにインポートするだけであれば、エラーや問題は発生しません。明らかに、ipython と何らかの競合があります。
誰かが似たようなものを見たことがありますか、またはこれに対処するために正しい方向に私を向けることができますか? マハロ!
python - データセットなしで共有パラメーターを使用して lmfit を使用して複数の関数を適合させる - Python で
これら 3 つの関数からパラメータE_u
、tau_max
、およびを見つけたいと思います。G
機能は次のとおりです。
Function 1: 0=0.009000900090009*E_u*(0.000103939092728486*exp(1500000.0/tau_max) + 0.000157703794137242*exp(2999000.0/tau_max) + 0.00017784012*exp(4500000.0/tau_max) + 0.00025534696*exp(6000000.0/tau_max) + 0.00027086158*exp( 7500000.0/tau_max) + 0.000280826592271819*exp(9000000.0/tau_max) + 0.0004132622*exp(10501000.0/tau_max))*exp(-10501000.0/tau_max) + 1000000.0*G*(0.000467438377626028*exp(2999000.0/tau_max) + 0.00117770839577636*exp( 4500000.0/tau_max) + 0.00197826966391473*exp(6000000.0/tau_max) + 0.00312798328672298*exp(7500000.0/tau_max) + 0.00434787369844519*exp(9000000.0/tau_max) + 0.00561383708066149*exp(10501000.0/tau_max))*exp(-10501000.0/tau_max)/ tau_max
Function 2: 1.13624775718=0.09000900090009*E_u*(0.000103939092728486*exp(15000.0/tau_max) + 0.000157703794137242*exp(29990.0/tau_max) + 0.00017784012*exp(45000.0/tau_max) + 0.00025534696*exp(60000.0/tau_max) + 0.00027086158*exp( 75000.0/tau_max) + 0.000280826592271819*exp(90000.0/tau_max) + 0.0004132622*exp(105010.0/tau_max))*exp(-105010.0/tau_max) + 10000.0*G*(0.000467438377626028*exp(29990.0/tau_max) + 0.00117770839577636*exp( 45000.0/tau_max) + 0.00197826966391473*exp(60000.0/tau_max) + 0.00312798328672298*exp(75000.0/tau_max) + 0.00434787369844519*exp(90000.0/tau_max) + 0.00561383708066149*exp(105010.0/tau_max))*exp(-105010.0/tau_max)/ tau_max
Function 3: 1.13106678093=0.9000900090009*E_u*(0.000103939092728486*exp(150.0/tau_max) + 0.000157703794137242*exp(299.9/tau_max) + 0.00017784012*exp(450.0/tau_max) + 0.00025534696*exp(600.0/tau_max) + 0.00027086158*exp( 750.0/tau_max) + 0.000280826592271819*exp(900.0/tau_max) + 0.0004132622*exp(1050.1/tau_max)*exp(-1050.1/tau_max) + 100.0*g*(0.00047474377777777777777777777777777777777777777777777777777777 450.0/tau_max) + 0.00197826966391473*exp(600.0/tau_max) + 0.00312798328672298*exp(750.0/tau_max) + 0.00434787369844519*exp(900.0/tau_max) + 0.00561383708066149*exp(1050.1/tau_max))*exp(-1050.1/tau_max)/ tau_max
python - 2 つの非線形モデルをデータに当てはめる
に示されている例に従って、lmfit
私の問題に似た例を設定しようとしています。私の問題はもともと、私のデータでは 2 つまたは 3 つのモデルを適合させることができますが、モデルは非常に非線形ですが、モデルごとに 1 つの自由パラメーターしかありません。
lmfit
ドキュメントに似た私の例:
得られた結果:
フリー パラメータは完全にずれているように見えますが、最終結果のプロットでは、データの分布に従っていることは明らかですが、振幅は正しくありません。
正しい結果を得るためにコードを変更するための提案はありますか?
python - python lmfit:モデルを定義する離散値の配列が与えられた場合、同じ長さのデータ配列を指定された不確実性値に適合させる方法は?
長さ 100 のデータセットと不確実性の両方の単一配列があります。長さ 100 の「モデル」配列もあります。目標: このモデル配列の 1 つのパラメーター (振幅のスケーリング) のみを最適化して、不確実性を考慮してデータをより適切に適合させます。
これまで私は試しました:
次に、最適な値の振幅を元のモデル配列で乗算します。
次に、元のデータセットに適合をプロットすると、まったくひどいものに見えます。モデルがデータの近くにあることさえわかりません。コード/アルゴリズムの何が問題になっていますか?
python - 任意の数のパラメーターを持つ python lmfit モデルの作成
任意の数の従属変数を持つ関数に基づいて lmfit モデルを構築する方法はありますか? 例えば:
多項式級数に興味があり、級数が大きくなったり小さくなったりするときのパフォーマンスをテストしたい場合は、上記に似たものが素晴らしいでしょう。
python - Python lmfit で複数の独立変数を使用する
モデルをいくつかのデータに適合させようとしています。独立変数は と と呼ばA
れB
、Pandas DataFrame の列です。y
データフレームに対して2つのパラメーターを合わせようとしています。
以前は、curve_fit
Scipy から次のことができました。
しかし今、私は を使用してlmfit
います。ここでは、 のように独立変数を単純に「パック」することはできませんcurve_fit
。
ここはどうやって走るのmodel.fit()
?FAQはあまり役に立ちません。そもそも何をフラット化する必要があるのでしょうか?