PROC REG - bestimmte Variablen aus dem Modell entfernen

Hallo,

ich bestimme Regressionskoeffizienten mit Hilfe von PROC REG. Sind die berechneten Koeffizienten negativ oder nicht-signifikant, so sollen sie auf Null gesetzt und die Regression erneut durchgeführt werden. Dies wird solange wiederholt, bis kein Koeffizient mehr negativ oder nicht-signifikant ist.

PROC REG DATA=dat OUTEST=RegEstimates(DROP= _TYPE_ _DEPVAR_ _RMSE_) NOPRINT;
mo1: MODEL y= x01--z144/NOINT ; /*die x und z sind nicht komplett durchnummeriert*/
WEIGHT w;
QUIT;

Ich weiß, dass ich die Koeffizienten in RegEstimates verfügbar habe und mit der Option 'SELECTION=BACKWARD SLSTAY=0.001' bekomme ich bereits die signifkanten heraus.
Nur wie überprüfe ich diese nach jeder Regression auf Nicht-Negativität und nehme die entsprechenden Variablen dann aus dem Modell heraus?
Ich habe bereits einige Ideen mH von Schleifen und Makros dazu durchdacht und wieder verworfen, da sie in einem heilosen Wirrwarr enden.

Vielleicht habt ihr eine Anregung für mich?

Melanie

SELECTION=STEPWISE

Hallo Melanie,

das klingt nach einer schrittweisen Regression. Einfach mal probieren, ich mache das ab und an im Enterprise Miner bei einer logistischen Regression. Im Output wird jeder Schritt beschrieben, welche Variable kommt hinzu, welche wird entfernt, bis dann am Schluss die Mitteilung kommt, in welchem Schritt das beste Modell entstanden ist.

HTH Patrik Würzburger

SELECTION=...

Hallo Patrik,

ja, so hatte ich auch angefangen und an sich wäre das eine schöne Lösung. Das Problem, das jedoch bleibt, ist das der Negativität der Regressionskoeffizienten. Die Option /SELECTION=... prüft nur auf Signifikanz. Da ich jedoch auch in jedem Schritt die Variablen mit negativen Koeffizienten aus dem Modell entfernen muss, werde ich die schrittweise Regression wohl 'manuell' durchführen und nach jedem Regressionsaufruf [ohne SELECTION] per Hand die Variablen aussortieren, die nicht ins Modell gehören.

Lieben Gruß,
Melanie