JSL-回帰式を使用して「y」から「x」の値を自動的に補間する方法はありますか?現在、データ分析/レポートを自動化するために初めて JSL を使用しています。 私の分析には次のことが含まれます。
1. 必要なデータのインポート(完了)
2. データ(データ)の分析
3. 計算されたデータを使用して二変量解析を実行し、直線をフィッティングする (完了)
4. 生成された回帰式を使用して、特定の 'y' 値に対する 'x' を予測します。ここに問題があります。 JSL で 'y' から 'x' を動的に生成する機能が欲しいです。 また、回帰式はデータセットごとに異なるため、手動で入力する必要もありません。
何かヒントはありますか?
Re: JSL- 回帰等式を使用して 'y' から 'x' の値を自動的に補間する方法はありますかこれは、フィット カーブ プラットフォームを使用し、逆予測を含む数式列を保存します。
dt=open("$Sample_Data/Big Class.jmp");
model= Fit Curve( Y( :height ), X( :weight ) );
model<< Fit Linear(Save Inverse Prediction Formula);
テーブル内の値をそのまま使用することもできますが、数式列のプロパティを取得することもできます。
Re: JSL- 回帰等式を使用して 'y' から 'x' の値を自動的に補間する方法はありますか説明を求めるべきでした。本当に逆予測をしたかったのですか?その場合でも、私の方法を使用して、(:height - coef[1])/coef[2] で数式を実行することができます。
Re: JSL- 回帰等式を使用して 'y' から 'x' の値を自動的に補間する方法はありますか最も簡単な方法は、モデルの適合を使用し、逆予測が組み込まれた最小二乗適合プラットフォームを入手することです。
Re: JSL- 回帰等式を使用して 'y' から 'x' の値を自動的に補間する方法はありますか別のアプローチ: モデルの適合を使用してから、逆予測コマンドを使用します。
Re: JSL- 回帰等式を使用して 'y' から 'x' の値を自動的に補間する方法はありますかこんにちは@Ainaskid
あなたがやろうとしていることを実現する方法はおそらく何百万通りあります。それは、予測応答を取得するために予測子の値をどのように与えるかによって異なります。ユーザーが数値を入力してボタンを押すと、ウィンドウが予測を返すダイアログ ボックスでそれを実行したいですか?X の新しい値をデータ テーブルの追加行として配置し、予測式によって列に予測値が返されるようにすることは許容されますか?
後者の方が簡単なので、後者の方法を簡単に説明します。Big Class データセットを使用し、体重から身長を予測する例を次に示します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ), Fit Line() ); //get reference to Bivariate object
rpt = (biv << Report); //get reference to report window for Biv
//get the coefficients from the parameter estimates table
Coefs = (rpt["Parameter Estimates"][Table Box( 1 )] << Get as Matrix)[0, 1];
//Create prediction formula from the coefficients
Eval(
Parse(
Eval Insert( "\[dt << New Column("Prediction Formula", formula(^Coefs[1]^ + ^Coefs[2]^*:weight))]\" )
)
);
//You'll want to hard code in the value of the coefs using the string
//Otherwise this column won't work once Coefs is no longer defined or the value has changed
//The "Eval Insert" function inserts the value of Coefs[1] and Coefs[2] into the formula - this is how it is hard-coded in
これで、Big Class に予測を含む新しい列が表示されるはずです。これは数式であるため、体重値を含む新しい行を追加し、新しい身長予測を取得できます。ここでは、200 の行を追加し、予測として 75.42 を取得しました。
代わりに、Fit Model プラットフォームでモデルを当てはめると、<< Prediction Formula メッセージを Fit Model オブジェクトに送信して、予測式を含む列を取得できるため、これがさらに簡単になることを指摘したいと思います。
FitMod = dt << Fit Model(
Y( :height ),
Effects( :weight ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ), Run()
);
FitMod << Prediction Formula;