Ein Crash-Kurs in EViews Herbert Stocker 15. November 2004 EViews Eine Netzwerkversion von EViews (max. 20 Anmeldungen gleichzeitig!) kann in den Computerräumen des ZID direkt aufgerufen werden, einfach K:\Apps\EViews\EViews4.exe doppelklicken. Sie können sich auch unter folgendem Username einloggen und verwenden die dort lokal installierte Version 3.1 benützen. Einloggen Name: cb0189 (User-Name für diesen Kurs) Paßwort: ***** (das Passwort erfahren Sie im Kurs.) [Achtung: Groß-/Kleinschreibung beachten!] [bzw.: Im Windows-Explorer Menüpunkt: <Extras> <Netzlaufwerk verbinden... > und unter <Netware Servers> S06K3 doppelklicken; Formular entsprechend (s.o.) ausfüllen.] Hinweis: Legen Sie im Verzeichnis User ein eigenes Unterverzeichnis an und speichern Sie Daten nur dort! EViews Strikt objektorientiert! Ojekte können z.b. Datenreihen, Regressionsgleichungen, Grafiken, Tabellen,... sein. Alle Objekte werden in einem workfile gelagert. Ojekte werden in Fenstern (mit eigenen Menüs) angezeigt. EViews: Ein Beispiel Workfile anlegen: im Hauptmenü File/New/Workfile, Periodizität & Start- und Endzeitpunkt festlegen (z.b.: Undated, 5 Observations). Daten eingeben: im Hauptmenü Quick/Empty Group (Edit Series), z.b.: Y = 4, 6, 9, 8, 12 X1 = 17, 14, 15, 8, 2 X2 = 23, 26, 31, 29, 33 Grafik einzelner Reihe zeigen: gewünschte Reihe mit Doppelklick öffenen, im Objektmenü: View/Line Graph Grafik mit mehreren Daten-Reihen: Gewünschte Reihen mit Maus (& gedrückter <Strg>-Taste) markieren, doppelklicken Open Group im Objekt-Menü: View/Graph/Scatter/Scatter with Regression Korrelationsmatrix: im Objekt-Menü View/Correlations Regression rechnen: im Hauptmenü Quick/Estimate Equation, y c x1 x2 eingeben. 1
EViews-Bildschirm Fit & Residuen zeigen: im Objektmenüleiste Resids Übung: Die Workfile-Datei REPAIRCOST.wf1 enthält 57 Beobachtungen über Reparaturkosten (cost), gefahrene Meilen (miles) und Alter (age) von Autos. Wie sind diese Variablen miteinander korreliert? Wie hängen die Reparaturkosten vom Alter des Autos und den gefahrenen Meilen ab? Einführung in EViews Es gibt (fast) immer mehrere Wege zum Ziel, z.b. über Menüs, oder über Eingabe von Befehlen (Kommandofenster) z.b. im Kommandofenster ls y c x1 x2 eingeben EViews ist objektorientiert Objekte enthalten zusammengehörige Informationen EViews-Objekte sind z.b. Datenreihen, Gruppen, Gleichungen, Matrizen,... Objekt-Namen: maximal 16 Zeichen (keine Leer- und Sonderzeichen (auch nicht im Pfad)!!!), Groß- und Kleinschreibung spielt keine Rolle Reservierte Namen: z.b.: abs, ar, c, log, exp, ma, na, resid,... Alle Objekte befinden sich in einem Workfile Pro Workfile kann es nur ein unbenanntes Objekt einer Art geben, um Objekte zu speichern muß man ihnen einen Namen geben (kann unter Options geändert werden). Änderungen werden erst mit File Save permanent (auf das Laufwerk) gespeichert! Objekte werden in eigenen Fenstern dargestellt, für jedes Objekt-Fenster gibt es ein eigenes Menü. Auch der Workfile hat ein eigenes Menü. Ein Workfile kann nur Objekte enthalten, die die gleiche Periodizität aufweisen. Objekte unterschiedlicher Periodizität können in EViews-Databases aufbewahrt werden. 2
Objekt-Menüs Objekt-Menüs unterscheiden sich zwischen Objekten, aber alle Objekt-Menüs haben mindestens folgende Menü-Punkte: View: unterschiedliche Ansicht, ändert Objekt nicht! Procs: Verändern Objekte oder erzeugen neue Objekte! Print: Druckt derzeitigen Inhalt des Fensters. Name: Erlaubt Objekt einen Namen zu geben oder es umzubenennen. Freeze: Erzeugt ein neues Graphik- (Tabellen- oder Text-) Objekt; Snapshot Wichtige EViews-Objekte Series Datenreihen Group Bezüge auf mehrere Datenreihen Equation z.b. Output einer Schätzung Sample für Einschränkung der zu verwendenden Beobachtungen Coef Koeffizienten-Vektor Graph Grafik Table Tabelle Neue Objekte anlegen a) Menü-Modus: Objects/New b) Befehl: Objekt-Bezeichnung ist zugleich Befehl, z.b.: series myseries = 0 group groupname series1 series2 series3 Der erste Befehl legt eine neue Datenreihe mit dem Namen newseries an und schreibt lauter Nullen hinein, der zweite Befehl legt eine Gruppe mit dem Namen groupname und mit den Bezügen auf die Datenreihen series1, series2, series3 an. Daten eingeben Im Menü Quick/Empty Group (Edit Series) entweder eintippen (dazu im Objektmenü <Edit +/ > aktivieren) oder mit Cut & Paste hineinkopieren. Achtung: Komma & Punkt vertauscht! (kann in Windows-Systemsteuerung Ländereinstellungen geändert werden) Daten von Excel einlesen Im Workfile-Menü Procs/Import/Read Text-Lotus-Excel... Gewünschte Datei öffenen. Achtung: Die Exceldatei darf nicht geöffnet sein, sonst tritt eine Zugriffsverletzung auf! Stehen Daten in Spalten (by Observation) oder Zeilen (by Series)? Wenn über (oder rechts von den Daten) die Namen stehen reicht es, die Anzahl der Datenreihen anzugeben, ansonsten die Namen aller Reihen (kann sich von Excel unterscheiden) Erste Datenzelle und eventuell Blatt angeben Sample gegebenenfalls ändern. Übung: Die Datei WAGE.xls enthält 4 Spalten mit je 49 Beobachtungen. Die Variablen sind age, educ, exper, wage. Wie hängt der Lohn (wage)vom Alter (age), der Ausbildung (Schuljahre, educ) und der Berufserfahrung (exper) ab? 3
EViews-Bildschirm Neue Datenreihen erzeugen Menü: Quick/Generate Series, z.b. x3 = (x1+x2)/2 Befehl: series x3 = (x1+x2)/2 Beispiele: (Befehle series und genr sind identisch) series lny = @log(y) (Logarithmus von y) series exy = @exp(y) series DummyHigh = y > 1000 (logischer Ausdruck, erzeugt Dummy, 0-1) series trend = @trend series dy = y - y(-1) (legt einen Trend [0, 1, 2,... ]an) (erste Differenz) series dy = d(y) (erste Differenz) series gy = (y - y(-1))/y(-1) bzw. series gy = @pch(y) berechnen beide die Wachstumsrate von y, der zweite Befehl mit der EViews-Funktion @pch(x) (one-period percentage change, in decimal). Samples setzen: smpl Im entsprechenden Feld des Menü-Fensters angeben, oder im Kommandofenster: z.b.: smpl 1985 1999 alle folgenden Operationen werden nur noch für die Beobachtungen zwischen 1985 und 1999 ausgeführt. Rückgängig machen: smpl @all [nicht vergessen!!!] Weitere Beispiele: smpl 73:2 85:4 (Quartalsdaten, vom 2. Quartal 73 bis 4. Quartal 85) smpl @all if y > 150 smpl @first 1983 if xy > 0 Dummy erzeugen: z.b.: series DUMMY1 = 0 smpl 1995 2001 series DUMMY1 = 1 smpl @all 4
Regressionen schätzen Entweder im EViews-Menü <Quick> <Estimate Equation... > die abhängige Variable und die Liste der unabhängigen Variablen (getrennt durch Leerzeichen) eingeben, oder im Kommandofenster mit dem Befehl ls. Zum Beispiel: ls y c x1 x2 x3 rechnet die Regression Y = b 0 + b 1 X 1 + b 2 X 2 + b 3 X 3 + e c (für constant) ist die Konstante (d.h. ein Vektor mit lauter Einsen) und dient der Schätzung von b 0. Davon zu unterscheiden ist der Vektor c (für coefficient vector), den EViews automatisch anlegt und ihn den immer die Koeffizienten der letzten Regression geschrieben werden. Anstelle von ls y c x1 x2 x3 kann man auch ls y = c(1) + c(2)*x1 + c(3)*x2 + c(4)*x3 eingeben. Die zweite Eingabeart ist nur sinnvoll, wenn man (in den Koeffizienten) nicht-lineare Gleichungen schätzen möchte, z.b. eine Cobb-Douglas Produktionsfunktion mit linearen Skalenerträgen: ls @log(y) = c(1) + c(2)*@log(x1) + (1 - c(2))*@log(x2) EViews: Output für andere Anwendungen Cut & Paste: <Strg>+<C>, bzw. <Strg>+<V> (auch für Grafiken!) Output in Textdatei umleiten: Befehl output(t) d:\temp\out.txt In Programmen Output einschalten: pon, Output ausschalten: poff (nur ASCII-Daten) Online Hilfe in EViews im Help-Menü EViews Help Topics Index Help Reference... Object Reference Übersicht über Objekte Command Reference Befehlsübersicht Function Reference Übersicht über Funktionen Users Guide (pdf) Komplettes Handbuch Programmieren in EViews Programm-Datei anlegen: File/New/Program, Ausführen Run Programmvariablen (Kontrollvariablen) Numerische Variablen beginnen immer mit einem Rufzeichen (!) und müssen nicht initialisiert werden, z.b.!counter = 1 Stringvariablen beginnen mit einem %-Zeichen, z.b. %Country = Äustria" 5
For-Next Schleifen Summe von 1 bis 10: Kommentar: Summe von 1-10!sum = 0 for!j = 1 to 10!sum =!sum +!j next scalar sum =!sum oder for!j=10 to 1 step -1 series rescale{!j}=original/!j next führt folgende Befehle aus: series rescale10 = original/10 series rescale9 = original/9 series rescale8 = original/8... series rescale1 = original/1 For-Next Schleifen mit Stringvariablen Wird der Name der Laufvariablen in geschwungene Klammern { } geschrieben kann der Inhalt der Laufvariablen direkt an einen Objektnamen angefügt werden, z.b. for %y gdp gnp ndp nnp equation {%y}trend.ls %y c {%y}(-1) time next führt folgende Befehle aus: equation gdptrend.ls gdp c gdp(-1) time equation gnptrend.ls gnp c gnp(-1) time equation ndptrend.ls ndp c ndp(-1) time equation nnptrend.ls nnp c nnp(-1) time if then Bedingungen if!scale>0 then series newage = age/!scale else series newage = age endif if!a>5 and!a<10 then smpl 1950:1 1970:1+!a endif Der OLS-Schätzer mit Matrix-Operatoren This will find a vector of coefficients two ways: the LS command and by basic matrix operations. workfile regress1 u 100 Create a workfile Generate the data we wish to regress 6
We will regress y on x1, x2 and an intercept series x1= nrnd series x2 = nrnd series y = x1 + 3*x2 + nrnd first regressor second regressor dependent variable It is easiest to create a matrix from a group, group xgrp c x1 x2 c is the intercept Create the regressor matrix matrix x = @convert(xgrp) Generate the coefficient vector vector b=@inverse(@inner(x)) * @transpose(x)*@convert(y) Delete temporary variables delete xgrp x Estimate an equation to test against our coefficient vector equation lseqn.ls y c x1 x2 show b show lseqn Übung: Berechnen Sie die Summe aller geraden Zahlen von 1 100. (Hinweis: verwenden Sie die Funktion @abs) 7