2017-06-23 4 views
2

Ich versuche, zwei Modelle zu vergleichen, wobei das kleinere Modell das wahrscheinlich beste Modell ist, und dann das größere das vollständige Modell mit allen Variablen. Ich möchte die "Test-Anweisung" in Proc Logistics verwenden, um die Modelle zu vergleichen, um festzustellen, ob eine der zusätzlichen Variablen möglicherweise signifikant ist. Das Problem ist, dass Test scheint nicht meine kategorische Variable (d) zu erkennen, wie unten dargestellt:SAS Proc Logistic: Testanweisung erkennt kategoriale Variablen nicht?

proc logistic data = test; 
class d (param = ref ref = '0'); 
model y (event = '1') = a b c d; 
test1: test c=d=0; 
run; 

This is the image of the error showing in the log

So im Wesentlichen teste ich, um zu sehen, ob es möglich ist, dass entweder c oder d konnte signifikante Prädiktoren im Modell sein.

Auch bin ich mir nicht sicher, ob ich die "Testaussage" richtig benutze, deshalb würde jeder Rat darauf geschätzt werden.

Hier finden Sie Daten Test können Sie:

data test (drop=i); 
do i=1 to 1000; 
a=round(uniform(1)*4,.01); 
b=round(uniform(1)*10,.01); 
c=round(uniform(1)*7.5,.01); 
if b<2 then d=1; 
else d=0; 
if i<500 then y=1; 
else y=0; 
output; 
end; 
stop; 
run; 

Antwort

2

From the SAS documentation:

Intercept und CLASS variable Parameternamen angegeben werden sollte, wie im Abschnitt Parameternamen in der OUTEST = Data Set beschrieben .

Also, Ihr Code angegeben, können Sie Ihre Test-Anweisung angeben, wie:

test1: test c=d1=0; 

Sie sollten Ihren OUTEST-Datensatz überprüfen, obwohl Sie den genauen Namen zu bekommen. Leider bedeutet dies, dass Sie den Prozess zweimal ausführen, aber das ist einfach genug.

+0

So gibt es möglicherweise einen effizienteren Weg, dass ich die gleichen Ergebnisse erzielen konnte, aber es automatisierter machen, so dass ich den umcodierten Namen nicht manuell überprüfen muss. Wie wäre es eine Möglichkeit, automatisch aus dem letzten Datensatz zu referenzieren? – NicChik

+0

Ich glaube, es verwendet den Variablennamen + level. Dh wenn Sie eine Variable mit den Ebenen 1/2/3 haben und der Variablenname D ist und der Referenzpegel 1 ist, dann wären die neuen Variablen D2/D3. – Reeza