非線形モデル フィッティングの実行時に異なるカテゴリの予測式を保存する方法非線形モデルのカスタム式に適合するスクリプトがあります(Nonlib では使用できません) モデル パラメーターの推定値を取得します。 赤い三角形のメニューで数式を保存し、予測数式の保存を選択すると、新しい結果の新しい列が作成されます。 すべてのカテゴリでこれを行うことができます。
New Column( "Fitted Model By Sample",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "By ID", 207957763 ),
Formula(
If( :Sample == "Barley 2710",
If( :Days > 0,
0.171070850115799 * Exp( -Exp( ((0.00826868962267886 * Exp()) / 0.171070850115799) * (8.5626914275992 - :Days) ) )
+0.189197655815188 * Exp( -Exp( ((0.0822175769423173 * Exp()) / 0.189197655815188) * (1.00952608535815 - :Days) ) ),
0
),
.
)
),
Set Property( "Predicting", {:Average, Creator( "Nonlinear" )} ),
Set Selected
);
Set Label Columns( :Label );
ただし、手動で行う必要がないように、データ テーブル内のすべてのカテゴリに対して実行しようとしています。 これを行う方法について何か提案はありますか?
新しい式を公開しようとしましたが、次のように手動で行う場合のように列が作成されません。
obj = Nonlinear( Y( :Average ), X( :Model ), Loss( :Err ), Iteration Limit( 5000 ), By( :Sample ) );
obj << go;
obj << Publish prediction formula;
obj << Set name( "Fitted Model by sample" );
また、JSL で記録されたスクリプトを以下のように変更しようとしましたが、残念ながら式は機能しません。 どんな助けでも大歓迎です。
obj = Nonlinear( Y( :Average ), X( :Model ), Loss( :Err ), Iteration Limit( 5000 ), By( :Sample ) );
obj << go;
//returns a list of vectors where each vector, contains the parameters estimates
obj << get estimates;
obj << get prediction formula;
col11 = New Column( "Fitted Model By Sample",
set formula(
If( :Days > 0,
(Y1_Y1_0 * Exp( -Exp( ((K1_K1_0 * Exp()) / Y1_Y1_0) * (P1_P1_0 - :Days) ) ) + Y2_Y2_0 * Exp(
-Exp( ((K2_K2_0 * Exp()) / Y2_Y2_0) * (P2_P2_0 - :Days) )
)),
0
),
By( :Sample ),
Set Property( "Predicting", {:Average, Creator( "Nonlinear" )} ),
Set Selected
),
Set Label Columns( :Label )
);
Re: 非線形モデル フィッティングを実行するときに、さまざまなカテゴリの予測式を保存する方法素晴らしい! コミュニティでこのソリューションを見逃したと信じています。 私はあらゆる種類の例を検索しました。 「保存」だけが必要でした。
ありがとうフィル!
Re: 非線形モデル フィッティングを実行するときに、さまざまなカテゴリの予測式を保存する方法からの解決策はありますか@txnelsonのこの郵便受けヘルプ? (「予測式をテーブルに保存」)
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Nonlinear Examples/Bioassay.jmp"
);
obj = Fit Curve(
Y( :Toxicity ),
X( :log Conc ),
Group( :formulation ),
Fit Logistic 4P
);
obj << (Fit[1] << Save Prediction Formula);
これは、予測式の公開ではなく、予測式の保存コマンドを使用します。 これはあなたがやりたいことであり、Pro は必要ないと思います。
これにより、効果的に各グループのモデルを含む結果予測式の列が得られます。
Match( :Formulation,
"standard",
0.599015186864584 + (1.10686367677145 - 0.599015186864584) / (1
+Exp( -5.84379312234502 * (:log Conc - 0.32019959502239) )),
"test A",
0.590902329849433 + (1.1012080930316 - 0.590902329849433) / (1
+Exp( -5.98069280093278 * (:log Conc - 0.284551221955609) )),
"test B",
0.592984828033858 + (1.0972015134296 - 0.592984828033858) / (1
+Exp( -5.75586785289505 * (:log Conc - 0.084429442746212) )),
"test C",
0.593403681513877 + (1.10597929999838 - 0.593403681513877) / (1
+Exp( -6.00992746207644 * (:log Conc - 0.298749145989595) )),
.
)
Re: 非線形モデル フィッティングを実行するときに、さまざまなカテゴリの予測式を保存する方法こんにちはフィル、
フィードバックをお寄せいただきありがとうございます。
この回答について、もう少し詳しく説明しようと思います。
はい、私の質問は、モデルのフィッティングを自動化し、各グループの結果の予測式を含む列を生成する方法についてです。 作成したいのは 1 つの列だけです。 モデルの数式は、グループごとに 1 つの列に既に含まれており、推定された新しいパラメーターを使用してそれを複製したいだけです。
これを行うという考えは、各グループの結果を個別に報告できるようにするためだけでなく、モデル曲線と実験データをグラフビルダーを介してさまざまにグラフィカルに表現できるようにするためです.
これがより明確になることを願っています。
それにもかかわらず、これを行うには Jump Pro が必要なようです。そうですか?
ありがとう
イボ
Re: 非線形モデル フィッティングを実行するときに、さまざまなカテゴリの予測式を保存する方法フィードバックありがとうございます。
私はスクリプトを試してみましたが、標準の JMP しか持っていないので動作しません...悲しいことに。
Re: 非線形モデル フィッティングを実行するときに、さまざまなカテゴリの予測式を保存する方法公開予測式は、JMP Pro の式デポに公開する機能に関連しています。 標準の JMP を使用している場合、これが機能するとは思いません。 Scripting Index のサンプル スクリプトを使用して確認できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = K Nearest Neighbors(
Y( :mvalue ),
X(
:crim,
:zn,
:indus,
:chas,
:nox,
:rooms,
:age,
:distance,
:radial,
:tax,
:pt,
:b,
:lstat
),
K( 10 )
);
obj << (Response[1] << Publish Prediction Formula);
(ちなみに、これはinsert JSLオプションについて私が言っていたことです-より明確ですよね?)
それは動作しますか? Formula Depot が表示されます。 繰り返しますが、JMP Pro を使用している場合にのみ機能すると思います。
Re: 非線形モデル フィッティングを実行するときに、さまざまなカテゴリの予測式を保存する方法やあ、
人々があなたの課題を解決するのを助けるためのヒントのほんの一部です。
まず、スクリプトに関する質問を投稿するときに JSL オプションを使用できると助かります。 投稿ウィンドウの上にあるツールバーの をクリックして、そこに JSL を追加するだけです。 人々があなたの JSL を理解し、助けてくれることをより明確にします。
第二に、ここには複雑な非線形モデルのフィッティングがありますが、あなたの質問は、モデルのフィッティングと各グループの予測式列の生成を自動化する方法についてです。 あなたが対処しようとしている問題の特定の部分を示す簡単な例を提供すると、人々が助けやすくなります. また、他のコミュニティ メンバーが問題を解決できるかどうかを理解しやすくなります。 従来の Big Class サンプル データ セットを使用した例は常に適切です。 あなたのケースでは、Sex in Big Class の各グループに単純なモデルを当てはめるだけで、あなたの課題を十分に示すことができると思います。 あるいは、それよりも複雑かもしれません。 あなたが提供した情報は少し不明確であるため、よくわかりません。
最後に、最終的に達成しようとしていることについて少し説明していただけると助かります。 グループごとに数式列を作成する理由は何ですか? あなたの目的を達成するための他のより良い方法があるかもしれません。
これらの手順に従えば、投稿したクエリについてより多くのヘルプが得られるはずです。
よろしく、
フィル