Skript: SAS - Wiwi Uni

Werbung
SAS
Statistical Analysis System
Eine erste anwendungsorientierte
Einführung für Ökonometriker
Datum dieser Version: 5. Dezember 2002
Dipl.-Volksw. Marco Caliendo
Dipl.-Volksw. Dubravko Radić
Dipl.-Volksw. Stephan L. Thomsen
Lehrstuhl für Statistik und Ökonometrie
(Empirische Wirtschaftsforschung)
Johann Wolfgang Goethe-Universität
Frankfurt/M.
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Inhaltsverzeichnis
1. Einführung
4
2. Aufbau von SAS
6
1.
Datenmanagement in SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.
Einlesen und Formatieren von Daten . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.
Bearbeiten von Daten, Erzeugen und Transformieren von Variablen . . . . . .
9
4.
Bedingte Ausführung von Befehlen im DATA-Step . . . . . . . . . . . . . . . . . 11
5.
Datenausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Prozedur SQL
14
1.
Abfragebefehl SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.
Abfrage Operationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.
Statistische Funktionen in SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.
Where Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.
Zusammenfügen von Datensätzen . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4. Graphische Aufbereitung
20
5. Deskriptive Auswertungen
21
6. Lineare Regression
23
7. Prozedur PROBIT
25
1.
SAS-Besonderheiten - Umkodieren der abhängigen Variable . . . . . . . . . . 27
2.
Optionale Ausgestaltung des Schätzverfahrens . . . . . . . . . . . . . . . . . . 27
3.
Das Output-Fenster bei der PROBIT-Prozedur . . . . . . . . . . . . . . . . . . . . 28
4.
Beispiel: Schätzung der Kaufwahrscheinlichkeit für ein Produkt . . . . . . . . . 29
8. Prozedur MODEL
30
1.
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.
Festlegung der Variablen und der Struktur des Modells . . . . . . . . . . . . . . 31
3.
Schätzung des Modells (Fit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.
Prognose und Simulation mit dem Modell (Solve) . . . . . . . . . . . . . . . . . . 34
2
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
9. Prozedur ARIMA
36
1.
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.
Analyse der Zeitreihe mit Identify . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.
Schätzung des Modells (Fit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10. Prozedur AUTOREG
39
1.
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.
Testen auf Autokorrelation mittels Generalized Durbin-Watson Teststatistiken . 41
3.
Testen auf Heteroskedastie mittels Portmanteau Q-Teststatistiken . . . . . . . . 41
4.
Schätzung des Modells mit autokorrelierten Residuen und GARCH-Effekt . . . 42
11. Prozedur TSCSREG
42
1.
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.
Schätzmethode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.
Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.
Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
12. Prozedur LIFETEST
49
1.
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.
Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.
Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
13. Prozedur PHREG
53
1.
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.
Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.
Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
14. Übungsaufgaben
60
1.
Quantitative Methoden der Volkswirtschaftslehre . . . . . . . . . . . . . . . . . 60
2.
Grundlagen der Ökonometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.
Mikroökonometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.
Finanzökonometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
1.
Einführung
Bei SAS (Statistical Analysis System) handelt es sich um ein 1970 entwickeltes Statistikprogramm, mit dem nahezu alle in empirischen und ökonometrischen Fragestellungen
anfallenden Probleme gelöst werden können. Durch die Integration von SQL und der
Möglichkeit der Makroisierung von Programmabläufen, ist es darüber hinaus möglich,
das Programm individuellen Bedürfnissen anzupassen.
Erweiterungen des Basisprogramms, wie z.B. der Enterprise Miner“, sorgen dafür, dass
”
auch unternehmensrelevante Fragestellungen (Marketing, Data Warehouse, Data Mining,
etc.) erledigt werden können. Dieses Skript dient als Kurzeinführung in das Programm und
ist zugleich Grundlage für die vorlesungsbegleitenden Übungen in Quantitative Metho”
den der Volkswirtschaftslehre“, Grundlagen der Ökonometrie“, Mikroökonometrie“ und
”
”
Finanzökonometrie“. Das Skript ist modular aufgebaut und sollte chronologisch abgear”
beitet werden. Jeder Programmpunkt wird anhand von Datensätzen erläutert, die in Kapitel 14. näher beschrieben sind und jedem Interessierten zur Verfügung gestellt werden.
Das Skript bezieht sich auf die Programmversion 8.2; leichte Abweichungen zu anderen
Versionen lassen sich nicht vermeiden. Als Literaturempfehlungen seien neben der ca.
2000 Seiten umfassenden SAS-Dokumentation folgenden Quellen genannt:
• Batz, Wolf-Dieter: Das SAS-Survival-Handbuch - Eine praxisorientierte Einführung, Springer-Verlag, 1995.
• Ortseifen, Carina: Der SAS Kurs - Eine leicht verständliche Einführung, Thomson Verlag, Bonn u.a., 1997.
• Göttsche, Thomas: Einführung in das SAS-System für den PC, Gustav Fischer-Verlag,
Stuttgart, 1990.
• Falk, M., Becker, R., Marohn, F.: Angewandte Statistik mit SAS - Eine Einführung, Springer Verlag, Berlin u.a., 1995.
• Delwiche, Lora D., Susan, J. Slaughter: The little SAS Book - A primer, SAS Institute Inc.,
Cary, 1999.
Genau wie dieses Skript, können auch dieses Bücher nur sehr kleine Bereiche des SASProgramms darstellen. Für eine ausführliche Darstellung wird auf die SAS-Dokumentation
verwiesen. Darüber hinaus gibt es in SAS auch eine ausführliche Hilfefunktion, die in Anspruch genommen werden sollte.
SAS kann auf zwei Arten genutzt werden: Zum einen kann die SAS eigene Programmiersprache verwendet werden, um empirische Analysen durchzuführen. Einfachere Statistiken können aber auch mit Hilfe von SAS ASSIST erstellt werden, der eine einfache menügesteuerte Benutzeroberfläche, ähnlich wie in SPSS, bereitstellt.
Der geneigte Leser mag sich fragen, warum wir uns dazu entschlossen haben, im folgenden die wichtigsten Elemente der SAS Programmiersprache darzustellen und nicht näher
auf den einfacher zu bedienenden SAS ASSIST eingehen. Wir sind davon überzeugt, dass
die Notwendigkeit, bei empirischen Analysen eigene Programme schreiben zu müssen
eine Reihe von Vorteilen bietet.
4
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Sie trägt zum einen zu einer Klärung der Gedanken bei. Der Anwender wird gezwungen
die einzelnen Schritte bei seiner empirischen Analyse genau zu überdenken, bevor er
sie implementiert. Ein weiterer Vorteil ist die Nachvollziehbarkeit: Sowohl der Nutzer selbst
als auch weitere Personen, die die Programmiersprache kennen, können nachvollziehen,
was mit den einzelnen Bestandteilen des Programms bezweckt wurde, um so die Ergebnisse besser interpretieren zu können. Ein weiterer Grund, der für die Erlernung der SAS
Programmiersprache spricht, ist die Tatsache, dass kompliziertere Analysen nicht mit mit
SAS ASSIST zu bewerkstelligen sind.
Zum besseren Verständnis werden SAS-Befehlszeilen nachfolgend in courier dargestellt.
gekennzeichnet. Zusätzlich werden alle BeErklärungen zur Syntax sind mit dem Icon
fehlszeilen, die sich auf einen Beispieldatensatz beziehen und die ausgeführt werden sollen in einen Kasten gesetzt. Datensätze, auf die in diesem Skript eingegangen wird, ebenso wie Beispielprogramme und weitere Unterlagen, sind auf unserer Homepage erhältlich:http://www.wiwi.uni-frankfurt.de/Professoren/hujer/. Folgen Sie den Links, die auf die
einzelnen Vorlesungen bzw. Übungen hinweisen.
Unser Dank gilt Paulo Rodrigues, der das Skript in LATEX umgesetzt hat.
5
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
2.
Aufbau von SAS
Nach dem Starten von SAS erscheinen drei Fenster. Im OUTPUT-Fenster werden die Ergebnisse der aufgerufenen Prozeduren angezeigt. Im LOG-Fenster zeigt SAS Informationen
über die Abarbeitung der einzelnen Schritte des SAS-Programms (=SAS-Job) an. Neben
der Zeit, die ein Job benötigt hat, wird hier auch angezeigt, ob bei der Abarbeitung Fehler
(und wenn ja, welche) aufgetreten sind.
An dieser Stelle soll auf die SAS-Farbenlehre“ eingegangen werden: Blau, so wird jeder
”
SAS Nutzer bald feststellen, ist dabei die angenehmste und beruhigendste Farbe, zeigt
sie doch an, dass das Programm ohne weitere Probleme abgearbeitet wurde. Mit grün
werden Warnungen angezeigt, die jedoch nicht so gravierend waren, als das sie zu einem
Abbruch des Programms geführt hätten. Mit rot hingegen werden schwerwiegende Fehler
ausgegeben, die schließlich zu einem Abbruch des Programms geführt haben.
In den PROGRAM-EDITOR (PGE) werden die Programmzeilen geschrieben und abgespeichert. Zum Abspeichern von Programmzeilen ist es wichtig, dass das PGE-Fenster aktiviert
ist, da sonst evtl. der Inhalt eines anderen Fenster abgespeichert wird und die Programmzeilen verloren sind. Will man eine Programmzeilen laufen lassen, markiert man die entsprechenden Stellen und drückt F3 oder die RUN-Taste.
Alle Befehle in der SAS-Kommandosprache sind grundsätzlich mit einem Semikolon abzuschließen. Will man die Befehlszeilen kommentieren (was sehr zu empfehlen ist), muss
man mit der Zeichenkombination /* beginnen und der Zeichenkombination */ enden.
Beispiel:
/* Dies ist ein Kommentar */
1.
Datenmanagement in SAS
Daten werden von SAS, ähnlich wie in EXCEL, in Tabellen abgelegt. In den Zeilen stehen
die Beobachtungen (z.B. für einzelne Jahre) während die Spalten die Variablen (z.B. Bruttosozialprodukt, Konsum) angeben. In SAS werden diese Tabellen DATASETS oder synonym
TABLES genannt.
Beispiel:
sasdat.uebung1
/* Die Library sasdat enthält einen SAS dataset mit dem Namen uebung1 */
Lässt man den Librarynamen weg, wird ein temporäres, voreingestelltes Arbeitsverzeichnis (WORK) angesprochen. Datasets, die in diesem Verzeichnis gespeichert werden, sind
nach Beendigung der Sitzung verloren!
Die Zuweisung einer LIBRARY zu einem existierenden Pfad auf dem System erfolgt durch
die folgende Syntax:
6
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
LIBNAME sasdat "C:\SASKURS";
/* Die Library sasdat wird dem Verzeichnis C:\SASKURS zugewiesen */
Um zu überprüfen, ob die Zuweisung der Library erfolgreich war, wählen Sie bitte aus dem
Icon-Menü den Punkt LIBRARIES. Hier sollte nun im linken Fenster die Library sasdat und
der spezifizierte Systempfad zu sehen sein.
2.
Einlesen und Formatieren von Daten
Das Einlesen von Daten erfolgt mit einem DATA-step. Dieser DATA-step erzeugt einen neuen Datensatz an der definierten Stelle, gibt an, wie viele Variablen eingelesen werden
sollen, ob die Daten bearbeitet werden sollen und auch ob Daten behalten oder gestrichen werden sollen.
Der DATA-Step ist als eine Schleife“ durch den einzulesenden Datensatz zu verstehen. Die
”
Input-Daten werden zeilenweise eingelesen. Ein RUN-Befehl schließt die Schleife ab. Die
Syntax sieht folgendermaßen aus:
DATA library.dataset;
In der Library sasdat wird ein SAS dataset erzeugt. Der Name kann frei gewählt
werden, darf aber maximal 8 Zeichen lang sein.
INFILE "rohdatenfile";
INFILE bezeichnet die Datei, in der die Rohdaten im ASCII-Format gespeichert
sind. Der Ausdruck rohdatenfile muss die komplette Pfadangabe enthalten.
FORMAT var1 Formatangabe;
Die FORMAT-Anweisung weist den eingelesenen Variablen eine bestimmtes Format zu. Numerische Variablen werden durch eine Variablen-Länge und die Nachkommastellen definiert. Die Zahl 100.334 würde z. B. mit der Formatangabe 7.3
korrekt angezeigt werden. Der Dezimalpunkt ist bei der Länge mit einzurechnen.
Character (=Zeichen)-Variablen, werden durch das Dollar-Zeichen $ und eine
Längen-Angabe formatiert. Die Zeichenkette NAME kann mit der Formatangabe $4 korrekt formatiert ausgegeben werden.
Der FORMAT-Befehl muss dabei immer vor dem INPUT-Befehl stehen, damit die
Formate auch richtig zugeordnet werden.
INPUT var1 var2...;
7
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Mit INPUT werden die Variablen aufgelistet, die in der ASCII-Datei rohdatenfile
enthalten sind. Wichtig ist, dass die Reihenfolge der Variablennamen im INPUTBefehl der Reihenfolge der Variablen im rohdatenfile entspricht.
LABEL var1=’Beschreibung der Variable’;
Mit LABEL kann optional eine bis zu vierzig Zeichen lange Variablenbeschreibung
vergeben werden.
RUN;
Der RUN-Befehl schließt den DATA-Step ab.
Nachdem wir nun die Syntax für das Einlesen und Formatieren von Daten kennen gelernt
haben, wenden wir dieses Wissen auf einen Beispieldatensatz an. Sie benötigen dazu den
ASCII-Datensatz uebung1.prn.
Übungsaufgabe 1: Einlesen und Formatieren eines ASCII-Datensatzes
1. Erstellen Sie auf Ihrem Rechner ein SAS-Arbeitsverzeichnis, z.B. C:\SASKURS.
2. Kopieren Sie die Datei uebung1.prn in dieses Verzeichnis.
3. Vergeben Sie einen Library-Namen und weisen die Library dem Arbeitsverzeichnis
zu.
LIBNAME sasdat "C:\SASKURS";
4. Lesen Sie den Datensatz uebung1.prn ein, formatieren und benennen Sie die Variablen.
DATA sasdat.uebung1;
INFILE "C:\SASKURS\uebung1.prn";
FORMAT
JAHRE 4.0 ECP EIP K X XGNPDM YDH YL YNNI 8.3
LE LSE POP 7.4 LHT 5.0 PXGNP PECP 6.2
RL 5.3 TIME 3.0 UCUM YLA 6.3;
INPUT
JAHRE ECP EIP K LE LHT LSE PECP POP PXGNP
RL TIME UCUM X XGNPDM YDH YL YLA YNNI;
LABEL
JAHRE
ECP
= ’Jahre’
= ’Privater Verbrauch (Mrd. DM 1985)’
8
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
EIP
K
LE
LHT
LSE
PECP
POP
PXGNP
RL
TIME
UCUM
X
XGNPDM
YDH
YL
YLA
YNNI
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
’Anlageinv. a. Untern. (Mrd. DM 1985)’
’Bruttoanlageverm. insg. (Mrd. DM 1985)’
’Beschäftige Arbeitnehmer insg. (Mio)’
’Arbeitsvolumen insgesamt (Mio Std.)’
’Selbständige und Mithelfende (Mio)’
’Impl. Preisindex. priv. Verb.(1985=100)’
’Wohnbevölkerung (Mio.)’
’Impliziter Preisindex BSP (1985 = 100)’
’Langfristiger Zins’
’Zeittrend’
’Kapazitätsauslastung insgesamt’
’Bruttowertschöpfung (Mrd. DM 1985)’
’Bruttosozialprodukt (Mrd. DM)’
’Verfügb. Eink. der priv. HH. (Mrd. DM)’
’Eink. aus unselbst. Arbeit insg.(Mrd.DM)’
’Durchsch. Eink. je Beschäftigter(Tsd.DM)’
’Nettosozialp. zu Faktork. (Mrd. DM)’;
RUN;
3.
Bearbeiten von Daten, Erzeugen und Transformieren von Variablen
Während wir im letzten Abschnitt einen ASCII-Datensatz in einen SAS-Datensatz umgewandelt haben, gehen wir nun davon aus, dass bereits ein SAS-Datensatz vorliegt, den
wir bearbeiten wollen. Dies ist z.B. dann der Fall, wenn wir Variablen aus dem Datensatz
entfernen oder neue Variablen generieren wollen. Zusätzlich zu dem DATA-Step lernen wir
nun den SET-Befehl kennen. Die Syntax sieht folgendermaßen aus:
DATA library.dataset;
Der SAS-dataset library.dataset soll erzeugt werden, bzw. ein bereits vorhandener
SAS-dataset mit diesem Namen soll editiert werden.
SET library.dataset
Falls schon ein SAS-dataset existiert, kann er mit dem Befehl SET direkt angesprochen werden. SET bezeichnet den SAS-dataset, aus dem die zu bearbeitenden
Daten entnommen werden sollen.
var1= ...;
9
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Für die Generierung von Variablen ist eine Reihe von mathematischen/ statistischen Funktionen vorhanden. Zu den validen Operatoren gehören z.B.: +, - , / ,
LN(var1), EXP(var1), LAG(var1), . . . ; Die Funktion LAG erzeugt aus var1 eine um
eine Beobachtung verzögerte Variable.
DROP var1 var2 ...;
Mit dem Befehl DROP können einzelne Variablen aus dem Datensatz entfernt werden.
KEEP var1 var2 ...;
Mit dem Befehl KEEP werden nur die angegebenen Variablen behalten.
Wir verwenden dieses Befehle nun, um aus dem bereits erstellten Datensatz uebung1 die
Kapitalintensität zu berechnen und diese in einen neuen Datensatz mit dem Namen uebung2 abzuspeichern.
Übungsaufgabe 2: Berechnung des Indikators Kapitalintensität in einem neuen Datensatz
1. Erstellen Sie einen neuen Datensatz mit dem Namen uebung2 Benutzen Sie als Datengrundlage den Datensatz uebung1.
2. Berechnen und benennen Sie die Kapitalintensität.
DATA sasdat.uebung2;
SET sasdat.uebung1;
ki = k/lht;
LABEL ki = ’Kapitalintensität’;
RUN;
3. Streichen Sie aus dem neuen Datensatz uebung2 alle Variablen bis auf die Kapitalintensität.
DATA sasdat.uebung2;
SET sasdat.uebung2;
KEEP ki;
RUN;
10
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4.
Bedingte Ausführung von Befehlen im DATA-Step
In einem DATA-Step lassen sich auch bedingte Transformation durchführen. Dies kann z.B.
sinnvoll sein, wenn man Beobachtungen mit bestimmten Eigenschaften selektieren will.
Die Syntax sieht folgendermaßen aus:
IF Bedingung THEN DO;
Befehl_1;
END;
Falls die Bedingung erfüllt ist, wird ein bestimmter Befehl 1 ausgeführt. Der Befehl 1
wird mit END abgeschlossen.
ELSE DO;
Befehl_2;
END;
Falls die Bedingung nicht erfüllt ist, wird stattdessen der Befehl 2 ausgeführt.
WHERE Bedingung;
Mit dem WHERE-Befehl können Beobachtungen mit bestimmten Eigenschaften selektiert werden.
Die Bedingung kann sich z.B. auf einzelne Beobachtungen beziehen, die mit der Systemvariablen N angesprochen werden können. N ist 1 für die erste Beobachtung, 2 für die
zweite, etc. Wir nutzen diese Syntax nun, um eine Dummy-Variable zu erzeugen und den
Datensatz anhand dieser Dummy-Variable zu splitten.
Übungsaufgabe 3: Erzeugung einer Dummy-Variablen und Splitten des Datensatzes
1. Erzeugen Sie im SAS-dataset sasubd1 für die ersten 10 Beobachtungen eine DummyVariable, die den Wert Eins annimmt.
DATA sasdat.uebung1;
SET sasdat.uebung1;
IF _N_<=10 THEN DO;
dummy = 1;
END;
ELSE DO;
dummy = 0;
END;
LABEL dummy = ’Beobachtungen 1-10?’;
RUN;
11
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
2. Erzeugen Sie einen neuen Datensatz uebung3 in dem nur die ersten 10 Beobachtungen enthalten sind.
DATA sasdat.uebung3;
SET sasdat.uebung1;
WHERE dummy=1;
RUN;
Spätestens nachdem man nun zum fünften Mal den dataset sasdat.uebung1 angesprochen und niedergeschrieben hat, lernt man die Benutzung von Makrovariablen schätzen.
Mit Makrovariablen kann SAS effizienter genutzt werden. Makrovariablen werden mit dieser Anweisung erzeugt:
%LET makrovariable = Name der Makrovariablen;
&makrovariable;
Mit dem LET-Befehl wird eine Makrovariable erzeugt, die dann im Programmcode
mit &makrovariable angesprochen werden kann.
Um in unserer Analyse nicht ständig den Datensatz sasdat.uebung1 mit Library-Name und
Dataset-Name ansprechen zu müssen, könnten wir die folgende Makrovariable erzeugen:
Übungsaufgabe 4: Erzeugung einer Makrovariablen
1. Erzeugen Sie für sasdat.uebung1 eine Makrovariable mit dem Namen Data1. Erzeugen Sie für die ersten 5 Beobachtungen eine Dummy-Variable, die den Wert Zwei
annimmt.
\%LET Data1=sasdat.uebung1;
DATA &Data1;
SET &Data1;
IF _N_<=5 THEN DO;
dummy2 = 2;
END;
ELSE DO;
dummy2 = 0;
END;
LABEL dummy2 = ’Beobachtungen 1-5?’;
RUN;
12
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
5.
Datenausgabe
Nachdem wir zu Beginn dieses Abschnitts aus einem ASCII-Datensatz einen SAS-Datensatz
erstellt haben, wollen wir nun einen SAS-Datensatz als ASCII-Datensatz zur Weiterverarbeitung bereitstellen.
Der Vorteil der ASCII-Schreibweise ist, dass sie von nahezu allen anderen Statistik-Programmen erkannt wird und verarbeitet werden kann. Der Nutzen dieses Befehls ist allerdings in Zeiten von DBMS-Copy begrenzt. Die Ausgabe zur Weiterverarbeitung erfolgt
wiederum in einem DATA-step und ist analog zum Einlesen von ASCII-Daten. Die Syntax:
DATA _NULL_;
Es soll kein SAS-dataset erzeugt werden. Dies wird mit dem dataset-Namen NULL
erreicht.
FILE "rohdatenfile";
FILE bezeichnet die Datei, in der die Rohdaten im ASCII-Format gespeichert sind.
rohdatenfile muss die komplette Pfadangabe enthalten.
PUT var1 var2 ...;
Die Variablen var1 var2 . . . werden in den ASCII-Datensatz geschrieben.
Die Daten können dann etwa mit EXCEL wieder eingelesen werden. Wir üben dies mit dem
oben erzeugten dataset uebung3.
Übungsaufgabe 5: Ausgabe eines Datensatzes im ASCII-Format
1. Schreiben Sie den oben erzeugten Datensatz, in dem nur die ersten 10 Beobachtungen enthalten sind (uebung3), im ASCII-Format raus. Exportieren Sie die Variablen
ECP, EIP und KI.
DATA _NULL_;
SET sasdat.uebung3;
FILE "c:\SASKURS\test1.dat";
PUT ecp eip ki;
RUN;
13
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
3.
Prozedur SQL
SQL - Structured Query Language - ist eine international genormte Datenbanksprache.
Sie dient sowohl der Erzeugung als auch der Abfrage von relationalen Datenbanken. In
nahezu jedem Datenverwaltungsprogramm ist eine solche SQL Umgebung implementiert. Obwohl international nach dem sog. ANSI Standard genormt, gibt es dennoch unterschiedliche Features und Dialekte“ in unterschiedlichen Softwarepaketen. Im folgenden
”
soll gezeigt werden, wie mit der SQL Prozedur in SAS Datenbankabfragen vorgenommen
und verschiedene relationale Datensätze miteinander verknüpft werden können.
1.
Abfragebefehl SELECT
Mit Hilfe des SELECT Befehls können komplexe Abfragen vorgenommen werden. Im folgenden sollen nur die wichtigsten Bestandteile des SELECT Befehl innerhalb von SQL dargestellt werden1 :
PROC SQL;
Ruft die SQL Umgebung in SAS auf.
SELECT var1 var2 ...;
Enthält die Liste der ausgewählten Spalten.
FROM dataset;
Datensatz, auf den zugegriffen werden soll.
WHERE bedingung;
Bedingung, die erfüllt sein muss für die Abfrage.
QUIT;
Da die SQL eine sogenannte interaktive Prozedur ist, muss sie nicht mit RUN gestartet werden. Wenn im Code im Anschluss an die Prozedur keine weiteren Aufrufe
(Data-Steps oder andere Prozeduren folgen), muss der Nutzer sie durch den Befehl QUIT beenden.
Im folgenden sollen mit Hilfe einiger Beispiele die Einsatzmöglichkeiten des SELECT Befehls
aufgezeigt werden.
1
Für eine umfassende Einführung in SQL, vgl. Schicker, E. (1999), Datenbanken und SQL, Stuttgart u.a. Aus
diesem Buch ist auch der Beispieldatensatz entnommen
14
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
2.
Abfrage Operationen
Die nachfolgenden Beispiele beziehen sich auf den folgenden Datensatz schick.bier:
Nr
Sorte
Hersteller
Typ
Anzahl
1
Hell
Lammsbräu
Träger
12
3
Roggen
Thurn&Taxis
Träger
10
4
Pils
Löwenbräu
Träger
22
8
Export
Löwenbräu
Fass
6
11
Weißbier
Paulaner
Träger
7
16
Hell
Spaten
Sixpack
5
20
Hell
Spaten
Träger
12
23
Hell
EKU
Fass
4
24
Starkbier
Paulaner
Träger
4
26
Dunkel
Kneitlinger
Träger
8
28
Märzen
Hofbräu
Träger
3
33
Weizen light
Lamms
Träger
6
36
Pils alkoholfrei
Löwenbräu
Sixpack
5
39
Weißbier
Erdinger
Träger
9
47
Pils
Bischofshof
Fass
3
Übungsaufgabe 6: SQL Abfragen mit Hilfe des SELECT Befehls
1. Mit dem folgenden Befehl werden aus dem Datensatz schick.bier diejenigen Sorten
(sorte) und derjenige Hersteller (herstell) in dem Output Fenster ausgegeben, auf die
der Typ Fass“ zutrifft:
”
PROC SQL;
SELECT sorte, herstell
FROM schick.bier
WHERE typ = "Fass";
QUIT;
Die in WHERE spezifizierten Bedingungen können dabei auch mit den logischen Operatoren AND, OR, NOT, IN, BETWEEN etc. verknüpft werden.
Übungsaufgabe 7: SQL Abfragen mit Hilfe des SELECT Befehls
15
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
1. In dem folgenden beiden Beispielen werden zunächst Hersteller und Anzahl ausgegeben, bei denen die beiden Bedingungen Pils“ und Träger“ zutreffen, während
”
”
bei dem nächsten Beispiel Sorte, Hersteller und Anzahl ausgegeben werden, für die
die Anzahl kleiner als vier ist:
PROC SQL;
SELECT herstell, anzahl
FROM schick.bier
WHERE sorte = "Pils" and typ = "Träger";
QUIT;
PROC SQL;
SELECT sorte, herstell, anzahl
FROM schick.bier
WHERE anzahl < 4;
QUIT;
2. Mit IN und BETWEEN werden diejenigen Sorten ausgegeben, bei denen die Anzahl
zwischen drei und vier beträgt bzw. drei, vier, fünf oder sechs:
PROC SQL;
SELECT * FROM schick.bier
WHERE anzahl between 3 and 4;
QUIT;
PROC SQL;
SELECT * FROM schick.bier
WHERE anzahl IN(3,4,5,6);
QUIT;
3. Darüberhinaus besteht auch die Möglichkeit, nach Stringeinträgen in Zeilen zu suchen, die mit einem bestimmten vorgegebenen String übereinstimmen. Mit dem
nachfolgenden Befehl z.B. werden für alle Spalten (*) diejenigen Zeilen ausgegeben, für die die Bedingung: name enthält heinz“ erfüllt ist.
”
PROC SQL;
SELECT * FROM schick.bier
WHERE name CONTAINS "heinz";
QUIT;
Mit den bisherigen Befehlen wurde das Ergebnis der Abfrage lediglich in das Outputfenster
von SAS geschrieben. Möchte man die Ergebnisse in einem neuen Datensatz speichern,
um später mit ihnen weiterarbeiten zu können, muss man die obigen Anweisungen noch
um den Befehl CREATE TABLE ergänzen.
16
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Übungsaufgabe 8: Erzeugen eines neuen Datensatzes in SQL
1. Mit dem nachfolgenden Befehl etwa wird das Ergebnis der select Abfrage in den
neuen Datensatz library.out geschrieben.
PROC SQL;
CREATE TABLE AS SELECT * FROM schick.bier;
WHERE name
CONTAINS "heinz";
QUIT;
3. Statistische Funktionen in SQL
Bei den Select Abfragen besteht die Möglichkeit, vordefinierte arithmetische und statistische Funktionen zu benutzen, um so neue Variablen zu definieren.
Übungsaufgabe 9: Artithmetische Funktionen in SQL
1. Mit dem folgenden Befehl etwa wird auf die Datei schick.bier zugegriffen und die
folgenden Spalten ausgegeben: name und dosen, für diejenigen Zeilen, für die die
Bedingung Typ = Sixpack“ erfüllt ist. Aus der Spalte anzahl, in der die Anzahl an Six”
packs enthalten ist, entsteht durch die Multiplikation mit sechs die Anzahl an Dosen;
diese Variable wird unter dem Namen dosen abgespeichert:
PROC SQL;
SELECT herstell, 6*anzahl AS dosen
FROM schick.bier;
WHERE typ = "sixpack";
RUN;
In SQL sind darüberhinaus eine Reihe von statistischen Funktionen implementiert: Die Ermittlung des Durchschnittswertes über alle Zeilen erfolgt mit AVG, die Anzahl an Zeilen mit
COUNT, der Maximal- bzw. Minimalwert mit MAX bzw. MIN und der Summenwert über alle
Zeilen eines Datenfiles mit SUM.
Übungsaufgabe 10: Statistische Funktionen in SQL
1. Mit dem folgenden Befehl etwa wird die durchschnittliche Anzahl an verschiedenen
Biersorten unter dem Namen avg, die maximale Anzahl unter max und die Anzahl
an verschiedenen Biersorten im Lager unter anzahl ausgegeben:
PROC SQL;
SELECT AVG(anzahl) AS avg, MAX(anzahl) AS max, COUNT(anzahl)
AS anzahl
FROM schick.bier;
QUIT;
17
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4.
Where Bedingung
Mit der WHERE Bedingung kann die Abfrage auf bestimmte Zeilen des Datensatzes beschränkt werden, die die where-Bedingung erfüllen.
Übungsaufgabe 11: Bedingte Abfragen mit dem WHERE Befehl in SQL
1. Mit dem folgenden Befehl wird aus der Datei schick.bier die niedrigste Anzahl ermittelt, die 5 überschreitet:
PROC SQL;
SELECT MIN(anzahl);
FROM schick.bier;
WHERE anzahl > 5;
QUIT;
2. Nachfolgend eine Abfrage nach der maximalen Anzahl unter der Gruppe der hellen
Biere (man beachte, dass Stringvariablen, hier also hell, in Klammern gesetzt werden
müssen):
PROC SQL;
SELECT MAX(anzahl) FROM schick.bier;
WHERE sorte = "hell";
QUIT;
5.
Zusammenfügen von Datensätzen
Im folgenden wollen wir zeigen, wie man mit SQL verschiedenen separate Datensätze zu
einem neuen Datensatz zusammenfügen kann. Die wichtigste Unterscheidung ist dabei
die zwischen einem sog. INNER und OUTER JOIN. Der Unterschied zwischen diesen beiden
Verknüpfungen (joins) soll mit dem folgenden Beispiel verdeutlicht werden.
Gegeben seien zwei Datensätze. Der erste library.tab1 enthalte die beiden Variablen Id
und V1, der zweite library.tab2 die beiden Variablen Id und V2. Diese beiden Datensätze
sollen nun über die in beiden Datensätzen enthaltene Variable Id verknüpft werden. Bei
einem INNER JOIN werden nur diejenigen Individuen in den zu erzeugenden Datensatz
library.neu geschrieben, die sowohl in dem ersten als auch dem zweiten Datensatz enthalten sind. Der entsprechende SAS Befehl würde wie folgt aussehen:
PROC SQL;
CREATE TABLE library.neu AS SELECT
a.Id, a.V1, b.V2
FROM library.tab1 a INNER JOIN library.tab2 b
ON a.id = b.id;
QUIT;
18
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Die neu zu erzeugende Datei enthält aus der ersten Datei die beiden Variablen Id und V1
und aus dem zweiten Datensatz die Variable V2. Den auszuwählenden Variablen in der
dritten Zeile werden dabei noch sog. Aliase, in unserem Beispiel die beiden Buchstaben a
und b, vorangestellt. In der vierten Zeile, in der spezifiziert wird, auf welche Datensätze zugegriffen werden soll, muß dabei definiert werden, welche Datei zu welchem Alias gehört.
Das Ergebnis dieser Verknüpfung würde wie folgt aussehen:
ID
V1
1
10
2
3
4
5
20
+
ID
V2
1
100
2
200 =
5
500
6
600
30
40
ID
V1
V2
1
10
100
2
20
200
5
50
500
50
Ein OUTER JOIN wird durch folgenden Befehl ausgeführt:
PROC SQL;
CREATE TABLE library.neu AS SELECT
a.id, a.v1, b.v2
FROM library.tab1 a FULL JOIN library.tab2 b
ON a.id = b.id;
QUIT;
Folgendes Ergebnis wird erzeugt:
ID
V1
1
10
2
20
3
30
4
40
5
50
+
ID
V1
V2
ID
V2
1
10
100
1
100
2
20
200
2
200 =
3
30
–
5
500
4
40
–
6
600
5
50
500
6
–
600
19
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Man erkennt, dass die Ergebnisdatei nun alle Individuen enthält, die in einer der beiden
Dateien auftauchen. Analog arbeitet der LEFT JOIN. Bei einem left join sind in der Ergebnisdatei alle Individuen enthalten, die in der ersten Datei auftauchen und die entprechenden
Individuen der zweiten Datei.
4.
Graphische Aufbereitung
Im folgenden soll mit der Prozedur GPLOT eine Möglichkeit der graphischen Aufbereitung
von Daten, insbesondere Zeitreihen gegeben werden. Die vereinfachte allgemeine Syntax sieht dabei wie folgt aus:
SYMBOL1 V = dot I = spline h = 0.5
Für jede Zeitreihe, die geplottet werden soll, können nach dem SYMBOL Statement
allgemeine Optionen festgelegt werden. SYMBOL1 legt z.B. für die erste geplottete
Zeitreihe fest, dass die einzelnen Beobachtungen mit Punkten gekennzeichnet
werden sollen. Alternativ könnte hier auch STAR angegeben werden. I = spline
verbindet die einzelnen Punkte mit einer Spline-Funktion. Mit h kann die Dicke
der Linien und Punkte geregelt werden.
PROC GPLOT DATA = library.dataset;
Nach dem DATA Statement wird der Datensatz spezifiziert, der die Variablen
enthält, die geplottet werden sollen.
PLOT var_y * var_x;
Nach dem PLOT Statement wird mit var y diejenige Variable spezifiziert, die auf
der Y-Achse und mit var x diejenige, die auf der X-Achse abgetragen werden
soll.
PLOT (var_y1 var_y2) * var_x / OVERLAY LEGEND;
Sollen zwei Variablen, z.B. var y1 und var y2, in einer Graphik gegenüber einer
dritten Variablen var x abgetragen werden, so muß zusätzlich noch die Option
OVERLAY spezifiziert werden. LEGEND fordert eine erklärende Legende der einzelnen Variablen an.
RUN; QUIT;
20
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Übungsaufgabe 12: Graphische Aufbereitung
1. Plotten Sie aus dem Datensatz uebung1 die Entwicklung der Variablen ECP im Zeitablauf.
PROC GPLOT DATA=sasdat.uebung1;
PLOT ecp * jahre;
RUN; QUIT;
2. Bereiten Sie die zeitliche Entwicklung der Variablen ECP und XGNPDM in einer Graphik auf, verbinden Sie die einzelnen Punkte miteinander und geben Sie auch eine
Legende an.
SYMBOL1 I = spline;
PROC GPLOT DATA=sasdat.uebung1;
PLOT (ecp xgnpdm) * jahre / OVERLAY LEGEND;
RUN; QUIT;
5. Deskriptive Auswertungen
Wir wenden uns nun einem wichtigen Bereich der statistischen Analyse, der Deskription
des vorliegenden Datenmaterials durch die Ermittlung von Kennwerten, zu. Deskriptive
Auswertungen werden in SAS mit Prozeduren (procedures) durchgeführt. Der PROC-step
beginnt mit der Anweisung PROC procedurename und endet mit dem RUN-Befehl.Die
Auswahl des geeigneten Verfahrens und die dieses Verfahren umsetzende SAS-Prozedur
hängt u.a. vom Mess- oder Skalenniveau der betrachteten Variablen ab. Bei kategoriellen (oder nominalen) Variablen (z.B. Geschlecht oder Wohnort), möchte man Häufigkeiten berechnen, während bei stetigen, intervallskalierten Variablen eher der Mittelwert, der
Median und entsprechende Streuungsmaße gefragt sind. Aus der Fülle von Statistikprozeduren, die das SAS-System bietet, können nur einige wenige Prozeduren vorgestellt werden. Mit der Prozedur PROC MEANS oder PROC UNIVARIATE werden Kennwerte berechnet, Konfidenzintervalle für den Mittelwert bestimmt, Tests von Mittelwerten gegen einen
festen Wert und der Test auf Normalverteilung durchgeführt. Darüber hinaus können damit
grafische Darstellungen der empirischen Verteilungen einer Stichprobe erzeugt werden.
Die Prozedur PROC FREQ dient zur Tabulierung von Häufigkeiten und Kreuztabulierungen,
während die Prozedur PROC CORR Zusammenhangsmaße zwischen Variablen berechnet.
Die Syntax:
21
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
PROC MEANS DATA=library.dataset NOPRINT;
CLASS var1;
VAR var1 var2...;
OUTPUT OUT=library.outputname;
In der ersten Zeile wir die MEANS-Prozedur aufgerufen und bestimmt, auf welchen
SAS-dataset sich die Auswertung bezieht. Verwendet man nur die DATA-Option
werden die Standardkennwerte aller numerischen Variablen im OUTPUT-Fenster
aufgelistet. Mit VAR kann man die Auswahl auf einige Variablen beschränken. Mit
der CLASS-Anweisung werden die Kennwerte getrennt für die Ausprägungen der
CLASS-Variablen berechnet. Werden die Kennwerte für weitere Berechnungen
benötigt, kann man sie mit der Anweisung OUTPUT in einen neuen SAS-dataset
umleiten. Will man die Ergebnisse ausschließlich in einen dataset (und nicht in das
OUTPUT-Fenster) schreiben, ergänzt man die erste Programmzeile um den Befehl
NOPRINT.
PROC MEANS DATA=library.dataset [Weitere Optionen];
[NMISS RANGE VAR CLM ALPHA=0.01 T PRT]
Einige weitere interessante Optionen, die dem DATA-Statement (ohne eckige
Klammern) folgen können, seien hier erwähnt: NMISS liefert die Anzahl der fehlenden Werte, Range informiert über die Spannweite und VAR liefert die Varianz. Um das 95%-Konfidenzintervall für den Erwartungswert zu berechnen wird als
Schlüsselwort CLM angegeben. Mit der ALPHA-Option lassen sich auch andere
Konfidenzintervalle berechnen. Mit der Option T wird die Teststatistik angefordert
und mit PRT der dazugehörige p-Wert.
PROC UNIVARIATE DATA=library.dataset;
VAR var1...;
Während die MEANS-Prozedur Konfidenzintervalle und Hypothesentests berechnet, die nur für normalverteilte Variablen sinnvoll interpretiert werden können,
erhält man mit der UNIVARIATE-Prozedur zusätzliche Kennwerte, die auch für
nichtnormalverteilte und quantitative Variablen von Bedeutung sind (Median, Modalwert, Quartile, Quantile, etc...).
PROC FREQ DATA=library.dataset;
TABLES var1 var2 ...;
Mit der FREQ-Prozedur können die empirischen Häufigkeiten für die mit TABLES
spezifizierten Variablen berechnet werden. Man erhält die absoluten, relativen
und kumulierten Häufigkeiten.
PROC CORR DATA=library.datasetname [SPEARMAN];
VAR var1 var2 var3...;
22
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Mit der CORR-Prozedur können verschiedene Zusammenhangsmaße berechnet und Korrelationen zwischen Variablen genauer untersucht werden. Standardmäßig (d.h. ohne weitere Angaben) wird der Pearsonsche’ Korrelationskoeffizient berechnet. Darüber hinaus kann aber auch der Korrelationskoeffizient
nach Spearman mit der Option SPEARMAN (ohne Klammern) berechnet werden.
Übungsaufgabe 13: Deskriptive Auswertungen
1. Berechnen Sie aus dem Datensatz uebung1 deskriptive Statistiken für die Variablen
ECP, EIP und XGNPDM. Unterscheiden Sie dabei die ersten 10 Beobachtungen von
dem Rest der Beobachtungen. Schreiben Sie die Ergebnisse in einen neuen dataset
mit dem Namen descrip1.
PROC MEANS DATA=sasdat.uebung1;
CLASS dummy;
VAR ECP EIP XGNPDM;
OUTPUT OUT=sasdat.DESCRIP1;
RUN;
2. Untersuchen Sie den Zusammenhang zwischen den Variablen ECP (Privater Verbrauch) und YLA (Durchschn. Einkommen je Beschäftigtem).
PROC CORR DATA=sasdat.uebung 1;
VAR ECP YLA;
RUN;
6. Lineare Regression
Lineare Regressionen werden in SAS mit der Prozedur PROC REG durchgeführt. Die Syntax
hierzu sieht folgendermaßen aus:
PROC REG DATA= library.datasetname;
label:MODEL var1 = var2 var3 ....;
Es wird eine lineare Regression mit der abhängigen Variablen var1 und den exogenen Variablen var2,var3,.... durchgeführt. Das Modell kann optional mit einem
Namen versehen werden (label).
MODEL var1 = var2 var3... /NOINT DW;
23
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Standardmäßig wird eine Regressionskonstante berücksichtigt, die mit der Option
NOINT des MODEL-Befehls unterdrückt werden kann. Außerdem können zusätzliche Teststatistiken, wie z.B. die Durbin-Watson-Teststatistik d mit der Option DW,
ebenfalls im MODEL-Befehl angefordert werden.
TEST var2=0, var3=var4;
Möchte man bestimmte Hypothesen über die Parameter simultan überprüfen, also einen F -Test durchführen, so lässt sich dies mit dem Befehl TEST erreichen. Die
Hypothese, dass der Parameter von var2 (var3) nicht signifikant von 0 (dem Parameter von var4) verschieden ist, wird hier simultan mit einem F -Test geprüft.
RESTRICT var2=2*var3;
Man kann auch bestimmte Parameter mit dem Befehl RESTRICT von vorneherein
restringieren. Der Parameter von var2 wird auf das Zweifache des Parameters von
var3 restringiert.
OUTPUT OUT=library.dataset R=resid P=predic;
Mit dem Befehl OUTPUT kann man Schätzergebnisse für die weitere Verarbeitung
herausschreiben. Mit dem Keyword OUT wird der neue SAS dataset bezeichnet, in
dem die Regressionsergebnisse abgespeichert werden sollen. Verfügbar sind z.B.
die geschätzten Residuen (R) und die Schätzwerte für die abhängige Variable (P).
PLOT R.*OBS.;
Mit dem Befehl PLOT können außerdem Plots für bestimmte Schätzergebnisse angefordert werden. Z.B. erzeugt der obige Befehl zusätzlich zu den Schätzergebnissen einen PLOT der geschätzten Residuen über die Beobachtungen.
Um diese neue Prozedur kennen zu lernen, schätzen wir mit dem Datensatz uebung1 eine
keynesianische Konsumfunktion, bei der der private Verbrauch vom verfügbaren Realeinkommen abhängt.
Übungsaufgabe 14: Keynesianische Konsumfunktion
1. Berechnen Sie zunächst aus dem Datensatz uebung1 das verfügbare Realeinkommen.
24
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
DATA sasdat.uebung1;
SET sasdat.uebung1;
YDHR = (ydh/pecp)*100;
LABEL YDHR = ’reales verfügbares Einkommen’;
RUN;
2. Schätzen Sie nun die Konsumfunktion, benennen Sie das Modell und berechnen die
DW-Teststatistik. Schreiben Sie die Ergebnisse, inklusive der R- und P-Werte in einen
neuen Datensatz uebung4 und veranschaulichen Sie den Fit der Residuen graphisch.
PROC REG DATA = sasdat.uebung1;
Keynes:MODEL ecp = ydhr / DW;
OUTPUT OUT = sasdat.uebung4 R=Resid P=Predic;
PLOT R.*OBS.;
RUN;
7. Prozedur PROBIT
Für die Schätzung von Logit- und Probit-Modellen stehen in SAS zwei Prozeduren zur Verfügung. Mit Hilfe der PROBIT-Prozedur können dichotome Probit- und Logit-Modelle modelliert und deren Parameter geschätzt werden, während die LOGISTIC-Prozedur zusätzlich
polytome abhängige Variable berücksichtigt. Wir geben zunächst eine kurze Einführung
in die wichtigsten Befehle der PROBIT-Prozedur, behandeln anschließend ein empirisches
Beispiel, bevor wir im nächsten Kapitel auf die LOGISTIC-Prozedur zu sprechen kommen.
PROC PROBIT DATA = library.datasetname;
CLASS variables;
Mit dem PROC PROBIT Befehl wird die Prozedur gestartet. Innerhalb dieses ersten
Schrittes erfolgt auch die Festlegung des Input-Datensatzes. Der CLASS-Befehl definiert, welche Variable in dem anschließenden Modell die abhängige Variable
ist.
label:MODEL var1 = var2 var3... / Options;
Analog zur linearen Regression kann das Modell auch hier benannt werden. Der
Befehl MODEL initiiert das Modell, wobei var1 die endogene Variable ist und var2,
var3... die exogenen Variablen darstellen. Die abhängige Variable kann auch
als Quotient zweier anderer Variablen spezifiziert werden, z.B. kann eine Variable
Erfolg definiert werden als Erfolg = Treffer/Schüsse. Es muss lediglich gewährleistet
sein, dass der Quotient zwischen null und eins liegt, das also in diesem Fall Treffer
¡ Schüsse für jede Beobachtung gilt. Im Anschluss an den MODEL-Befehl können
optionale Einstellungen vorgenommen werden, die nachfolgend erklärt werden.
25
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
D = Verteilung;
Nach dem Befehl d = kann eine Verteilungsannahme getroffen werden. Zur Auswahl stehen die Normal- (normal), die logistische (logistic) und die Gompertzverteilung (gompertz), wobei die Normalverteilung voreingestellt ist.
C = Schwellenwert;
Dieser Befehl legt einen bestimmten Schwellenwert fest. Voreinstellung ist dabei
ein Schwellenwert von null, so dass z.B. in dem Fall einer dichotomen Variablen Y
diese einen Wert von 1 annimmt, wenn die latente Variable Y* einen Wert größer
null annimmt.
OPTC;
Mit diesem Befehl wird der Schwellenwert als unbekannt betrachtet und innerhalb
des Modells geschätzt.
INVERSECL HPROB=p;
Sollen für die erste unabhängige Variable Konfidenzintervalle berechnet werden, die für ein gegebenes Signifikanzniveau zu einem bestimmten Wert für die
abhängige Variable führen, muss der Befehl inversecl verwendet werden. Mit
dem Befehl hprob=p kann dabei ein bestimmtes Signifikanzniveau p vorgegeben
werden, das bei der Berechnung der Konfidenzintervalle verwendet wird. Voreinstellung ist dabei ein Signifikanzniveau von 10%.
LACKFIT;
Mit dem Befehl lackfit können Gütemaße berechnet und angezeigt werden. Es
werden ein Pearson Chi-Quadrat Test und ein Log-Likelihood-Ratio Test durchgeführt.
OUTPUT OUT = library.outfile;
Mit dem OUTPUT Befehl wird ein neuer Datensatz generiert, der alle Variablen des
Inputdatensatzes, die geschätzten Wahrscheinlichkeiten (prob), die geschätzten
x0 b (xbeta) und die geschätzten Standardfehler (std) enthält. Der Befehl out = library.outfile legt den Namen des Outputdatensatzes fest.
26
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
1.
SAS-Besonderheiten - Umkodieren der abhängigen Variable
Eine (nicht zu erklärende) Besonderheit von SAS ist, dass im Falle einer abhängigen dichotomen Variable die Wahrscheinlichkeit p für den kleineren und nicht für den größeren Wert der Variablen modelliert wird. Wenn z.B. die Variable die beiden Ausprägungen 0 und 1 annehmen kann und ein Schwellenwert von c = 0 unterstellt wird, so gilt:
p = P (Yi = 0) = P (Yi0 ≤ 0) = P (u0i ≤ x0i β) = 1 − F (x0i β). SAS hingegen schätzt p wie folgt:
p = P (Yi = 0) = F (x0i β), so dass man als Parametervektor nicht β erhält, sondern −β. Wenn
man also einen Parameter βk mit negativem Vorzeichen erhält, so heißt das nicht, dass
die exogene Variable xk c.p. die Wahrscheinlichkeit P (Yi = 1), sondern die Wahrscheinlichkeit P (Yi = 0) verringert, also die Wahrscheinlichkeit P (Yi = 1) erhöht.
Um eine Aussage treffen zu können, ob eine bestimmte exogene Variable xk die Wahrscheinlichkeit P (Yi = 1) erhöht, muss das Vorzeichen des entsprechenden β umgekehrt
werden oder man kodiert die abhängige Variable vor Durchführung der Schätzung um.
Handelt es sich um eine dichotome Variable, so muss aus der 0“ eine 1“ und umgekehrt
”
”
aus der 1“ eine 0“ werden.
”
”
Mit den folgenden Programmzeilen kann eine solche Umkodierung erfolgen. In dem Datensatz inputfile, der die abhängige Variable endo enthält, wird eine neue umkodierte
Variable endo 2 erzeugt:
DATA library.inputfile;
SET library.inputfile;
endo_2 = 1-endo;
RUN;
Nach einer solchen Umkodierung können die Parameterergebnisse in der gewohnten
Weise interpretiert werden.
2.
Optionale Ausgestaltung des Schätzverfahrens
Bevor wir nun die PROBIT-Prozedur auf ein empirisches Beispiel anwenden wollen, lernen
wir noch einige Optionen kennen, die die Schätzverfahren in SAS betreffen.
CONVERGE = wert
MAXITER = wert
NOINT;
27
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Mit dem CONVERGE-Befehl kann ein Konvergenzkriterium angegeben werden.
Die Parameter werden iterativ mit dem Newton-Raphson Verfahren geschätzt. Die
Schätzung wird abgebrochen, wenn bei einem Parameter größer als 0,01 die relative Veränderung zwischen zwei Schritten kleiner als der angegebene Wert ist
und bei einem Parameter kleiner als 0,01 die absolute Veränderung zwischen
zwei Schritten kleiner als der angegebene Wert ist. Voreinstellung ist ein Wert von
0,001. Mit dem Befehl MAXITER-Befehl kann die maximale Anzahl an Iteration angegeben werden. Voreinstellung ist dabei eine Anzahl von 50. Mit NOINT wird ein
Modell ohne Konstante spezifiziert und geschätzt.
BY var2;
Es besteht zudem noch die Möglichkeit, den Datensatz in verschiedene Gruppen
einzuteilen und für jede Gruppe eine separate Schätzung durchzuführen. Dazu
wird nach dem Befehl BY diejenige Variable angegeben, die festlegt zu welcher
Gruppe der beobachtete Wert gehört. SAS erwartet dabei, dass der Datensatz
aufsteigend nach der Gruppenvariablen sortiert ist. Ist dies nicht der Fall, so muss
der Datensatz mit PROC SORT vor Durchführung der Schätzung entsprechend sortiert werden.
WEIGHT;
Mit dem WEIGHT-Befehl kann jede Beobachtung gewichtet werden. Gewichtet
wird sie dabei mit dem Wert der Variablen, die nach dem WEIGHT-Befehl angegeben wird. Der Beitrag jeder Beobachtung zur Likelihood wird dann mit dem
Gewichtungsfaktor multipliziert.
3.
Das Output-Fenster bei der PROBIT-Prozedur
Bevor wir zu unserem Beispiel kommen ist es noch angebracht, das OUTPUT-Fenster der
PROBIT-Prozedur ein wenig zu kommentieren. Im Output-Fenster erhalten wir neben den
Parameterwerten und der Standardabweichung auch einen CHISQUARE-Wert, der das
Quadrat der üblichen t-Statistik ist. Die dahinterstehende Überlegung ist, dass die t-Statistik
asymptotisch und unter der Nullhypothese, dass der Parameterwert gleich Null ist, standardnormalverteilt ist. Das Quadrat einer standardnormalverteilten Variable ist χ2 -verteilt
mit einem Freiheitsgrad. Der p-Wert im Output-Fenster basiert auf dieser Annahme.
Als weitere Information erhalten wir den Wert der Log-Likelihhod-Funktion. Eine Warnung
ist an dieser Stelle angebracht. Bei allen nicht-linearen Schätzproblemen müssen Entscheidungen über Algorithmen, Konvergenzkriterien und die Berücksichtigung von Kovarianzmatrizen getroffen werden. Unterschiedliche Softwareprogramme lösen diese Aufgabe in unterschiedlicher Weise, so dass es durchaus möglich ist, das zwei verschiedene
Programme zu unterschiedlichen Ergebnissen kommen.
Den Wert der Log-Likelihood können Sie verwenden um z.B. das R2 nach McFadden oder
Aldrich-Nelson zu berechnen.
28
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4.
Beispiel: Schätzung der Kaufwahrscheinlichkeit für ein Produkt
Zur Verdeutlichung wenden wir uns nun einem empirischen Beispiel2 . Der SAS-Datensatz
KAUF ROH enthält 25 Beobachtungen von Individuen (INDIV), die ein bestimmtes Produkt
gekauft haben (BU Y = 1) oder nicht (BU Y = 0). Als zusätzliche Informationen sind in dem
Datensatz die Variablen Geschlecht (SEX) und Einkommen (INCOME) enthalten. Sie sollen
den Produktkauf in Abhängigkeit dieser beiden Variablen modellieren.
Übungsaufgabe 15: Modellierung Kaufentscheidung (Dichotomes Logit-Modell)
1. Erzeugen Sie zunächst eine neue umkodierte abhängige Variable BUY 2.
DATA sasdat.kauf;
SET sasdat.kauf_roh;
BUY_2 = 1 - BUY;
RUN;
2. Schätzen Sie nun ein LOGIT-Modell (mit Konstante) für die Kaufwahrscheinlichkeit
in Abhängigkeit der Variablen SEX und INCOME. Berechnen Sie auch Gütemaße.
Schreiben Sie die Ergebnisse, sowie die berechnete Kaufwahrscheinlichkeit, die Standardabweichung und den Wert für in einen neuen Datensatz KAUF OUT.
PROC PROBIT DATA = sasdat.kauf;
CLASS BUY_2;
LOGIT:MODEL BUY_2 = SEX INCOME / d = logistic lackfit;
OUTPUT OUT = sasdat.kauf_out PROB = PROB STD = SA xbeta = xb;
run;
3. Vergleichen Sie die Kaufwahrscheinlichkeiten der Konsumenten 1 und 2.
Stimmen die Wahrscheinlichkeiten mit dem tatsächlichen Kaufverhalten überein?
Wie wirkt sich eine Einkommenserhöhung von 100,- DM auf das Kaufverhalten der
beiden betrachteten Konsumenten aus? (Hinweis: 0,00448041 ist der berechnete
Beta-Parameter aus 2.)
DATA sasdat.kauf_OUT;
SET sasdat.kauf_OUT;
pdf = (exp(xb)/(1+exp(xb))**2);
marg_100 = pdf*0.00448041*100;
LABEL marg_100 = ’marginaler Effekt von 100,-DM’;
RUN;
4. Berechnen Sie als Gütemaß das R2 nach McFadden und Aldrich-Neslon. (-6.0719 ist
der berechnete Wert der Log-Likelihood-Funktion aus 3).
2
Aus: Ökonometrie“ von Eckey/Kosfeld/Dreger.
”
29
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
DATA sasdat.guete;
SET sasdat.kauf;
LL_0=14*log(14/25)+11*log(11/25);
KEEP LL_0;
RUN;
DATA sasdat.guete;
SET sasdat.guete;
R_2MF=1-(-6.0719/LL_0);
R_2AN=(2*(-6.0719/LL_0))/(2*(-6.0719/LL_0)+25);
RUN;
8. Prozedur MODEL
Mit Hilfe der SAS Prozedur MODEL können unbekannte Parameter von Mehrgleichungsmodellen geschätzt werden. Mit den geschätzten Modellen können anschließend Simulationen und Prognosen durchgeführt werden. Diese kurze Einführung soll den Leser mit
den wichtigsten Befehlen und Eigenschaften dieser Prozedur bekannt machen.
1.
Einführung
PROC MODEL; OPTIONS;
RESET OPTIONS;
INCLUDE ...;
ENDOGENOUS variables;
EXOGENOUS variables;
PARAMETERS ...;
VAR variables;
Festlegung der Variablen und
der Struktur des Modells; Festlegung von allgemeinen Optionen
FIT EQUATIONS;
INSTRUMENTS ...;
WEIGHT variables;
Schätzung des Modells (Fit)
SOLVE variables;
Prognose und Simulation (Solve)
BY variables;
ID variables;
Kontrolle über die beobachteten Werte
RANGE variables (=first) TO (=last);
30
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
OUTVARS variables;
Festlegung der Variablen im Outputdatensatz
RUN;
In dieser Reihenfolge werden nun die wichtigsten Bestandteile der MODEL Prozedur anhand von Beispielen vorgestellt.
2.
Festlegung der Variablen und der Struktur des Modells
In einem ersten Schritt werden die Variablen und Paramater, die in dem Modell auftauchen, sowie die Gleichungen, die diese miteinander verbinden, definiert.
Dabei kann man entweder explizit angeben, welche der in dem Modell auftauchenden
Variablen endogen (nach dem Befehl Endogenous, abgekürzt Endo) und welche exogen
(nach dem Befehl Exogenous, abgekürzt Exo) sind, oder man gibt, ohne eine Unterscheidung zu treffen, alle verwandten Variablen nach dem Befehl Var an und überläßt es SAS,
eine Unterscheidung zu treffen. SAS trifft diese Entscheidung gemäß der Rolle, die die Variablen in den Subprozeduren Fit und Solve spielen.
Die getrennte Eingabe dient dabei vor allem der besseren Übersichtlichkeit und weist SAS
zudem noch an, dass es bei späterer Verwendung des Solve Befehls das System nach den
endogenen Variablen lösen soll.
Nach der Parameters Anweisung (abgekürzt Parms) werden die Paramater des Gleichungssystems festgelegt. Hierbei besteht zudem noch die Möglichkeit, den Parametern
bestimmte Werte vorzugeben, indem man den entsprechenden Wert nach dem Parameter setzt (z.B. wird mit d1 1 der Parameter d1 auf 1 restringiert, insbesondere um die
Identifikation der Modelle zu gewährleisten, sind solche Restriktion notwendig).
Im Anschluß werden die Strukturgleichungen des Modells festgelegt. Bei der Eingabe der
Gleichungen stehen zwei Wege zur Verfügung: Eingabe in normalisierter Form oder in
Standardform. Eingabe der Gleichungen in normalisierter Form meint dabei die Eingabe der Gleichungen aufgelöst nach jeweils einer endogenen Variablen: y = f (Y, X) + ε.
Eingabe in Standardform meint die Eingabe jeweils aufgelöst nach der Störvariable: ε =
g(Y, X). Bei dieser Eingabeart müssen zudem noch die Gleichungen bezeichnet werden
(siehe Beispiel weiter unten).
Als Beispiel sei folgendes Zweigleichungsmodell betrachtet:
(1) quantity demand = quantity = d0 + d1price + d2income + ε1
(2) quantity supply = quantity = s0 + s1price + s2unitcost + ε2
mit den beiden endogenen Variablen: quantity demand = quantity supply = quantity und price
und den exogenen Variablen: income und unitcost. Die Eingabe der Gleichungen erfolgt
31
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
im folgenden sowohl in normalisierter als auch in Standardform3 . Den dazugehörigen Beispieldatensatz lesen wir dabei in einem ersten Schritt mit der cards Anweisung unter dem
Namen dataset ein. Nach input werden dabei die Namen der einzulesenden Variablen
angegeben. Nach dem cards Statement folgen dann die einzulesenden Variablen, getrennt mit einem Leerzeichen.
/* Einlesen des Datensatzes */
DATA library.dataset;
INPUT year income unitcost price quantity @@;
CARDS;
1976
2221.87
3.31220
0.17903
266.714
1977
2254.77
3.61647
0.06757
276.049
1978
2285.16
2.21601
0.82916
285.858
1979
2319.37
3.28257
0.33202
295.034
1980
2369.38
2.84494
0.63564
310.773
1981
2395.38
2.94154
0.62011
319.185
1982
2419.52
2.65301
0.80753
325.970
1983
2475.09
2.41686
1.01017
342.470
1984
2495.09
3.44096
0.52025
248.321
1985
2536.72
2.30601
1.15053
360.750
;
PROC MODEL;
/* Festlegen der Variablen */
VAR price quantity income unitcost;
/* Alternativ */
ENDO quantity price;
EXO income unitcost;
/* Festlegen der Parameter */
PARMS d0-d2 s0-s2;
/* Festlegen der Gleichungen */
/* Eingabe in Standardform */
EQ.demand = d0 + d1*price + d2*income - quantity;
/* Nachfragegleichung */
EQ.supply = s0 + s1*price + s2*unitcost - quantity;
/* Angebotsgleichung */
/* Alternativ */
3
Die einzelnen Programmbestandteile der Model Procedure werden der besseren Übersichtlichkeit halber
getrennt nacheinander aufgeführt. Um das Programm aber laufen lassen zu können, müssen die einzelnen
Bestandteile zusammen in einem Block eingegeben und dann gestartet werden.
32
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
/* Eingabe in normalisierter Form */
quantity = e0 + e1*income + e2*unitcost;
price = t0 + t1*income + t2*unitcost;
3.
Schätzung des Modells (Fit)
In dem zweiten Schritt werden die Parameter des zuvor spezifizierten Modells geschätzt.
Dazu muss festgelegt werden, auf welchen Datensatz zugegriffen, welche Gleichungen
der zuvor spezifizierten mit welchem Schätzverfahren geschätzt und in welchen Datensatz die Schätzergebnisse der Parameter abgespeichert werden sollen. An Schätzmethoden stehen zur Verfügung: Ordinary least squares (OLS), seemingly unrelated least
squares (SUR), two stage least squares (2SLS) und three stage least squares (3SLS), wobei
alle Schätzverfahren sowohl lineare als auch nichtlineare Gleichungssysteme schätzen
können. Wenn auf 2SLS oder 3SLS zurückgegriffen wird, können zudem mit dem Befehl
Instruments die Instrumentenvariablen explizit festgelegt werden.
In dem Beispiel sollen die beiden Gleichungen supply und demand bzw. die beiden
abhängigen Variablen quantity und price mit dem 2SLS Verfahren geschätzt werden. Dabei soll auf den zuvor erzeugten Datensatz library.dataset zugegriffen und der geschätzte
Parametersatz in die Datei library.output geschrieben werden. Wenn nicht explizit angegeben wird, welche Gleichungen geschätzt werden sollen, so schätzt SAS alle zuvor spezifizierten Gleichungen.
/* Bei Eingabe in Standardform */
FIT supply demand / DATA=library.dataset OUTEST=library.output 2sls;
INSTRUMENTS income unitcost; /* Angabe optional */
RUN;
/* Bei Eingabe in normalisierter Form */
FIT quantity price / DATA=library.dataset OUTEST=library.output 2sls;
INSTRUMENTS income unitcost; /* Angabe optional */
RUN;
/* Alternativ bei beiden Eingaben */
FIT / DATA=library.dataset OUTEST=library.output 2sls;
33
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4.
Prognose und Simulation mit dem Modell (Solve)
Mit dem Unterbefehl Solve können Prognosen und Simulationen für einen bestimmten Inputdatensatz mit dem Modell durchgeführt werden. In dem Prognosemodus wird, sofern
vorhanden, der aktuelle Wert einer Variablen als Lösungswert des Gleichungssystems verwandt, während in dem Simulationsmodus auf den entsprechenden vorhergesagten Wert
zurückgegriffen wird.
In dem Prognosemodus (forecast) löst Proc Model also nur nach den aktuellen Variablen,
die in dem Inputdatensatz fehlen, während in dem Simulationsmodus (simulate) auch
diejenigen Variablen gelöst werden, die evtl. in dem Inputdatensatz vorhanden sind.
Zunächst muß also ein Datensatz angegeben werden, in dem die Inputvariablen enthalten sind. Danach kann der Modus spezifiziert werden: Prognose- oder Simulationsmodus
(Voreinstellung ist der Simulationsmodus). Abschließend ist der Outputdatensatzes, in den
die vorhergesagten Werte geschrieben werden sollen, festzulegen.
In unserem Beispiel soll für den nachfolgenden Datensatz, der bestimmte Werte für die
exogenen Variablen enthält eine Prognose für die endogenen Variablen erstellt werden.
Zu diesem Zweck lesen wir mit cards zunächst den Inputdatensatz unter dem Namen
input 1 ein:
DATA library.input_1;
INPUT year income unitcost @@;
CARDS;
1986 2571.87 2.31220
1987 2609.12 2.45633
1988 2639.77 2.51647
1989 2667.77 1.65617
1990 2705.16 1.01601
;
Nun sollen Prognosen für die endogenen Variablen price und quantity für die entprechenden Jahre 1986-1990 erstellt werden. Die Ergebnisse sollen in den Datensatz output 1 geschrieben werden:
34
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
SOLVE price quantity / DATA = library.input_1
OUT = library.output_1 FORECAST;
RUN;
Natürlich besteht auch die Möglichkeit, das Modell nach anderen als den endogenen
Variablen aufzulösen. Zu diesem Zweck lesen wir einen zweiten Datensatz input 2 ein, der
fiktive Werte für die endogene Variable quantity und fiktive Werte für die exogene Variable income enthält und lassen die prognostizierten Ergebnisse für die beiden anderen
Variablen price und unitcost in den Datensatz output 2 schreiben:
DATA library.input_2;
INPUT year income quantity @@;
CARDS;
1986 2571.87 3794.4
1987 2603.24 3794.8
1988 2644.12 3795.2
1989 2678.13 3795.6
1990 2709.77 3796.0
;
SOLVE price unitcost / DATA=library.input_2 OUT=library.output_2
FORECAST;
RUN;
Es besteht auch die Möglichkeit, die endogenen Variablen für den Beobachtungszeitraum
mit dem Modell zu simulieren. Als Inputdatensatz dient uns also der gleiche Inputdatensatz, den wir auch schon zur Schätzung des Modells verwandt haben. In unserem ersten
Beispiel ist das der Datensatz dataset. Die simulierten Ergebnisse für die beiden endogenen Variablen werden in den Datensatz output 3 geschrieben:
35
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
SOLVE price quantity /
DATA=library.dataset
OUT=library.output_3 SIMULATE;
RUN;
9.
Prozedur ARIMA
Mit Hilfe der ARIMA Prozedur können ARMA Modelle identifiziert, geschätzt und zu Prognosezwecken genutzt werden. Diese kurze Einführung soll den Leser mit den wichtigsten
Befehlen und Eigenschaften dieser Prozedur bekannt machen.
1.
Einführung
PROC ARIMA DATA=library.dataset;
IDENTIFY
VAR
= Zeitreihe aus dem Datensatz;
ESTIMATE
P
Q
OUTEST
METHOD
=
=
=
=
Ordnung AR-Teil
Ordnung MA-Teil;
library.Datei für Schätzergebnisse
Schätzmethode;
FORECAST
ALPHA
ID
INTERVAL
LEAD
OUT
=
=
=
=
=
Signifikanzniveau für Konfidenzintervalle
Variable, die Zeitstempel enthält;
Periodizität der Prognose
Anzahl an zu prognostizierenden Perioden
Datei, in die die Prognoseergebnisse geschrieben werden;
RUN;
QUIT;
36
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Bevor ein ARMA-Modell geschätzt werden kann, muss die Ordnung des Prozesses, d.h.
die maximale Laglänge des AR- und MA-Teils, so festgelegt werden, daß er zu der modellierten Zeitreihe paßt. Die erfolgt in SAS mit Hilfe des Identify-Statements. Ist ein entsprechender ARMA-Prozeß festgelegt worden, kann er mit dem Estimate-Statement geschätzt
werden. Das geschätzte Modell kann anschließend mittels des Forecast-Statements zu
Prognosezwecken genutzt werden.
In dieser Reihenfolgen sollen nun die wichtigsten Bestandteile der ARIMA Prozedur vorgestellt werden, wobei auch auf den theoretischen Hintergrund eingegangen werden soll.
2.
Analyse der Zeitreihe mit Identify
Bei der Identifikation einer Zeitreihe müssen eine Reihe von Schritten durchlaufen werden:
1. White Noise Test der Zeitreihe
2. Vergleich zwischen empirischen und theoretischen Autokorrelationen bzw. partielle
Autokorrelationen
3. Durchführen von Schätzungen für verschiedene p und q
4. Bestimmen von Informationswerten für die verschiedenen geschätzten Modelle
5. Überprüfen, ob die Parameter signifikant sind
6. White Noise Test der Residuen
Bei den Schritten eins und zwei wird man von SAS durch die Subprozedur Identify unterstützt. Die entsprechende Befehlssequenz lautet dabei:
PROC ARIMA DATA=library.series;
IDENTIFY VAR = variable;
RUN;
Als Ergebnis erhält man eine Reihe von statistischen Auswertungen für die Variable variable aus dem Datensatz library.series, die für die Schritte eins und zwei genutzt werden
können.
In dem ersten Schritt, dem White Noise Test, muß überprüft werden, ob die zu modellierende Zeitreihe autokorreliert ist. Ist sie es nicht, so kann sie auch nicht mit ARIMA-Modellen
modelliert werden. SAS gibt zu diesem Zweck die Ergebnisse der Ljung-Box-Prüfgröße heraus. Sind diese für mindestens eine Laglänge signifikant von null verschieden, so kann die
37
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Nullhypothese: Die Zeitreihe ist White Noise, abgelehnt und eine Modellierung mit ARMA
Modellen versucht werden.
Die Ljung-Box-Prüfgröße ist dabei wie folgt definiert:
k
Q(K) =
T X
(T − i)−1 r12
T +2
i=1
mit : T
ri2
= Anzahl an Beobachtungen
= Quadrierte Autocorrelation i-ter Ordnung
k = Anzahl der berücksichtigten Autocorrelationen
Sie ist asymptotisch χ2 -verteilt mit k Freiheitsgraden. Wenn für mindestens ein k die empirische Prüfgröße den kritischen Schwellenwert übersteigt, wird die Nullhypothese, daß die
Zeitreihe einem White Noise Prozeß folgt, abgelehnt.
In einem zweiten Schritt, der Analyse der Autokorrelationen (ACF) und der partiellen Autokorrelationen (PACF), werden die theoretischen mit den empirischen ACF und PACF verglichen. Die ACF mißt die Korrelation zwischen zwei Zeitpunkten, d.h. sowohl den direkten
Zusammenhang zwischen diesen beiden Zeitpunkten als auch den indirekten. Die PACF
hingegen misst nur die direkte Abhängigkeit der Zeitreihe zu zwei Zeitpunkten.
Zur Identifikation des richtigen Prozesses können die folgenden heuristischen Regeln angewandt werden4 :
PROC ARIMA DATA=library.series;
IDENTIFY VAR=variable;
ESTIMATE Q=0 P=3 OUTEST=library.out METHOD=ML;
RUN;
QUIT;
Durch den obigen Code wird die zuvor analysierte Variable genutzt, um ein ARMA(3,0)
Modell zu schätzen (q bezeichnet die Länge des MA-, p die des AR-Teils). Die geschätzten
Ergebnisse (vorhergesagten Werte, vorhergesagte Residuen, etc.) werden in die Datei library.out geschrieben. Als Optimierungsverfahren wird die Maximum Likelihood Methode
verwandt.
Zusätzlich zu den geschätzten Parametern erhält man sog. Informationswerte, deren Kenntnis von Nutzen sein kann zur Identifikation des richtigen Prozesses. Das Ziel besteht darin,
4
Vgl. Hansmann, Karl-Werner (1983): Kurzlehrbuch Prognoseverfahren, Wiesbaden, S. 78.
38
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
ein Modell zu wählen mit einem möglichst geringen Informationswert. SAS gibt zwei Informationswerte aus. Der Akaike Informationswert ist definiert als: AIC = −2 ln L + q + 2(p)
wohingegen der Schwarz-Bayes Informationswert definiert ist als: −2 ln L + (p + q) ln T .
Die geschätzten Paramter sollten alle signifikant sein. Ähnlich wie bei der Probit Prozedur
ist hierbei jedoch eine Besonderheit von SAS zu beachten: SAS kehrt die Vorzeichen der
geschätzen Parameter um! Aus einem Plus wird ein Minus und umgekehrt.
Während die modellierte Zeitreihe kein White Noise Prozeß sein darf, sollen die geschätzten Residuen des ARMA-Modells jedoch, wie von der Theorie gefordert, White Noise sein!
SAS gibt hierzu die Ergebnisse eines White Noise Checks for Residuals aus. Im Gegensatz
zu dem zuvor besprochenen Ljung-Box-Test sollte nun die Nullhypothese: Die Zeitreihe ist
White Noise, beibehalten werden.
3.
Schätzung des Modells (Fit)
Hat man ein ARMA Modell identifiziert und geschätzt, kann es genutzt werden, um die
Entwicklung der Zeitreihe mit Hilfe der Subprozedur Forecast zu prognostizieren.
PROC ARIMA DATA=library.series;
IDENTIFY VAR= variable;
ESTIMATE Q=0 P=3 OUTEST=library.out METHOD= ML;
FORECAST ALPHA=0.05 ID=date INTERVAL=month LEAD=24
OUT=library.out_p;
RUN;
QUIT;
Mit dem der zusätzlichen forecast Zeile in dem obigen Befehl wird eine Prognose für die
nächsten 24 Monate vorgenommen. Für die prognostizierte Zeitreihe werden zusätzlich
Konfidenzintervalle auf dem 5% Niveau ausgewiesen. Die Ergebnisse werden dabei in
der Datei library.out p gepeichert.
10.
Prozedur AUTOREG
Wann immer davon ausgegangen werden muß, dass die Residuen nicht White Noise sind
und/oder die quadrierten Residuen einer untersuchten Zeitreihe nicht White Noise sind,
muss für die Residuen und/oder die quadrierten Residuen ein autoregressives Modell unterstellt werden. Zu diesem Zweck kann die SAS Prozedur AUTOREG verwandt werden. Diese kurze Einführung soll den Leser mit den wichtigsten Befehlen und Eigenschaften dieser
Prozedur bekannt machen.
39
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
1.
Einführung
Proc AUTOREG kann genutzt werden, um lineare multiple Regressionsmodelle zu schätzen,
unter zusätzlicher Berücksichtigung von:
• Autoregressiven Prozessen für die Residuen
• ARCH bzw. GARCH Prozessen für die Residuen
Die allgemeine Modellspezifikation lautet dabei wie folgt:
yt = x0t β + vt
vt = εt − ϕ1 vt−1 − . . . − ϕm vt−m
p
εt =
ht et
ht = ω +
q
X
αi ε2t−i
i=1
et ∼
+
p
X
γj ht−j
j=1
i.i.d. N (0, 1)
Man erkennt, dass bei dieser allgemeinen Modellstruktur sowohl die Autokorreliertheit der
Residuen als auch der quadrierten Residuen berücksichtigt wird.
Die vereinfachte allgemeine Syntax der Prozedur AUTOREG, mit der diese Modellstruktur
implementiert werden kann, sieht wie folgt aus:
PROC AUTOREG DATA=library.dataset;
soll */
/* Datensatz, auf den zugegriffen werden
MODEL y = var_1 ... / NLAG=2;
/* Regressionsmodell und Anzahl an
berücksichtigten Lags des AR-Prozesses */
GARCH=(Q=q, P=p) MAXIT=100;
/* Spezifikation des GARCH Prozesses und
maximale Anzahl an Iterationen */
OUTPUT OUT=library.dataset;
/* Outputdatensatz */
RUN;
QUIT;
Die Vorgehensweise bei der Spezifikation dieser Art von Modellen ist ein interaktiver Prozess, der die folgenden Schritte umfassen sollte:
40
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
1. Test, ob autokorrelierte und/oder heteroskedastische Residuen vorliegen
2. Spezifizieren des Modells für die Residuen
3. Durchführen von Schätzungen für verschiedene p und q
4. Schätzen des Modells
In dieser Reihenfolgen sollen nun die wichtigsten Bestandteile der AUTOREG Prozedur vorgestellt werden.
2. Testen auf Autokorrelation mittels Generalized Durbin-Watson Teststatistiken
Der Test auf Autokorrelation der Residuen erfolgt in SAS mittels folgender Befehlssequenz:
PROC AUTOREG DATA=library.dataset;
MODEL y = var_1 ... / DW=4 DWPROB;
RUN;
Mit data = library.dataset wird die zu analysierende Datei spezifiziert. Mit model y = var1 . . .
wird das eigentlich zu schätzende Modell spezifiziert. Mit DW = 4 wird die maximale
Laglänge angeben, bis zu der generalized Durbin Watson Prügrößen berechnet werden
sollen. DW P ROB weist SAS an, zusätzlich noch Signifikanzniveaus zu den Prüfgrößen auszugeben. Mit den generalized DW Prüfgrößen kann nicht nur Autokorrelation erster, sondern auch höherer Ordnung modelliert werden. Wenn zumindest eine DW Prüfgröße signifikant ungleich null ist, muß die Nullhypothese, dass die Zeitreihe nicht autokorreliert ist,
abgelehnt werden.
3.
Testen auf Heteroskedastie mittels Portmanteau Q-Teststatistiken
Der Test auf Heteroskedastie der Residuen erfolgt in SAS mittels folgender Befehlssequenz:
PROC AUTOREG DATA=library.dataset;
MODEL y = var_1 ... / NLAG=2 ARCHTEST
DWPROB;
RUN;
41
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Bis auf die Option nlag = 2, mit der die maximale Laglänge angeben wird, bis zu der
Q-Statistiken berechnet werden sollen, stimmen die übrigen Befehle mit denen überein,
die wir bereits oben kennengelernt haben. Natürlich können diese beiden Schritte auch
in einem Befehl ausgeführt werden. SAS gibt dann die Ergebnisse des sog. Portmanteau
Q-Test heraus. Wieder gilt, daß wenn zumindest eine Laglänge diese Prüfgröße signifikant
von null, verschieden ist, die Nullhypotheses abgelehnt werden muß, daß die Zeitreihe
nicht heteroskedastisch sei.
Wenn festgestellt wurde, dass die Residuen einem autokorrelierten Prozess folgen und zudem noch GARCH Effekte vorhanden sind, kann ein passender Prozess für die Residuen
entsprechend der bereits in dem vorhergehenden Kapitel besprochenen Kriterien spezifiziert werden.
4.
Schätzung des Modells mit autokorrelierten Residuen und GARCH-Effekt
Hat man ein Modell für die Residuen mit der Hilfe der oben beschriebenen Tests spezifizieren können, kann anschließend die Schätzung erfolgen:
PROC AUTOREG DATA=library.dataset;
MODEL y = var_1 ... / NLAG=2 GARCH=(Q=q,P=p) MAXIT = xxx;
OUTPUT OUT= library.out_dataset CEV=n P=m;
RUN;
Neu hinzugekommene Befehle sind dabei: N LAG = 2, mit dem spezifiziert wird, bis zu
welcher Laglänge Autokorrelationen der Residuen zugelassen werden, GARCH = (Q =
q, P = p), mit dem zusätzlich noch ein bestimmtes GARCH(p,q)-Modell für die Residuen
modelliert wird, M AXIT = xxx, mit dem die maximale Anzahl an Iterationen festgelegt
werden kann und CEV = n bzw. P = m, womit die geschätzten Residuen bzw. geschätzten Werte in der Outputdatei library.out dataset unter dem Namen n bzw. m gespeichert
werden können.
11. Prozedur TSCSREG
Die Prozedur TSCSREG (Time Series Cross Section Regression) dient zur Schätzung von
Panel-Modellen mit SAS. Zu beachten bei der Schätzung mit Panel-Daten ist das Vorliegen von unbeobachtbarer zeitlicher und individueller Heterogenität; Nichtbeachtung
würde zu verzerrten bzw. inkonsistenten Schätzern führen.
42
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Verschiedene Arten von Fehlerstrukturen sind deshalb in der Prozedur enthalten. Neben
Kovarianzmodellen (Fixed Effects-Modelle) können auch Fehlerkomponentenmodelle
(Random Effects-Modelle) geschätzt werden. Darüberhinaus können mit der Prozedur
auch Modelle mit autoregressiven Fehlerkomponenten geschätzt werden, auf die hier
allerdings nicht eingegangen wird.
Grundsätzlich können sowohl one-way als auch two-way error components-Modelle geschätzt werden.
1. Syntax
PROC TSCSREG Optionen;
ID cross_section time_series;
Der Aufruf der Prozedur erfolgt über den PROC TSCSREG Befehl. Verfügbare Optionen sind die Deklaration eines Input-Datensatzes über DATA=library.datasetname, oder das Erstellen eines Output-Datensatzes, der
neben den Schätzern auch Kovarianzstruktur (COVOUT) sowie Korrelationsmatrix
(CORROUT) und Testergebnisse enthalten kann. Der Output-Datensatz wird über
den Befehl OUTEST=library.datasetname erzeugt.
Der ID Befehl dient zur Identifikation der Querschnitts- und Längsschnittsvariablen.
Für die Schätzung ist es dabei wichtig, dass der Datensatz vorher nach diesen
Variablen sortiert wurde.
label:MODEL var1 = var2 var3 ... / Optionen;
Der MODEL Befehl definiert das zu schätzende Modell. In gewohnter Weise kann
das geschätzte Modell mit einem Label versehen werden. var1 ist die abhängige
Variable, var2, var3 ... sind die erklärenden Variablen. Der Unterschied zur klassischen linearen Regression wird durch die Optionen erklärt, die nachfolgend im
einzelnen erläutert werden sollen.
FIXONE;
Die FIXONE Option definiert, dass ein Fixed-Effects One-way error components
Modell geschätzt werden soll.
FIXTWO;
Die FIXTWO Option definiert, dass ein Fixed-Effects Two-way error components
Modell geschätzt werden soll.
RANONE;
43
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Die RANONE Option definiert, dass ein Random-Effects One-way error components Modell geschätzt werden soll.
RANTWO;
Die RANTWO Option definiert, dass ein Random-Effects Two-way error components Modell geschätzt werden soll.
Neben der Deklaration einer einzelnen Fehlerstruktur ist es auch möglich, mehrere Arten anzugeben. Die Prozedur schätzt dann sequentiell die einzelnen Modelle.
NOINT;
Die TSCSREG Prozedur schätzt grundsätzlich eine Konstante mit. Der Befehl NOINT
unterdrückt den Einbezug einer Konstanten in das Modell.
RUN;
Der RUN-Befehl startet die Prozedur.
2.
Schätzmethode
Die Schätzung erfolgt in Abhängigkeit der unterstellten Fehlerstruktur. Wird ein Fixed EffectsAnsatz verwendet, schätzt die Prozedur das Modell mit LSDV, d.h. OLS mit Dummy-Variablen
für die spezifizierten Effekte.
Bei Unterstellung stochastischer Fehler führt die Verwendung von OLS zu ineffizienten Schätzern. Das Programm verwendet hier Feasible GLS. Dies ist ein zweistufiges Verfahren, dass
auf der ersten Stufe die Varianz-Komponenten des Modells schätzt. Die geschätzte VarianzKovarianz-Matrix ist dann Grundlage für die GLS-Schätzung der zweiten Stufe.
3.
Output
Das Output-Fenster der Prozedur TSCSREG enthält standardmäßig folgende Angaben:
• Modellbeschreibung: Fehlerstruktur, Anzahl von Quer- und Längsschnitten
• Anpassungsgüte
• (Varianz-Komponenten Schätzer: bei Random Effects-Modellen)
• Testergebnisse: F -Test bei Fixed Effects-Modellen, Hausman m-Test für Random EffectsModelle
• Parameterschätzwerte mit t-Werten und plim
Optional kann daneben die Varianz-Kovarianz-Matrix ausgegeben werden, sofern die
COVB Option gewählt wurde, sowie die Korrelations-Matrix, wenn die CORRB Option deklariert wurde.
44
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4.
Beispiel
Die Schätzung wollen wir am Beispiel5 der Schätzung einer Kostenfunktion verdeutlichen.
Wir verwenden hierzu Daten von Greene (1990)6 . Die enthaltenen Variablen sind Produktion von Strom in Millionen Kilowatt-Stunden sowie die daraus entstehenden Kosten (aggregiert aus Arbeits- und Kapitalkosten) für sechs Firmen zu vier Zeitpunkten.
Folgende Gleichung soll geschätzt werden:
ln Cit = α + β ln Yit + εit
Der Datensatz mit bereits logarithmierten Werten für Kosten und Output enthält die folgenden Variablen:
• FIRM (Querschnitts-Identifizierer),
• YEAR (Längsschnitts-Identifizierer),
• OUTPUT (Menge Strom) und
• COST.
5
6
Das Beispiel stammt aus SAS I NSTITUTE I NC . (1999): SAS/ETS User’s Guide, Version 8, Cary NC., S. 1546 ff.
G REENE , W.H. (1990): Econometric Analysis, New York, MacMillan Publishing Company
45
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
1. Schritt: Einlesen und Sortieren des Datensatzes
DATA greene;
INPUT firm year output cost
CARDS;
1 1955
5.36598
1.14867
1 1965
6.37673
1.52257
2 1955
6.54535
1.35041
2 1965
7.40245
2.09519
3 1955
8.07153
2.94628
3 1965
8.66923
3.47952
4 1955
8.64259
3.56187
4 1965
9.23073
4.11161
5 1955
8.69951
3.50116
5 1965
9.04594
3.76410
6 1955
9.37552
4.29114
6 1965 10.21163
4.93361
;
@@;
1
1
2
2
3
3
4
4
5
5
6
6
1960
1970
1960
1970
1960
1970
1960
1970
1960
1970
1960
1970
6.03787
6.93245
6.69827
7.82644
8.47679
9.13508
8.93748
9.52530
9.01457
9.21074
9.65188
10.34039
1.45185
1.76627
1.71109
2.39480
3.25967
3.71795
3.93400
4.35523
3.68998
4.05573
4.59356
5.25520
PROC SORT DATA=greene;
BY firm year;
RUN;
2. Schritt: Sortierung des Datensatzes:
PROC SORT DATA=greene;
BY FIRM YEAR;
RUN;
3. Schritt: Schätzung eines one-way Fixed Effects-Modells und eines one-way Random
Effects-Modells.
PROC TSCSREG DATA=greene;
ID FIRM YEAR;
MODEL cost=output / FIXONE RANONE;
RUN;
46
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Für die Schätzung des Fixed Effects-Modells erhält man folgenden Output:
47
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Als Ergebnis der Random Effects-Schätzung erhalten wir:
48
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
12.
Prozedur LIFETEST
Die Schätzung von Verweildauern mit Hilfe nichtparametrischer Methoden kann in SAS mit
Hilfe der Prozedur LIFETEST vollzogen werden. Im Gegensatz zu parametrischen Methoden
unterstellen nichtparametrische Schätzer keine funktionale Form für Hazard-, Dichte- und
Überlebensfunktion und vermeiden so Verzerrungen in den Schätzern durch eine zu große
Zahl von Restriktionen. Überdies sind sie zur graphischen Darstellung vorhandener Daten
nützlich oder für Voranalysen zur Identifikation einer geeigneten parametrischen Spezifikation.
Die Prozedur LIFETEST berechnet nichtparametrische Schätzer für die Überlebensfunktion
mittels Kaplan-Meier-Schätzer (Produkt-Limit-Schätzer) oder Sterbetafel-Methode. Daneben werden Rangstatistiken berechnet, um Zusammenhänge zwischen abhängiger Variable und anderen Variablen zu erfassen.
Rechtszensierte Spells sind ein häufiges Problem von Verweildauerdaten. Berücksichtigt
man diese Fälle nicht in der Analyse, kommt es zu Dauerverzerrungen, da üblicherweise
längere Episoden eher zensiert sind als kürzere. Eine valide Untersuchung muß also sowohl
nicht-zensierte als auch zensierte Spells umschließen.
1.
Syntax
PROC LIFETEST Optionen;
Der Befehl PROC LIFETEST startet die Prozedur. Wichtige Optionen neben der Deklaration des Input-Datensatzes über DATA=library.datasetname für die Analyse
sind folgende:
METHOD=PL; {oder} METHOD=LIFE;
Die Option METHOD legt die Schätzmethode fest. PL Definiert Schätzung mittels
Product-Limit bzw. Kaplan-Meier-Schätzers (alternativ KM). Für ein Schätzung mittels Sterbetafel-Methode muß LIFE (alternativ ACT (actual), LT) gewählt werden.
OUTS=library.datasetname;
Der Befehl OUTS deklariert ein Output-Datensatz, der die Schätzer der Überlebensfunktion sowie die dazugegehörigen Konfidenzintervalle enthält.
OUTT=library.datasetname;
Der Befehl OUTT deklariert ein Output-Datensatz, der die Testergebnisse der χ2 Statistik, der Rangstatistiken sowie deren Varianz-Kovarianz-Matrix enthält.
49
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
PLOTS=(wert);
Der Befehl PLOTS erstellt Plots der Überlebensfunktion (S) oder zensierten Beobachtungen (C). Daneben können auch Plots der negativen logarithmierten Überlebensfunktion (LS) sowie des Logarithmus’ der negativen logarithmierten Überlebensfunktion (LLS) abgebildet werden, um eine unterliegende Exponential- oder
Weibullfunktion zu identifizieren.
Verwendet man die Sterbetafelmethode, können außerdem die Hazardrate (h)
sowie die Dichtefunktion (p) geplottet werden.
TIME var1*censor(wert);
Der Befehl TIME ist der wichtigste Befehl der Prozedur LIFETEST. var1 definiert die
Dauervariable, censor ist der Dummy für zensierte bzw. unzensierte Spells. Zensierte Spells werden durch wert“ ausgedrückt.
”
STRATA var2 ...;
Der Befehl STRATA dient zur Einteilung der Daten in unterschiedliche Strata. Dies ist
sinnvoll, wenn man z.B. die Verweildauern von unterschiedlichen Gruppen (bspw.
Teilnehmer und Nichtteilnehmer an einem Experiment) oder unterschieden nach
bestimmten Kovariaten abbilden will. var2 ... sind hierbei Unterscheidungsvariablen.
(Alternativ zum Befehl STRATA kann auch die BY-Option gewählt werden; hierbei
ist allerdings zu beachten, daß der Datensatz zu erst nach den BY-Variablen geordnet sein muß. Jedoch werden hier die Plots einzeln zu jeder Ausprägung der
BY-Variable erzeugt.)
RUN;
Der RUN-Befehl startet die Prozedur.
2.
Output
Der Output der Prozedur LIFETEST enthält als erstes eine Übersicht über die Verweildauern in
jedem Stratum mit Abgangszeitpunkt, Standardfehler und verbleibenden Beobachtungen
im Stratum. Zusätzlich werden weitere Verteilungsmerkmale, wie z.B. Quartile, Mittelwert
und Standardabweichung, ausgegeben.
Der zweite Teil des Outputs ist die Zusammenfassung zensierter und nicht-zensierter Beobachtungen, anteilig nach zugeordnetem Stratum und absolut für die Grundgesamtheit.
Der dritte Teil (nur bei Definition einer Strata-Variable) gibt die Ergebnisse der Test für Homogenität zwischen abhängiger Variable und der (den) Kovariable(n) aus. Hierbei führt
50
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
die Prozedur einen Log-Rank-Test sowie einen Wilcoxon-Rangsummen-Test durch. Neben
der Ausgabe der Rangreihen werden auch die dazugehörigen Kovarianz-Matrizen ausgegeben. Als letztes folgt die χ2 -Statistik für die Tests.
Ist die Option PLOTS gewählt, werden außerdem die gewählten Plots gegen die Zeit abgebildet.
3.
Beispiel
Mit Hilfe eines Kaplan-Meier-Schätzers wollen wir beispielhaft die Dauer einer Remission7
von 21 Leukämie-Patienten nach Behandlung mit einem Medikament (6-mercaptopurine
(6-MP)) sowie von 21 anderen, die mit einem Placebo behandelt wurden, messen. Der
Datensatz stammt von aus Lawless (1982)8 Der Datensatz mp 6 enthält die Variablen DAYS,
CENSOR und TREATMENT.
• DAYS ist die Dauer der Remission
• CENSOR unterscheidet zensierte (1) und unzensierte (0) Spells
• TREATMENT beschreibt die Behandlung mit dem Medikament (1) oder mit dem Placebo (0).
1. Schritt: Einlesen des Datensatzes
DATA MP_6;
INPUT days censor
LABEL days="Dauer
CARDS;
6 0 1 6 0 1 6 0
6 1 1 7 0 1 9 1
10 0 1 10 1 1 11 1
13 0 1 16 0 1 17 1
19 1 1 20 1 1 22 0
23 0 1 25 1 1 32 1
32 1 1 34 1 1 35 1
1 0 0 1 0 0 2 0
2 0 0 3 0 0 4 0
4 0 0 5 0 0 5 0
8 0 0 8 0 0 8 0
8 0 0 11 0 0 11 0
12 0 0 12 0 0 15 0
17 0 0 22 0 0 23 0
;
treatment @@;
der Remission";
1
1
1
1
1
1
1
0
0
0
0
0
0
0
7
Remission: Nachlassen von Krankheitserscheinungen, wird besonders bei Krebserkrankungen verwendet.
L AWLESS , J.F.(1982): Statistical Models and Methods for Lifetime Data, Wiley Series in Probability and Mathematical Statistics, New York Chichester Brisbane Toronto Singapore
8
51
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
2. Schritt: Schätzung der Überlebensdauer mittels Kaplan-Meier-Schätzmethode
SYMBOL1 C=RED; SYMBOL2 C=BLUE;
PROC LIFETEST DATA=MP_6 PLOTS=(S);
TIME days*censor(1);
STRATA treatment;
RUN;
Die Befehle SYMBOL1 und SYMBOL2 legen die Farben der Survivorfunktionen im Plot fest.
Neben den oben erläuterten Ergebnissen erhalten wir folgenden Plot der Überlebensfunktion:
Es ist deutlich zu erkennen, daß die Dauer der Remission bei Patienten, die mit dem Medikament behandelt wurden, länger andauert, als bei der Vergleichsgruppe, die mit dem
Placebo behandelt wurden.
52
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
13.
Prozedur PHREG
Mit Hilfe der Prozedur PHREG (Proportional Hazards Regression) können Proportional Hazards-Modelle geschätzt werden. Dieser semi-parametrische Ansatz wird verwendet, um
den Einfluss erklärender Kovariablen auf die Hazardrate zu untersuchen. Als Vorteil erweist
sich die Annahme, dass die Hazardraten verschiedener Individuen proportional zueinander sind; daher ist eine parametrische Spezifikation der Hazardrate überflüssig.
Die höhere Flexibilität auf der einen Seite führt jedoch zu einer Beschränkung der Anwendungsmöglichkeiten auf der anderen Seite. Um die Proportionalität zu gewährleisten,
dürfen sich bestimmte erklärende Kovariablen in ihrem Verhältnis über die Zeit nicht unterscheiden. Jedoch kann dieses Problem durch Einführung subpopulationsspezifischer
Basisübergangsraten überwunden werden.
1.
Syntax
PROC PHREG Optionen;
Der Befehl PROC PHREG startet die Prozedur. Wichtige Optionen neben der Deklaration des Input-Datensatzes über DATA=library.datasetname für die Analyse sind
folgende:
SIMPLE;
Die Option SIMPLE gibt deskriptive Statistiken zu den erklärenden Variablen aus
(Mittelwert, Standardabweichung, Minimalwert und Maximalwert.
NOPRINT;
Die Option NOPRINT unterdrückt das Output-Fenster und steigert so die Rechengeschwindigkeit der Prozedur; sie ist sinnvoll, wenn man die Ergebnisse in ein gesonderters Output-File übergibt.
NOSUMMARY;
Die Option NOSUMMARY unterdrückt die Ausgabe der Übersicht über zensierte
und unzensierte Beobachtungen.
OUTEST=library.datasetname;
Erzeugt einen Output-Datensatz der die Regressionskoeffizienten enthält. Wird außerdem die Option COVOUT deklariert, enthält dieser Datensatz auch die VarianzKovarianz-Matrix der Parameter.
53
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
BASELINE OUT=library.datasetname COVARIATES=library.datasetname;
Der Befehl BASELINE OUT=library.datasetname erzeugt einen Output-Datensatz,
der die Schätzer der Überlebensfunktion für alle erklärenden Variablen enthält.
Der OUT-Befehl definiert den neuen Datensatz, der COVARIATES Datensatz (i.d.R.
der Input-Datensatz) muss die erklärenden Variablen enthalten.
MODEL var1*censor(wert)= var2 var3 ... / Optionen;
Der MODEL-Befehl ist das Kernstück der Prozedur PHREG. Er definiert die abhängige Variable var1 sowie einen optionalen Zensur-Indikator censor (wert beschreibt
dabei den Index für zensierte Beobachtungen). Überdies müssen die erklärenden Kovariablen var2 var3 ... nach dem Gleichheitszeichen festgelegt werden.
Folgende Optionen zum MODEL-Befehl stehen zur Verfügung:
TIES=methode;
Die Option TIES=method spezifiziert die Behandlung von Ties (Beobachtungen
gleicher Länge) in der Schätzung. Standardmäßig wird die Likelihoodfunktion
über den Ansatz von Breslow (1974)9 approximiert (BRESLOW). Darüberhinaus ist
es möglich, das PH-Model durch ein diskretes logistisches Model für diskrete
Zustände zu ersetzen (DISCRETE). Daneben stehen die Approximation von Efron
(1977) (EFRON) sowie ein exakter Ansatz (EXACT) zur Verfügung. Nähere Information zu den Schätzern finden sich in Kalbfleisch et al. (1980)10 .
SELECTION=method;
Ein wichtiger Anspruch an Verweildauermodelle stellt die Identifikation einflußreicher Kovariablen auf die Hazardrate dar. Zu diesem Zweck kann man mittels der
Prozedur PHREG verschiedene Spezifikationen testen und schätzen. Die Auswahl
der Kovariablen bzw. Sets von Kovariablen kann über die SELECTION=method Option erfolgen. Vier verschiedene Vorgehensweisen stehen zur Verfügung. Neben
der standardmäßigen Methode NONE, in der alle spezifizierten Kovariablen in das
Modell mit aufgenommen werden, kann man ausgehend vom Gesamtmodell
einzelne erklärende Variablen schrittweise eliminieren (BACKWARD), das Modell
schrittweise mit den aufgeführten Variablen aufbauen (STEPWISE), die Variablen
nacheinander in das Modell aufnehmen (FORWARD) sowie über die χ2 -Statistik
der einzelnen Variablen das beste Set von erklärenden Variablen identifizieren
(SCORE).
SEQUENTIAL;
Die Option SEQUENTIAL führt zu einem aufnehmen der Variable in das Modell nach
der Reihenfolge, in der sie im MODEL-Befehl aufgeführt sind.
10
B RESLOW, N. (1974):Covariance Analysis of Censored Survival Data, Biometrics, 30, S. 89-99
siehe hierzu K ALBFLEISCH , J.D. und R.L. P RENTICE (1980).The Statistical Analysis of Failure Time Data, Wiley
& Sons, New York et al., S. 70 ff.
10
54
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
SLENTRY=wert;
Die Option SLENTRY=wert definiert das Signifikanzniveau zur Aufnahme einer Variablen in das Modell.
SLSTAY=wert;
Die Option SLSTAY=wert definiert das Signifikanzniveau zur Eliminierung einer Variablen aus dem Modell.
MAXITER=n;
Die Option MAXITER=n definiert die Obergrenze durchzuführender Iterationen.
Von vornherein ist dieser Wert auf 25 begrenzt, und kann bei Bedarf beliebig verringert oder vergrößert werden.
STRATA=variable;
Durch Einbindung von Strata können unrealistische Annahmen des PH-Modells
überwunden werden. So ist es z.B. denkbar, dass sich die Verweildauer in bestimmten Intervallen oder für bestimmte Subpopulationen unterscheidet, was eine Verletzung der Proportionalitätsannahme zur Folge hat. Mit dem Befehl STRATA=variable können verschiedene Strata festgelegt werden, für die das Verweildauermodell geschätzt wird.
OUTPUT OUT=library.datasetname schätzer=name;
Der Befehl OUPUT OUT=library.datasetname erzeugt einen Output-Datensatz der
die Parameterschätzer (XBETA), Standardfehler der Schätzer (STDXBETA), Schätzer
der Überlebensfunktion (SURVIVAL) sowie weitere Schätzwerte enthält.
RUN;
Der RUN-Befehl startet die Prozedur.
2.
Output
Folgende Informationen werden im Output-Fenster der Prozedur PHREG ausgegeben:
• Beschreibung des Input-Datensatzes, einschließlich Aufführung der abhängigen Variablen, Zensur-Variablen, Methode zur Behandlung von Ties.
• Überblick über Anzahl zensierter und unzensierter Beobachtungen (außer bei Deklaration von NOSUMMARY). Einfache Statistiken zu den erklärenden Variablen, sofern
SIMPLE deklariert wurde.
• Statistiken zur Güte des Modells
• Analyse der Maximum-Likelihood Schätzer mit Schätzwerten, Standardfehlern, χ2 Statistiken sowie Hazardraten.
55
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
3.
Beispiel
Die Schätzung mit der Prozedur PHREG wollen wir mit folgendem kleinen Beispiel verdeutlichen. Die Daten stammen aus Kalbfleisch et al. (1980)11 . Es handelt sich dabei um die
Ergebnisse eines Experiments mit zwei Gruppen von Ratten, die mit dem krebserregenden
Stoff DMBA behandelt wurden sind. Zusätzlich wurden die Ratten radioaktiv bestrahlt. Eine
Gruppe der Ratten wurde in einer keimfreien Umgebung gehalten. Die zugrundeliegende
Fragestellung untersucht, welche Umgebung eine positivere Wirkung auf die Lebensdauer hat. Vier Beobachtungen im Datensatz sind rechtszensiert. Dies ist begründet in einer
anderen Todesursache als dem Krebs.
1. Schritt: Einlesen der Daten. Der Datensatz enthält die Variablen Dauer (Lebensdauer),
Gruppe (Gruppe 1: keimfreie Umgebung) sowie Zensur, dem Indikator für zensierter Beobachtungen.
DATA RATTEN;
LABEL DAUER = ’Tage von Behandlung bis zum Tod’;
INPUT DAUER GRUPPE ZENSUR @@;
DATALINES;
143 1 0
164 1 0
188 1 0
188 1 0
190 1 0
192 1 0
206 1 0
209 1 0
213 1 0
216 1 0
220 1 0
227 1 0
230 1 0
234 1 0
246 1 0
265 1 0
304 1 0
216 0 0
244 0 0
142 1 1
156 1 1
163 1 1
198 1 1
205 1 1
232 1 1
232 1 1
233 1 1
233 1 1
233 1 1
233 1 1
239 1 1
240 1 1
261 1 1
280 1 1
280 1 1
296 1 1
296 1 1
323 1 1
204 0 1
344 0 1
;
2. Schritt: Schätzung des Modells. Dauer in Abhängigkeit von Gruppe.
PROC PHREG DATA=ratten;
MODEL dauer*zensur(0)=gruppe;
RUN;
Wir erhalten folgende Ergebnisse:
11
siehe oben
56
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Folgende Schlußfolgerungen können gezogen werden. Aufgrund der drei Testergebnisse
ist anzunehmen, dass sich die Überlebensfunktionen beider Gruppen unterscheiden. Die
57
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Hazardrate der Kovariablen Gruppe nimmt den Wert 0.551 an. Da die Variablen die Ausprägungen 0 und 1 hat, bedeutet dies, das die Hazardrate der Gruppe 1 niedriger ist als
die der Gruppe 0, d.h. Ratten in der Gruppe 1 (in der keimfreien Umgebung) haben eine
höhere Lebenserwartung als Ratten in der Gruppe 0.
Die Proportionalitäts-Annahme ist nur gewährleistet, wenn die Hazardrate nicht zeitabhängig ist. In einem kurzen Test, wollen wir schauen, ob dies in unserem Beispiel gewährleistet
ist.
Die Hazardraten in unserem Modell hatte die Form

 h0 (t)
λ(t) =
 h (t)εβ1
0
wenn Gruppe = 0
wenn Gruppe = 1
Einfache Abweichungen von der Proportionalitätsannahme können mit folgender zeitabhängigen erklärenden Variablen untersucht werden x = x(t):

 0
wenn Gruppe = 0
x(t) =
 log(t) − 5.4 wenn Gruppe = 1
Wir verwenden den Logarithmus der Zeit um numerische Instabilität zu vermeiden. Die
Konstante 5.4 ist der Durschnitt der logarithmierten Dauern. Die Hazardrate der beiden
Gruppen hat nunmehr folgende Form:
εβ1 −5.4β2 tβ2 ,
mit β2 als Parameter für die zeitabhängige Variable x. Ist β2 > 0(β2 < 0) bedeutet dies, daß
sich die Hazardrate über die Zeit erhöht (verringert).
3. Schritt: Ausrechnen der Konstante
DATA ratten;
SET ratten;
log_dauer=log(dauer);
RUN;
PROC MEANS DATA=ratten;
VAR log_dauer;
RUN;
Wir erhalten:
58
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4. Schritt: Schätzung des Modells unter Einbezug der zeitabhängigen Variablen x:
PROC PHREG DATA=ratten;
MODEL DAUER*ZENSUR(0)=GRUPPE X;
X = GRUPPE * (log_dauer-5.4);
RUN;
Als Ergebnis erhalten wir
Da der Wert der Hazardrate der zeitabhängigen Variable den Wert null annimmt, können
wir davon ausgehen, daß in unserem Beispiel keine Anzeichen für eine zeitabhängige
Hazardrate vorhanden sind.
59
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
14.
Übungsaufgaben
Zur Bearbeitung dieser Aufgabe benötigen Sie den ASCII-Datensatz uebung1.asc. Er steht
auf unserer Homepage http://www.wiwi.uni-frankfurt.de/Professoren/hujer/ zum Download bereit.
1.
Quantitative Methoden der Volkswirtschaftslehre
A UFGABE 1 (I NDIKATOREN
UND I NDIZES ):
a) Berechnen Sie aus den gegebenen Daten für die Bundesrepublik Deutschland die
Zeitreihen für folgende Kenngrößen:
- Kapitalintensität
- Arbeitsproduktivität
- Kapitalproduktivität
- unbereinigte Lohnquote
- bereinigte Lohnquote
b) Bilden Sie wegen der besseren Vergleichbarkeit aus den berechneten Größen Indizes mit der Basis 1960 gleich 100. Stellen Sie die berechneten Indizes sowie die
Wachstumsraten der Indizes graphisch dar und interpretieren Sie die Verläufe.
A UFGABE 2 (OLS):
a) Schätzen Sie mit Hilfe der Kleinst-Quadrate-Methode für die Bundesrepublik Deutschland die Parameter der folgende Cobb-Douglas-Produktionsfunktion:
Yt = C · Ktα · eλ·t
mit:
Y : Output
K : Kapital
A : Arbeit
t : Zeittrend
C, α, β, λ : zu schätzende Parameter.
b) Interpretieren Sie die geschätzten Parameter und Teststatistiken.
Vorgehensweise:
- Logarithmische Transformation der Produktionsfunktion
60
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
- Auswahl und Generierung der benötigten Variablen
- Schätzung der logarithmierten Funktionsform mit Hilfe der Kleinst-Quadrate- Methode
- Interpretation der geschätzten Parameter und Teststatistiken
A UFGABE 3 (A RBEITSNACHFRAGE
UND
OLS):
a) Leiten Sie gemäß der neoklassischen Theorie die nachfolgende Arbeitsnachfragefunktion unter der Restriktion der in Aufgabe 2 spezifizierten Cobb-Douglas-Produktionsfunktion her.
ln(Lt ) = b0 + b1 · ln(Yt ) + b2 · ln(w) + b3 · ln(r) + b4 · t
Um etwaige Rigiditäten auf dem Arbeitsmarkt berücksichtigen zu können, erweitern
Sie obige Arbeitsnachfragefunktion gemäß dem Modell der partiellen Anpassung
zu:
ln(Lt ) = b0 + b1 · ln(Yt ) + b2 · ln(w) + b3 · ln(r) + b4 · t + b5 · ln(Lt−1 )
mit:
L:
Beschäftigte Arbeitnehmer
Y:
reales Bruttosozialprodukt
w:
Reallohn
r:
reale Kapitalkosten
t:
Zeittrend
b0 , b1 , b2 , b3 , b4 , b5 :
zu schätzende Parameter
b) Schätzen Sie die Parameter der beiden obigen Arbeitsnachfragefunktionen für die
Bundesrepublik Deutschland mit Hilfe der Kleinst-Quadrate-Methode. Interpretieren
Sie die geschätzten Parameter und Teststatistiken.
Vorgehensweise:
• Theoretische Herleitung der Arbeitsnachfragefunktion gemäß der neoklassischen
Theorie, d.h. entweder nach dem Gewinnmaximierungsansatz oder nach dem Kostenminimierungsansatz
• Formulierung eines Modells der partiellen Anpassung und Berücksichtigung des Anpassungsprozesses in der zu schätzenden Arbeitsnachfragefunktion
• Auswahl und Generierung der benötigten Variablen
• Schätzung der beiden Arbeitsnachfragefunktionen und Interpretation der geschätzten Parameter und Teststatistiken
61
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
2.
Grundlagen der Ökonometrie
Die folgenden Übungen beruhen größtenteils auf den Büchern:
• G RIFFITHS / H ILL / J UDGE (1993): Learning and Practicing Econometrics, New York.
• H ILL (1993): Learning SAS: A Computer Handbook for Econometrics. A Guide to Programming for Learning and Practicing Econometrics and Introduction to the Theory
and Practice of Econometrics, New York [SAS-Begleitbuch zu G RIFFITHS / H ILL / J UDGE
(1993)].
Zur Bearbeitung der Aufgabe benötigen Sie die ASCII-Datensätze airtrans.asc, kleingol.asc,
sugarcan.asc, weizen.asc und brd.asc. Die Datensätze stehen auf unserer Homepage
http://www.wiwi.uni-frankfurt.de/Professoren/hujer/ zum Download bereit.
A UFGABE 1 (OLS):
Der ASCII-Datensatz airtrans.asc enthält Daten für den Zeitraum 1948-1979 für den Luftfracht-Sektor in den USA in der folgenden Reihenfolge: Jahr, Output (Y ), Kapitalkosten
(R), Kapital (K), Lohn (W ) und Arbeit (L), mit Ausnahme des Jahres jeweils in Form eines
Index. Es soll überprüft werden, wie das Verhältnis von Arbeit und Kapital vom relativen
Preis beider Faktoren und von der Höhe des Outputs abhängt. Dazu wird folgendes Modell
aufgestellt:
ln
Lt
Kt
= β1 + β2 ln
Wt
Rt
+ β3 Yt + ut
a) Welches Vorzeichen erwarten Sie für den Koeffizienten β2 ? Wie hängt das Vorzeichen
von β3 mit der Gestalt des Expansionspfades in einem Diagramm mit Kapital auf der
x- und Arbeit auf der y-Achse zusammen?
b) Führen Sie eine OLS-Schätzung des Modells durch. Lesen Sie dazu zunächst den
Datensatz airtrans.asc ein und führen die notwendigen Variablentransformationen
Lt
durch. Interpretieren Sie die Schätzergebnisse. Welcher Anteil der Varianz von ln K
t
wird durch das Modell erklärt?
c) Testen Sie die gemeinsame Hypothese, daß β2 = 1 und β3 = 0. Was ist der theoretische Hintergrund für diesen Test?
A UFGABE 2 (M ULTIKOLLINEARIT ÄT ):
KL EIN / G OLDBERGER(1955)12 verwenden das folgende Modell zur Schätzung des inländischen Konsums in der USA (c) in Abhängigkeit vom Lohneinkommen (w), Einkommen aus
12
KL EIN / G OLDBERGER (1955): An Econometric Model of the United States, 1929-1952, Amsterdam.
62
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
Landwirtschaft (a) und Einkommen, das weder Lohneinkommen noch Einkommen aus
Landwirtschaft ist, (p) für den Zeitraum 1928-1950:
ct = β1 + β2 wt + β3 pt + β4 at + ut
a) Klein/Goldberger schließen den Zeitraum von 1942-1944 aus der Schätzung aus.
Warum?
b) Erwarten Sie a priori Multikollinearität in diesem Modell? Warum?
c) Überprüfen Sie Ihre Erwartung durch eine Korrelationsanalyse. Sie finden die Daten
in dem ASCII-Datensatz kleingol.asc (c, w, p, a).
d) Führen Sie eine OLS-Schätzung des Modells durch. Können Sie Multikollinearität in
den Schätzergebnissen erkennen? Berechnen Sie sich auch die 95%-Konfidenzintervalle für die Parameterschätzwerte.
e) Welche Lösungsmöglichkeiten zur Behebung von Multikollinearität kennen Sie? Klein/
Goldberger verwenden folgende Parameter-Restriktionen zur Behebung, die auf früheren empririschen Untersuchungen beruhen: β3 = 0, 75β2 und β4 = 0, 625β2 . Schätzen
Sie das Modell erneut unter Berücksichtigung dieser Restriktionen. Wie sehen die
Schätzergebnisse nun aus? Was ist das grundsätzliche Problem dieser Vorgehensweise? Überprüfen Sie mit einem F -Test, ob die Restriktionen vereinbar mit den Daten
sind.
A UFGABE 3 (A UTOKORRELATION ):
In Bangladesch wird u.a. Zuckerrohr angebaut. Es soll ein Modell geschätzt werden, das
die Fläche erklären soll, auf der Zuckerrohr angebaut wird (Variable: area). Als erklärende Variable dient der relative Preis des Zuckerrohrs gegenüber dem wichtigsten Alternativprodukt Jute. Der Preis des Zuckerrohrs ist p sugar, der von Jute p jute. In dem ASCIIDatensatz sugarcan.asc finden sich die Variablen area, p sugar, p jute. Das zu schätzende
Modell lautet:
ln(area) = β1 + β2 ln
p sugar
p jute
+ ut
a) Führen Sie eine OLS-Schätzung des Modells durch. Hat der Schätzer für β2 das erwartete Vorzeichen? Überprüfen Sie mit einem geeigneten Test, ob Autokorrelation
1.Ordnung vorliegt. Schauen Sie sich auch den Plot der Residuen über die Beobachtungen an.
b) Modifizieren Sie Ihre Schätzung so, daß Ihnen die OLS-Residuen nach der Schätzung
erhalten bleiben und ermitteln Sie einen Schätzwert für r in dem autoregressiven Prozeß 1. Ordnung (AR(1)-Prozeß), der Autokorrelation 1. Ordnung zugrundeliegt (vgl.
G UJARATI, S.407 und 427). Ist das Ergebnis Ihrer Schätzung mit dem Ergebnis aus (a)
vereinbar?
(Hinweis: Achten Sie darauf, ob der AR(1)-Prozeß eine Konstante enthält!)
63
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
c) G UJARATI (1995), S.427-428, schlägt mit der GLS-Methode eine Möglichkeit zur Behebung der Autokorrelation vor. Transformieren Sie Ihre Daten entsprechend und führen
Sie die Schätzung aus (a) erneut durch. Wie sieht Ihre Teststatistik nun aus?
(Hinweise: Verwenden Sie zur Transformation den Schätzwert für r aus (b); auch die
Regressionskonstante ist zu transformieren - generieren sie sich dazu eine neue Variable, die sie statt der standardmäßigen Regressionskonstante in der Schätzung
berücksichtigen; beachten Sie auch, daß die die ersten Beobachtungen ( n = 1)
anders transformieren müssen.)
d) Warum ist ein Vergleich der Standardabweichungen aus (a) und (c) irreführend?
A UFGABE 4 (H ETEROSKEDASTIE ):
ir betrachten die produzierte Menge an Weizen aggregiert über alle Farmen in einem einzelnen Anbaugebiet in Australien über 26 Jahre. Man kann sicherlich sagen, dass diese
Menge zum einen vom (evtl. erwarteten) Weizenpreis, von der Technologie und vom Wetter abhängt. Die Umsetzung in ein ökonometrisches Modell stößt auf das Problem, dass
es die Wettervariable“ nicht geben kann, Wettereffekte werden deshalb Teil der Störva”
riable sein. Außerdem ist die verwendete Technologie schwer messbar. Wir verwenden
deshalb Zeit als eine Proxyvariable, die Änderungen in der Technologie repräsentieren
soll. Unser Modell sieht dann wie folgt aus (q = produzierte Menge Weizen; p = von der
Regierung garantierter Preis für Weizen;t = 1, . . . , 26 als Trendvariable):
qt = β1 + β2 pt + β3 t + ut
Es ist außerdem bekannt, dass nach dem dreizehnten hier betrachteten Jahr neue Weizenarten eingeführt wurden, die weniger anfällig auf das Wetter reagieren. Da Wettereinflüsse in unsere Störgröße eingehen, wird die Annahme einer homoskedastischen Störvariablen nicht zu halten sein. Vielmehr werden nun folgende Annahmen über die Störgröße
zugrundegelegt:
E[ut ] = 0
t = 1, 2, . . . , 26
E[u2t ] = σ12
t = 1, 2, . . . , 13
E[u2t ]
t = 14, . . . , 26
=
σ22
Außerdem erwarten wir dem Hintergrund entsprechend, daß σ22 < σ12 (warum?).
a) Lesen Sie den ASCII-Datensatz weizen.asc (q, p, t) ein und führen Sie separate OLSSchätzungen für die beiden Teilzeiträume durch. Stimmen sie mit den Erwartungen
überein?
b) Führen Sie aufgrund der Schätzergebnisse einen Goldfeld-Quandt-Test auf Heteroskedatie durch (s.G UJARATI(1995, S.374-377); aber besser: G REENE (1993, S.393-394)).
Verzichten Sie dabei aus Vereinfachungsgründen darauf, vorher Beobachtungen
aus dem Sample zu entfernen. Dies hat nur einen Einfluß auf die Macht des Tests.
64
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
c) Führen Sie eine feasible GLS-Schätzung für das gesamte Sample durch. Von einer
feasible GLS-Schätzung wird gesprochen, wenn man das von G UJARATI (1995, S.381382) diskutierte Verfahren anwendet und dabei statt der unbekannten wahren Varianzen die geschätzen Varianzen verwendet. Interpretieren Sie die Schätzergenisse
im Vergleich zu denen aus (a).
(Hinweis: Erneut ist auch eine Transformation der Regressionskonstanten notwendig!)
A UFGABE 5 (P RODUKTIONSFUNKTION
F ÜR DIE
B UNDESREPUBLIK ):
Schätzen Sie mit Hilfe von OLS die Parameter der folgenden Cobb-Douglas-Produktionsfunktion für die Bundesrepublik Deutschland 1960 - 1991 und interpretieren Sie die Schätzergebnisse:
Yt = δ · Ktα · Aβt · eλt
t
mit: Y = Output; K = Kapital; A = Arbeit und t = Zeittrend Grundlage ist der Datensatz brd.asc
mit folgenden Variablen:
JAHR
Jahr
ECP
Privater Verbrauch (Mrd. DM 1985)
EIP
Anlageinvestitionen aller Untern. (Mrd. DM 1985)
K
Bruttoanlagevermögen insg. (Mrd. DM 1985)
LE
Beschäftige Arbeitnehmer insg. (Mio)
LHT
Arbeitsvolumen insgesamt (Mio Std.)
LSE
Selbständige und Mithelfende (Mio)
PECP
Impl. Preisindex priv. Verb. (1985=100)
POP
Wohnbevölkerung (Mio.)
PXGNP
Impliziter Preisindex BSP (1985 = 100)
RL
Langfristiger Zins TIME Zeittrend
UCUM
Kapazitätsauslastung insgesamt
X
Bruttowertschöpfung (Mrd. DM 1985)
XGNPDM
Bruttosozialprodukt (Mrd. DM)
YDH
Verfügbares Einkommen der priv. HH. (Mrd. DM)
YL
Eink. aus unselbst. Arbeit insg.(Mrd.DM)
YLA
Durchsch. Einkommen je Beschäftigtem (Tsd.DM)
YNNI
Nettosozialprodukt zu Faktorkosten (Mrd. DM).
65
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
3.
Mikroökonometrie
Die folgenden Übungen beruhen größtenteils auf den Büchern:
• G RIFFITHS / H ILL / J UDGE(1993): Learning and Practicing Econometrics, New York.
• H ILL(1993): Learning SAS: A Computer Handbook for Econometrics. A Guide to Programming for Learning and Practicing Econometrics and Introduction to the Theory
and Practice of Econometrics, New York [SAS-Begleitbuch zu G RIFFITHS / H ILL / J UD GE (1993)].
• G REENE (1997): Econometric Analysis, New York.
• E CKEY / K OSFELD / D REGER (1995): Ökonometrie, Gabler-Verlag
Zur Bearbeitung der Aufgabe benötigen Sie die ASCII-Datensätze airtrans.asc, kleingol.asc,
sugarcan.asc, weizen.asc und brd.asc. Die Datensätze stehen auf unserer Homepage
http://www.wiwi.uni-frankfurt.de/Professoren/hujer/ zum Download bereit.
A UFGABE 1 (V ERGLEICH
ZWISCHEN
LWM, L OGIT
UND
P ROBIT ):
S PECTOR UND M AZZEO (1980) untersuchten in einer Studie die Wirkung einer neuen Lehrmethode in dem Fach Ökonomie auf die Leistung von Schülern. Der SAS-Datensatz teach enthält 32 Beobachtungen von Schülern, die mit dieser neuen Lehrtechnik unterrichtet wurden (PSI = 1). Die abhängige Variable GRADE zeigt an ob sich die Leistung
verbessert hat (GRADE=1) oder nicht (GRADE=0). Als weitere Variablen sind GPA, die
Durchschnittsno-tenpunktzahl, und TUCE, das Ergebnis eines Vortests der das ökonomische Basiswissen überprüft hat, enthalten.
a) Berechnen Sie die Erfolgswahrscheinlichkeit P(GRADE = 1) in Abhängigkeit der Variablen GPA, PSI und TUCE. Schätzen Sie zunächst eine lineares Wahrscheinlichkeitsmodell, dann ein Probit-Modell und abschließend ein Logit-Modell.
b) Interpretieren Sie die Ergebnisse. Wie erklären Sie sich die Unterschiede in den verschiedenen Modellen?
c) Berechnen Sie Mc Faddens R2 für das Logit- und das Probit-Modell.
d) Wie hoch ist die Erfolgswahrscheinlichkeit für einen Schüler, mit den Ausprägungen
(GPA: 2.4, TUCE: 27, PSI: 1) im Logit-Modell?
A UFGABE 2 (L OGIT
UND
P ROBIT ):
Der Datensatz vote enthält die Ergebnisse der US-Präsidentschaftswahlen des Jahres 1976
für 51 Staaten. Die Variablen DEMO und REP enthalten jeweils die auf die Demokratische und die Republikanische Partei entfallenen Stimmen (in Tausend). INCOME ist das
durchschnittliche Familieneinkommen aus dem Jahre 1975. Die Variable SCHOOL gibt die
66
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
durchschnittliche Anzahl von Schuljahren an, die von Personen über 17 Jahren absolviert wurden. URBAN ist der Prozentanteil von Personen, die in einem städtischen Gebiet“
”
wohnen und REGION ist eine regionale Dummy-Variable, die die folgenden Ausprägungen annehmen kann: 1 = Northeast, 2 = Southeast, 3 = Midwest und Middle South, 4 = West
und Mountain States.
a) Generieren Sie eine Indexvariable, die den Wert 1 annimmt, wenn die Demokratische Partei in einem Staat gewonnen hat.
b) Schätzen Sie ein Logit- und ein Probit-Modell und verwenden Sie als erklärende Variablen: INCOME, SCHOOL, URBAN und die Regionen. Interpretieren Sie die Ergebnisse.
67
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
4.
Finanzökonometrie
Für die folgenden Übungen benötigen Sie Datensätze, die Sie von unsere Homepage
downloaden können: http://www.wiwi.uni-frankfurt.de/Professoren/hujer/. Die Datensätze
sind zumeist dem Buch von Mills (1996), The Econometric Modelling of Financial Time Series, Cambridge, entnommen.
A UFGABE 1 (I DENTIFIKATION
VON
ARIMA M ODELLEN ):
Modellieren Sie die Zeitreihe whatami, die Sie in der Datei whatami finden können. Dieser
Zeitreihe liegt ein simulierter stochastischer ARMA(p,q) Prozess zugrunde. Identifizieren Sie
die Ordnung der AR und MA-Teile.
A UFGABE 2 (S CH ÄTZEN
VON UND
P ROGNOSE
MIT
ARIMA M ODELLEN ):
Modellieren Sie die Zeitreihe der nominalen FTA-all-share monatlichen Returns (FTARET) als
ARIMA-Prozess.
a) Prüfen Sie, zunächst nur graphisch und anhand der empirischen Autokorrelationen,
die Stationarität von FTARET. Versuchen Sie zunächst, anhand der empirischen Autokorrelationsfunktion einen zugrundeliegenden ARIMA-Prozess zu identifizieren.
b) Schätzen Sie die Parameter der Modelle mit der Maximum-Likelihood-Methode. Schätzen Sie die von Ihnen gewählten AR(p) Prozesse mit Conditional Least Squares und
Maximum Likelihood. Vergleichen Sie die Schätzergebnisse.
c) Begründen Sie die Wahl Ihres Modells anhand des Akaike- und Schwarz-Kriteriums,
der Signifikanz der Parameter-Schätzwerte und der Korrelationsstruktur der geschätzten Residuen. Schreiben Sie das geschätzte Modell in verschiedenen Notationen eines ARMA-Modells.
d) Prognostizieren Sie FTARET 12 Perioden in die Zukunft. Diskutieren Sie die Prognosegüte des von Ihnen gewählten Ansatzes. Stellen Sie die Prognose und die unteren
und oberen Grenzen des 95 % Konfidenzintervalles graphisch dar.
A UFGABE 3 (S CH ÄTZEN
VON
GARCH M ODELLEN ):
Modellieren Sie die Zeitreihe der nominalen FTA-all-share monatlichen Returns (FTARET) als
GARCH-Prozess.
a) Spezifizieren Sie zunächst ein ARCH(1) und ein GARCH(1,1) Modell und schätzen Sie
die Parameter der Modelle mit der Maximum-Likelihood-Methode. Prüfen Sie die
Stationarität der von Ihnen geschätzten bedingten Varianzen.
b) Plotten Sie die sich ergebende Schätzung der bedingten Varianz der beiden Modelle zusammen mit der Originalzeitreihe und diskutieren Sie die unterschiedlichen
Ergebnisse
68
SAS: E INE ERSTE ANWENDUNGSORIENTIERTE E INF ÜHRUNG F ÜR Ö KONOMETRIKER
c) Wählen Sie nach Ihnen bekannten Modell-Selektionskriterien ein geeignetes GARCH
(p,q)-Modell zur Beschreibung von FTARET. Begründen Sie Ihre Entscheidung
d) Schätzen Sie ein E-GARCH-Modell und prüfen Sie die Hypothese asymmetrisch wirkender Schocks auf die Volatilität von FRARET. Nehmen Sie das von Ihnen gewählte
E-GARCH-Modell in Ihr Modellportfolio auf?
e) Prüfen Sie auf G(ARCH) in Mean-Effekte. (Höherer Return bei höherer Volatilität).
f) Schätzen Sie die Modelle nochmals unter der Annahme von t-verteilten Innovationen. Prüfen Sie die Hypothese der Normalverteilung.
69
Herunterladen