Expertentipp:

Wussten Sie schon, wie Sie verschiedene Parametrisierungen von Klassifikationsvariablen zur Verwendung in linearen Regressionsmodellen generieren können?

Und so geht’s:
Die Prozedur REG dient dem Schätzen und Testen von Effekten in linearen Regressionsmodellen. Allerdings umfasst die Syntax dieser Prozedur keine CLASS-Anweisung zur automatischen Generierung von Dummy-Variablen für kategoriale Effekte. Die nachfolgenden Ausführungen sollen zeigen, wie mit Hilfe der PROC LOGISTIC verschiedene Dummy-Kodierungen zur anschließenden Verwendung in einem linearen Regressionsmodell erzeugt werden können.

In einem DATA-Step wird zunächst ein exemplarischer Datensatz mit 4 Beobachtungen und 5 Variablen erzeugt:


data temp;
  input ybin $ ycon xcon xnom $ xord;
datalines;
Y 68 35 M 1
N 78 52 M 2
Y 80 36 F 3
Y 76 42 F 4
;
run;

Die mit dem Präfix X beginnenden Variablen repräsentieren die potentiellen Einflussgrößen in dem zu betrachtenden linearen Regressionsmodell. Einer dieser Prädiktoren (XCON) ist stetig, die anderen beiden (XNOM und XORD) sind kategorial. XNOM ist dabei nominal- und XORD ordinal-skaliert. Die stetige Variable YCON soll in dem linearen Regressionsmodell als Response fungieren, YBIN ist binär und übernimmt im Beispiel lediglich eine Hilfsfunktion.

Die Prozedur LOGISTIC bietet eine flexible Möglichkeit, verschiedene Dummy-Kodierungen für kategoriale Prädiktoren zu erzeugen. Der gewählte Prozeduraufruf dient dabei keinem Modellierungszweck, sondern führt lediglich zur Generierung einer geeigneten Designmatrix für das sich anschließende lineare Regressionsmodell:


proc logistic data=temp outdesign=design(drop=ybin) outdesignonly;
  class xnom xord / param=effect;
  model ybin = ycon xcon xnom xord / noint;
run;
 
proc print data=design noobs;
run;

Die PROC LOGISTIC-Anweisung unterstützt die OUTDESIGNONLY-Option, wodurch die eigentliche Modellierung unterdrückt und lediglich die Designmatrix aufgebaut wird. Diese kann dann über die OUTDESIGN=-Option in einem Datensatz gespeichert werden. Die Effekt-Kodierung entspricht für die Prozedur LOGISTIC der Standard-Kodierung kategorialer Variablen, die PARAM=-Option in der CLASS-Anweisung könnte man hier also auch weglassen. YBIN wird nur als Responsevariable in der MODEL-Anweisung benötigt und müsste in einem realen Datensatz ggfs. künstlich erzeugt werden.

Die nachstehenden Beispiele zeigen alternative Kodierungsformen, die sich mit der Prozedur LOGISTIC erzeugen lassen. Hierfür ist jeweils nur die CLASS-Anweisung zu modifizieren, so dass sich die Syntaxangaben auf ebendiese beschränken lassen. Dargestellt sind ferner die resultierenden Designmatrizen:

  • Referenzzellen-Kodierung: class xnom xord / param=ref;
  • Ordinale Kodierung: class xnom(param=ref) xord(param=ordinal);
  • Polynomiale Kodierung: class xcon(param=poly) xnom xord(param=ordinal);

Für eine detaillierte Erklärung der verschiedenen Kodierungsformen und die Interpretation der jeweils geschätzten Effekte sei an dieser Stelle auf die SAS/STAT-Dokumentation verwiesen.

Die Schätzung des eigentlich interessierenden linearen Regressionsmodells kann in allen beschriebenen Fällen mit der Prozedur REG dann wie folgt umgesetzt werden:


proc reg data=design;
  model ycon = xcon: xnom: xord:;
run;
quit;