SAS / JMPの回帰式で変数を反復処理する方法こんにちは、
とても新しくて最近訓練された SASプログラミング 。 一連の独立変数を取り、それらが(統計的に有意に)2つのデータグループと異なる相関関係にあるかどうかをテストします。
JMPでこれを行う方法は、次のような一連の線形回帰を作成することです。
result = group + varA + group*varA
次に、この "Country * Displacement"の例の "Prob> F"列のように、交互作用効果の重要性を調べます。
(画像を投稿するという評判はありません。)
今、私はこれらの変数の1つを消すことができる必要があります。つまり、〜350個の変数のリストについては、 varA 、 varB 、など、私は次の回帰を実行する必要があります、
result = group + varA + group*varA
result = group + varB + group*varB
result = group + varC + group*varC
...
そしてその相互作用効果の重要性を得なさい。これまでのスクリプト作成の試行により、最大350件の結果ウィンドウ、または最大350件のモデルダイアログが表示されました。。。任意のアドバイスをいただければ幸いです。
編集する
たとえば、Airline Delays JMPサンプルデータセットを使用した場合、これは次のいずれかの手順の結果です。

一連の変数それぞれについて、相互作用効果(効果テストの下の0.1397)の有意性を抽出する必要があります。たとえば、"Distance"変数を "Elapsed Time"と交換することができます。しかし、私は〜350のセットの中でそれぞれに対してこの変数を交換する必要があります。
再:どのようにSAS / JMPの回帰で変数を反復処理するありがとうございました @txnelson 。
再:どのようにSAS / JMPの回帰で変数を反復処理するこれは少し異なる例です。 @ gzmorgan0 提供された。 この例は、複数の実行にわたってループします。
names default to here(1);
dt=open("$SAMPLE_DATA/Diamonds Data.jmp");
charColNamesList = dt << get column names(string,character);
effectNameList = {};
effectProbList = {};
For(i=2,i<=nitems(charColNamesList),i++,
Eval(Substitute(Expr(
fm = Fit Model(invisible,
Y( :Price ),
Effects( __VarA__, __VarB__, __VarA__ * __VarB__ ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
)
);),
Expr(__VarA__),parse(":" || charColNamesList[1]),
Expr(__VarB__),parse(":" || charColNamesList[i]))
);
insert into(effectProbList, (report(fm)["Effect Tests"][numbercolbox(6)]<<GET></GET>再:どのようにSAS / JMPの回帰で変数を反復処理するありがとうございました @ gzmorgan0 、このコードは絶対に私を助けます。
再:どのようにSAS / JMPの回帰で変数を反復処理する見上げる
メインメニュー>ヘルプ>スクリプトインデックス>オブジェクトを選択> Fit Model> Least Squares>メッセージをスクロールしてGet Effect pvaluesを選択します。
ループ内に以下のようなスクリプトがある場合は、350個の変数を繰り返し処理する必要があります(おそらくforループを使用します)。
残差分析をせずにpvalueに頼って、異常値や仮定の違反を探すことはお勧めしません。説明したタスクが推奨された理由がわかりません。JMPには、最も影響力のある変数を探すための多くのツールがあります。 とは言っても、スクリプトは出発点です。
Names default to Here(1);
Open("$sample_data/Airline Delays.jmp");
fm = Data Table("Airline Delays") << Fit Model( Invisible,
Y( :Arrival Delay ),
Effects( :Day of Week, :Distance, :Day of Week * :Distance ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:Arrival Delay << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 0 ), Plot Residual by Predicted( 0 ),
Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 )}
)
);
pv = fm << get effect pvalues;
show(pv); //look at the log or hover over pv the 3rd value pv[3] is the interaction pvalue<BR />fm << Close Window(); //to clean up the windows<BR />