予測された列をデータテーブルに追加するJMP テーブルに「外れ値分析」という名前のスクリプトがあります。 スクリプトを開き、小さな赤い三角形をクリックして、[列の保存] --> [予測式] を選択します。 これをスクリプト化するにはどうすればよいでしょうか?
私のアプローチは次のとおりです。
dt = current data table();
a = Eval( dt << get table property( "Outlier Analysis" ) );
abc = a << Report;
abc << prediction formula;
Re: データテーブルに予測列を追加する@gzmorgan0もう 1 つの質問ですが、私はすでにフィット モデルではなくフィット グループを持つスクリプトをフィットさせました。 それらのスチューデント化残差をデータ テーブルに追加するにはどうすればよいですか?私のアプローチは、近似グループ内のすべての近似モデルをリストに追加し、そのリストを渡して残差を追加することです。 現時点ではスクリプトは機能しませんが、これは正しい方法でしょうか? また、可能であれば、このスクリプトのどこが間違っているかを指摘してもらえますか?
dt = Current Data Table();
ft = dt << Run Script( "Outlier Analysis" );
ftList = Substitute( ftList, Expr( FitGroup() ), Expr( {} ) );
Print( Head( ftList ) );
//For(i=1, i<=NItems(ftList),i++,
//ftList[i] << Studentized Residuals;
//);
;Re: データテーブルに予測列を追加する@uday_guntupalliはい、助けてくれてありがとう!!
Re: データテーブルに予測列を追加する@パワーパフ、
これは私があなたに何度も言及したことです。 ようやく機能してよかったです。
Re: データテーブルに予測列を追加する申し訳ありませんが、それが最も簡単であることに気づきました。
たった 2 行のコードで数式が保存されました
a = Eval( dt << get table property( "Outlier Analysis" ) );
a << save prediction formula;
ご協力いただきありがとうございます。混乱を招いて大変申し訳ございません。 どういうわけか見逃していた「保存」だけを追加しました。
Re: データテーブルに予測列を追加する@gzmorgan0はい、既存のレポートから数式を取得するという意味でした。 これを実現するために、より一般化されたスクリプトを作成するにはどうすればよいでしょうか? したがって、Peanuts サンプル データセットに適合モデルがあります。 既存の Peanuts データ テーブルに予測式またはスチューデント化残差を (JSL を使用して) 追加するにはどうすればよいですか? 私は手動で「列を保存 -->」を実行します。
Re: データテーブルに予測列を追加するスクリプト ガイドを参照し、次のように検索してください。プラットフォーム別のスクリプト専用メッセージと引数。 メッセージとオプションはモデルによって異なります。
標準最小二乗法
次の JSL メッセージは、分散成分、p 値、パラメーター推定値など、近似モデルから要求された項目を返します。
fit_model_object << 分散成分を取得( );
fit_model_object << エフェクト名を取得( );
fit_model_object << Get Effect PValues( );
fit_model_object << Get Estimates( );
fit_model_object << パラメータ名を取得( );
fit_model_object << ランダムな効果名を取得( );
fit_model_object << Get Std Errors( );
fit_model_object << Get X Matrix( );
fit_model_object << Get XPX Inverse( );
fit_model_object << Get Y Matrix( );
標準最小二乗オブジェクトに関する次のメッセージは、JSL でのみ使用できます。
obj << SQL 予測式を取得;
_____________________________________________________________________
最後の例では、xx = FM << 予測式を取得します。ショー(xx);
/*ログ
xx = 新しい列("y", 数値, 式((-2.69577290612704) + 一致(:薬物, "a", -1.18503653738055, "d", -1.07606520517145, "f", 2.261101742552, .) + 0.987183811 129848 * :x), Set Property("Predicting", {:y, Creator("Fit Least Squares")}));
適合レポートを含むすでに作成されたウィンドウから数式を取得するスクリプトの書き方を知りたいのですか?「はい」の場合は、その状況をエミュレートできるかどうかを確認してみましょう: [ヘルプ] > [スクリプト インデックス] > [オブジェクト] > [モデルの適合] > [最小二乗] を選択し、サンプル スクリプトを実行します。
obj 最小二乗法フィットへの参照は、そのスクリプト内でのみ認識されます。式を取得できるようにするには、モデル オブジェクトへのハンドルを取得する必要があります。 別の方法があるかもしれませんが、私の方法は次のとおりです。
- ウィンドウのプロンプトを表示するか、ウィンドウ名を使用してレポートへのハンドルを作成します
- その子と最初のOutline Boxを取得します。
- スクリプト可能なオブジェクトを取得します
- 式を取得します。
スクリプトに複数のモデルがある場合は、Xpath を使用してすべてのインスタンスを取得することをお勧めします。添付されたスクリプトは、Scripting Index スクリプトから数式を取得します。 レポートには 2 つの応答 (2 つのモデル) があり、数式の連想配列が作成されます。
これがあなたが求めているものなのかどうかわかりません。ちなみに、 scrtiptable オブジェクトへのハンドル (参照) を取得したら、それにメッセージを送信して数式をテーブルに保存できます。 Xpath の優れた機能の 1 つであるスクリプト可能オブジェクトの取得では、20 個のモデルが見つかる可能性がありますが、メッセージを 1 回送信すれば、各モデルに適用されます。
これがあなたの質問ではない場合は、明確にしてください。
Re: データテーブルに予測列を追加する@uday_guntupalliしかし、私には多くの適合モデルを含む適合グループがあります。 さらに、これを 1 つのスクリプトだけに限定したくありません。
Re: データテーブルに予測列を追加する@パワーパフ、
あなたが言ったことに従っているかどうかはわかりませんが、私が理解していることに基づいて、ここにあります:
モデルの適合分析を行う場合は、この方法で式をテーブルに直接取り込むことができます。 式を個別に抽出する必要はありません。
dt = Open( "$SAMPLE_DATA/Drug.jmp" );
FM = dt << Fit Model(
Y( :y ),
Effects( :Drug, :x ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:y << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Show Prediction Expression( 1 ),
Plot Actual by Predicted( 0 ), Plot Residual by Predicted( 0 ),
Plot Effect Leverage( 0 )}
)
);
FM << Get Prediction Formula; ログを確認すると、数式が出力されます。 そのようにして数式を取得するということは、レポートから数式にアクセスしたいと考えます。 それが目的の場合は、上に示すように、Show Prediction Expression(1) をフィット モデルに追加して、式にアクセスします。
Re: データテーブルに予測列を追加する分かりましたが、すでにスクリプトは準備できています。 パーティション部分を再度追加したくありません。 例えば、
a = Eval( dt << get table property( "Outlier Analysis" ) );
abc = a << Report;
dta = abc["Summary of Fit"][Table Box( 1 )] << Make Combined data table;
このスクリプトは、「外れ値分析」スクリプトから適合度の概要テーブルを開くのに役立ちました。 そのように予測式を追加する方法はありますか?@uday_guntupalli
Re: データテーブルに予測列を追加する@パワーパフ
以下の例を見てください。
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = Partition(
Y( :mvalue ),
X(
:crim,
:zn,
:indus,
:chas,
:nox,
:rooms,
:age,
:distance,
:radial
),
Method( "Boosted Tree" ),
Validation Portion( .2 ),
Go
);
obj << Save Prediction Formula;