Wie man Variablen in einer Regression in SAS / JMP durchläuftHallo Leute,
Bin sehr neu und habe vor kurzem trainiert SAS-Programmierung . Ich versuche, einen Satz unabhängiger Variablen zu nehmen und zu testen, ob sie (statistisch signifikant) unterschiedlich zu zwei Datengruppen korreliert sind.
Ich wurde darauf hingewiesen, dass der Weg in JMP darin besteht, eine Reihe von linearen Regressionen wie die folgenden durchzuführen:
result = group + varA + group*varA
und untersuchen Sie dann die Bedeutung des Interaktionseffekts, z. B. die Spalte "Prob> F" in diesem "Country * Displacement" -Beispiel:
(Ich habe nicht den Ruf, ein Bild zu posten.)
Nun muss ich in der Lage sein, eine dieser Variablen auszuschalten; Das heißt, für eine Liste von ~ 350 Variablen sagen wir varA . varB usw. muss ich die folgenden Regressionen ausführen,
result = group + varA + group*varA
result = group + varB + group*varB
result = group + varC + group*varC
...
und die Bedeutung dieses Interaktionseffekts erhalten. Frühere Skriptversuche führten zu ~ 350 Ergebnisfenstern oder ~ 350 Modelldialogen. . . Jeder Rat wäre dankbar.
Bearbeiten:
Bei Verwendung des JMP-Beispieldatensatzes "Airline Delays" ist dies beispielsweise das Ergebnis eines der folgenden Schritte:

Ich muss die Bedeutung des Interaktionseffekts (der 0,1397 unter Effekttests) für jede Variablengruppe extrahieren. B. die Variable "Distance" mit "verstrichene Zeit" vertauschen. Aber ich muss diese Variable für jeweils ~ 350 austauschen.
Re: Wie werden Variablen in einer Regression in SAS / JMP durchlaufen?Vielen Dank @txnelson .
Re: Wie werden Variablen in einer Regression in SAS / JMP durchlaufen?Hier ist ein etwas anderes Beispiel dafür @ gzmorgan0 unter der Voraussetzung. Dieses Beispiel durchläuft mehrere Läufe
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: Wie werden Variablen in einer Regression in SAS / JMP durchlaufen?Vielen Dank @ gzmorgan0 Dieser Code hilft mir auf jeden Fall.
Re: Wie werden Variablen in einer Regression in SAS / JMP durchlaufen?Sieh nach oben
Hauptmenü> Hilfe> Skriptindex> Wählen Sie Objekte aus> blättern Sie zu Fit Model> Least Squares> blättern Sie in der Nachricht, um Effektwerte zu erhalten.
Sie müssten über Ihre 350 Variablen iterieren (wahrscheinlich mithilfe einer for-Schleife), wobei Sie innerhalb der Schleife ein Skript wie das unten stehende hätten.
Ich würde nicht empfehlen, sich auf p-Werte zu verlassen, ohne Restanalysen zu suchen, nach Ausreißern oder Annahmen zu suchen. Ich bin nicht sicher, warum Ihre beschriebene Aufgabe empfohlen wurde. JMP verfügt über viele Tools, um die einflussreichsten Variablen zu finden. Das Skript ist jedoch ein Ausgangspunkt.
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 />