非線形モデル近似のパラメーター制約次の形式の双指数関数成長モデルを適合させています。

dmax1
非線形プラットフォームでこれを行う方法はありますか?
再:非線形モデルフィッティングにおけるパラメータの制約もし仮定が真実だと信じるなら、最良のモデルは制約なしでそのような推定値を見つけるべきだと思う。それ以外の場合、データはその仮定に対する証拠です。
カスタムモデルは同じままです。損失関数のペナルティとして制約を導入する必要があると思います。制約に違反すると、ペナルティは高くなります。
再:非線形モデルフィッティングにおけるパラメータの制約これは数学よりも利便性の問題です。 実際の問題は、DOEの一部として生成された複数の運動プロファイルに非線形モデルを適合させていることです。 私が示した非線形モデルは、プロセスを記述する理論モデルであり、「遅い」反応と「速い」反応の2つの別々の反応で構成されています。 遅い反応速度は速い反応速度の約1/100です。
問題は、各プロファイルに非線形モデルを当てはめると、推定される「rate1」パラメーターが最小になる場合と、「rate1」パラメーターが最大になる場合があります。 JMPは、rate1が遅いレートであることを知りません。 パラメーターの推定値を保存するとき、どのレートが遅いレートで、どのレートが速いレートであるかを判断するために、データ処理を行う必要があります。 最終的に、DOEの係数を使用して、遅い反応速度と速い反応速度を予測します。
私の一部は、しかし、この制約を強制すると、モデルがより安定するかもしれないと思いますか?しかし、そうではないかもしれません。 よく分かりません。
再:非線形モデルフィッティングにおけるパラメータの制約スー・ウォルシュは、このタイプのモデルについて、紙 JMP Discoveryでしばらく前に。
セグメント化されたモデルに関するスライドのメモは少しまばらですが、設定方法の要点を理解できると思います。
再:非線形モデルフィッティングにおけるパラメータの制約制約なしで非線形フィッティング後に推定値を処理する方が簡単かと思います。dmax1とrate1のパラメーター推定値が常に最初でなくても、dmax1とrate1のパラメーター推定値は一緒になり、dmax2とrate2のパラメーター推定値は一緒になると思います。次に、希望する順序を実現するために、推定値テーブルを保存した後、データテーブルの順序を単純に入れ替えることができます。この例は、私が念頭に置いていることを示しています。
Names Default to Here( 1 );
dt = New Table( "Double Exponential Models",
Add Rows( 20 ),
New Column( "dmax1",
Values( J( 20, 1, Random Uniform() ) )
),
New Column( "rate1",
Values( J( 20, 1, Random Uniform() ) )
),
New Column( "dmax2",
Values( J( 20, 1, Random Uniform() ) )
),
New Column( "rate2",
Values( J( 20, 1, Random Uniform() ) )
)
);
Wait( 5 );
For Each Row(
If( :rate1 > :rate2,
temp = :dmax1;
:dmax1 = :dmax2;
:dmax2 = temp;
temp = :rate1;
:rate1 = :rate2;
:rate2 = temp;
);
);
再:非線形モデルフィッティングにおけるパラメータの制約私はそれとほぼ同じJSLをいくつか書いていましたが、それは問題を解決しました。 共有してくれてありがとう。
再:非線形モデルフィッティングにおけるパラメータの制約その参照をありがとうじゅん 。 この場合、セグメント化されたモデルではありません。 実際の物理プロセスは、2つの異なる速度で同時に発生する2つの反応であり、同じ出力結果を生成します。 測定された出力は2つの反応出力の合計ですが、各反応は同じ反応システムで発生するため、それらを個別に測定することはできません。
非線形モデルフィッティングにおけるパラメータ制約について非線形近似における制約の更新はありますか?
レポートの下部に最小/最大設定がありますが、[Go] をクリックすると、適合結果が最小値と最大値の範囲外になります。

非線形モデルフィッティングにおけるパラメータ制約についてこんにちは@hogiさん、
これにはどのデータセットを使用しましたか?
ありがとう、
ベン
非線形モデルフィッティングにおけるパラメータ制約についてこんにちは@Ben_BarrIngh 、
実際、私は 2 つのピークを適合させようとし、中心の適合範囲を制限しようとしました。
裾がフィット曲線と一致しない場合は、ピークをフィットさせるのは困難です。
フィットを試行錯誤しているときに、x1/x2 スキャンの範囲を制限することでフィットを最適化できるのではないかと考えました。
...そして、プラットフォーム内で制限する方法があるかどうか疑問に思いました。
) dt = New Table( "spectra",
Add Rows( 200 ),
New Column( "X",
Formula( Row() )
),
New Column( "input",
Formula(
Parameter(
{h1 = 1, W = 40, h2 = 1},
(h1 * W ^ 2) / ((:X - 70) ^ 2 + W ^ 2) + (h2 * W ^ 2) / ((:X - 130)
^ 2 + W ^ 2)
)
)
),
New Column( "fit",
Formula(
Parameter(
{h1 = 1, W = 40, h2 = 1, x1 = 0, x2 = 200},
h1 * Exp( -(:X - x1) ^ 2 / (2 * W ^ 2) ) + h2 *
Exp( -(:X - x2) ^ 2 / (2 * W ^ 2) )
)
)
)
);
dt << Nonlinear( Y( :input ), X( :fit )
非線形モデルフィッティングにおけるパラメータ制約についてこんにちは@hogiさん、
ポイントを超えないようにするには、「実行」をクリックする前に、パラメータ境界(赤い三角形)を確認して設定する必要があります。下のプロット表では最低値/最高値は更新されるはずですが、 support@jmp.com までご報告いただく価値があるかもしれません。
それであなたが達成しようとしていることは解決されますか?
ありがとう、
ベン
非線形モデルフィッティングにおけるパラメータ制約についてああ、素晴らしいです、ありがとう 
誰か@Ben_BarrInghの返信を「解決策」としてマークしてもらえますか?

非線形モデルフィッティングにおけるパラメータ制約について@Ben_BarrIngh 、追加の質問:
「By」を使用して複数のスペクトルをフィッティングする場合、グローバル制約とロックを設定するためのトリックはありますか?

次のようなものです:
new column ("by",Nominal, set each value(mod(row(),3)));
Nonlinear( Y( :input ), X( :fit ), by(:by),
SendToByGroup( Bygroup Default,
Parameter Bounds(
h1( 0, 2 ),
x1( 0, 100),
h1( 0, 2 ),
x2( 100, 200)
) )
)
非線形モデルフィッティングにおけるパラメータ制約についてグローバル制約の回避策:
new column ("by",Nominal, set each value(mod(row(),3)));
nl = Nonlinear( Y( :input ), X( :fit ), by(:by) );
nl << Parameter Bounds(
h1( 0, 2 ),
x1( 0, 100 ),
h2( 0, 2 ),
x2( 100, 200 )
)
ロックは記録されていないようです。
min=max で制約を設定できます。