如何在SAS / JMP的回歸中迭代變量嗨伙計,
非常新,最近接受過培訓 SAS編程 。 我正在嘗試採用一組自變量並測試它們是否(統計上顯著地)與兩組數據不同地相關。
我被告知在JMP中這樣做的方法是進行一系列線性回歸,如下所示,
result = group + varA + group*varA
然後檢查交互效果的重要性,例如,“Country * Displacement”示例中的“Prob> F”列:
(我沒有發布圖像的聲譽。)
現在,我需要能夠切換出其中一個變量;也就是說,對於一個包含約350個變量的列表瓦拉 , varB 等等,我需要運行以下回歸,
result = group + varA + group*varA
result = group + varB + group*varB
result = group + varC + group*varC
...
並獲得交互效果的重要性。以前的腳本嘗試已經產生了大約350個結果窗口,或者~350個模型對話框。。。任何意見,將不勝感激。
編輯:
例如,使用航空公司延遲JMP樣本數據集,這是其中一個步驟的結果:

我需要為一組變量中的每一個提取交互效應的重要性(效果測試下的0.1397);例如,將“距離”變量與“經過時間”進行交換。但我需要在一組~350中為每個變量交換這個變量。
Re:如何在SAS / JMP的回歸中迭代變量謝謝 @txnelson 。
Re:如何在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>Re:如何在SAS / JMP的回歸中迭代變量謝謝 @ gzmorgan0 ,這個代碼絕對有幫助我。
Re:如何在SAS / JMP的回歸中迭代變量抬頭
主菜單>幫助>腳本索引>選擇對象>滾動到適合模型>最小二乘>滾動消息以獲取效果pvalues。
您需要迭代350個變量(可能使用for循環),在循環內部,您將擁有類似下面的腳本。
我不建議在沒有殘差分析的情況下依賴p值,尋找異常值或違反假設。我不確定為什麼你所描述的任務被推薦; 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 />