Handout

Werbung
Längsschnittanalyse kategorialer Daten
Datenaufbereitung
Als Beispiel verwende ich den Datensatz über Gewerkschaftsmitgliedschaften, den wir auch
in einer Übung verwendet haben. Zunächst schneide ich mir die Daten zurecht:
. use http://eswf.uni-koeln.de/daten/stata/union.dta, clear
(NLS Women 14-24 in 1968)
Ich benutze nur die ersten vier Wellen …
. drop if year>73
(18734 observations deleted)
. tsset idcode year
panel variable:
time variable:
idcode (unbalanced)
year, 70 to 73, but with gaps
. xtdes
idcode:
year:
1, 2, ..., 5157
n =
70, 71, ..., 73
T =
Delta(year) = 1; (73-70)+1 = 4
(idcode*year uniquely identifies each observation)
Distribution of T_i:
min
1
5%
1
25%
1
50%
2
75%
3
3214
4
95%
4
max
4
Freq. Percent
Cum. | Pattern
---------------------------+--------700
21.78
21.78 | 1111
387
12.04
33.82 | ...1
346
10.77
44.59 | ..11
265
8.25
52.83 | .111
259
8.06
60.89 | 1...
193
6.00
66.89 | ..1.
188
5.85
72.74 | 111.
185
5.76
78.50 | .1..
179
5.57
84.07 | 11..
512
15.93 100.00 | (other patterns)
---------------------------+--------3214
100.00
| XXXX
. egen nwaves=count(union), by(id)
. tab nwaves
nwaves |
Freq.
Percent
Cum.
------------+----------------------------------1 |
1,024
13.72
13.72
2 |
1,656
22.18
35.90
3 |
1,986
26.60
62.50
4 |
2,800
37.50
100.00
------------+----------------------------------Total |
7,466
100.00
… und verwende nur die Personen, die auch an allen vier Panelwellen teilgenommen haben.
. keep if nwaves==4
(4666 observations deleted)
1
So, und jetzt geht’s los. Das Beispiel ist ganz simpel, denn es besteht nur aus einer dichotomen abhängigen Variablen. Ausgehend von dieser Basisinformation ergeben sich verschiedene Auswertungsstrategien.
Trendanalyse
Die simpelste ist die Verwendung der Panelwellen als Serie von Querschnitten zur Beschreibung von Trends auf der Makro- oder Gruppenebene (Trendanalyse).
.
. tab year union, row
+----------------+
| Key
|
|----------------|
|
frequency
|
| row percentage |
+----------------+
interview |
1 if union
year |
0
1 |
Total
-----------+----------------------+---------70 |
535
165 |
700
|
76.43
23.57 |
100.00
-----------+----------------------+---------71 |
534
166 |
700
|
76.29
23.71 |
100.00
-----------+----------------------+---------72 |
535
165 |
700
|
76.43
23.57 |
100.00
-----------+----------------------+---------73 |
542
158 |
700
|
77.43
22.57 |
100.00
-----------+----------------------+---------Total |
2,146
654 |
2,800
|
76.64
23.36 |
100.00
Dazu bräuchte man eigentlich nicht Paneldaten, gleichwohl werden sie oft dafür benutzt (z.B.
um Fragen sozialen Wandels mit Kohortenanalysen zu untersuchen). Wenn man aber – wie in
diesem Fall – Paneldaten verwendet, dann muss man berücksichtigen, dass es sich dabei nicht
um unabhängige Beobachtungen handelt (wie bei unabhängigen Querschnitten). Die Beobachtung, dass der Anteil der Gewerkschaftsmitglieder im letzten Jahr um einen Prozentpunkt
zurückgegangen ist, sollte also daraufhin getestet werden, dass der Vergleichswert aus dem
Vorjahr bereits durch die gleichen Personen bestimmt wurde. Geeignete Schätzverfahren (mit
jeweils spezifischen Annahmen) sind Schätzverfahren mit zufälligen und fixen Effekten (random and fixed effects).
Analyse individueller Veränderungen
Eine zweite Möglichkeit ist die Betrachtung von individuellen Veränderungen. Die simpelste
Annahme ist hier, dass Veränderungen nur von dem in der Vorwelle vorliegenden Zustand
abhängen.
.
. gen vorher=L.union
(700 missing values generated)
. gen nachher=union
Die folgende Tabelle zeigt die drei Übergangsmatrizen.
. table vorher nachher year
2
-------------------------------------------------|
interview year and nachher
| --- 71 ----- 72 ----- 73 --vorher |
0
1
0
1
0
1
----------+--------------------------------------0 | 492
43
496
38
498
37
1 |
42
123
39
127
44
121
--------------------------------------------------
Schaut man einmal genauer hin (z.B. für den Übergang 1970-71), ergeben sich in den Randverteilungen wieder die Anteile der Gewerkschaftsmitglieder, die wir bereits aus der Trendanalyse kennen.
. tab vorher nachher if year==71, row
+-------------------+
| Key
|
|-------------------|
|
frequency
|
| row percentage
|
+-------------------+
|
nachher
vorher |
0
1 |
Total
-----------+----------------------+---------0 |
492
43 |
535
|
91.96
8.04 |
100.00
-----------+----------------------+---------1 |
42
123 |
165
|
25.45
74.55 |
100.00
-----------+----------------------+---------Total |
534
166 |
700
|
76.29
23.71 |
100.00
Solche Übergangsmatrizen werden mit Markov-Modellen untersucht, die wir nicht besprochen haben. Ist man bspw. der Ansicht, dass die Annahme gerechtfertigt ist, nur y t −1 habe
einen Einfluss, dann kann man alle drei Übergangsmatrizen in einer zusammenfassen und
daraus die Parameter des Prozesses (den Regressionskoeffizienten von y t −1 ) schätzen. Die
Annahme bezeichnet man übrigens als Markov-Prozess erster Ordnung.
. tab vorher nachher, row
+----------------+
| Key
|
|----------------|
|
frequency
|
| row percentage |
+----------------+
|
nachher
vorher |
0
1 |
Total
-----------+----------------------+---------0 |
1,486
118 |
1,604
|
92.64
7.36 |
100.00
-----------+----------------------+---------1 |
125
371 |
496
|
25.20
74.80 |
100.00
-----------+----------------------+---------Total |
1,611
489 |
2,100
|
76.71
23.29 |
100.00
Gleiches macht das Kommando xttrans.
. xttrans union, freq
3
|
1 if union
1 if union |
0
1 |
Total
-----------+----------------------+---------0 |
1,486
118 |
1,604
|
92.64
7.36 |
100.00
-----------+----------------------+---------1 |
125
371 |
496
|
25.20
74.80 |
100.00
-----------+----------------------+---------Total |
1,611
489 |
2,100
|
76.71
23.29 |
100.00
Analyse des Verbleibs im Ausgangszustand
Eine dritte Analysemöglichkeit ergibt sich schließlich, wenn man nach dem Gegenteil von
individueller Veränderung fragt: der Stabilität. Ausgehend von einem bestimmten Ausgangszustand (z.B. Gewerkschaftsmitglied zu sein) fragt man sich, wie lange eine Untersuchungseinheit in diesem Zustand verbleibt. Hier ergibt sich die so genannte Ereignisanalyse oder
Verweildaueranalyse. Der Name hängt damit zusammen, dass sich die Untersuchungsobjekte
im Zeitablauf verändern und daher bei einem Teil im Untersuchungszeitraum ein Abgang aus
dem Ausgangszustand beobachtet werden kann. Das Ende des Verbleibs im Ausgangszustand
bezeichnet man auch als Ereignis. Ereignisanalyse verwendet wiederum nur einen bestimmten
Teil der Ausgangsinformationen. Wir betrachten dazu alle in den Daten vorkommenden Sequenzen:
. gen komb=1000*L3.union + 100*L2.union + 10*L1.union + union
(2100 missing values generated)
. tab komb
komb |
Freq.
Percent
Cum.
------------+----------------------------------0 |
442
63.14
63.14
1 |
24
3.43
66.57
10 |
19
2.71
69.29
11 |
7
1.00
70.29
100 |
21
3.00
73.29
101 |
3
0.43
73.71
110 |
4
0.57
74.29
111 |
15
2.14
76.43
1000 |
27
3.86
80.29
1001 |
3
0.43
80.71
1010 |
4
0.57
81.29
1011 |
8
1.14
82.43
1100 |
8
1.14
83.57
1101 |
7
1.00
84.57
1110 |
17
2.43
87.00
1111 |
91
13.00
100.00
------------+----------------------------------Total |
700
100.00
Wenn man sich für die Dauer der Mitgliedschaft in der Gewerkschaft interessiert, dann interessieren nur die mit einer „1“ beginnenden Sequenzen: Danach haben 42 Personen nach einem Jahr ihre Gewerkschaftsmitgliedschaft aufgegeben, 15 nach zwei Jahren, weitere 17 nach
drei Jahren, und 91 Personen haben die Gewerkschaft im Untersuchungszeitraum nicht verlassen. 535 Personen waren zu Beginn der Untersuchung (1970) gar nicht in einer Gewerkschaft (vgl. die folgende Tabelle).
4
Tabelle 1: Zeitdiskrete Ereignisdaten
Jahr
1970
1971
1972
1973
Summe
Mitglieder
165
123
108
91
487
Sequenz
1xxx
11xx
111x
1111
Pr
Austritte
Sequenz
Pr
74.5%
87.8%
84.3%
42
15
17
74
10xx
110x
1110
25.5%
12.2%
15.7%
kein Mitglied
535
Sequenz
0xxx
Im nächsten Untersuchungsschritt bereite ich die Daten für eine Ereignisanalyse auf. Das bedeutet, dass (i) nur Beobachtungen von Personen berücksichtigt werden, deren Mitgliedschaftsverlauf (Sequenz) mit einer „1“ beginnt (n=165 Personen). Bei diesen Personen werden aber alle Beobachtungen gelöscht, die nach dem Austritt aus der Gewerkschaft auftreten
(z.B. bei Personen mit der Sequenz 110x alle Informationen für das Jahr 1973). Mit welchen
Stata-Kommondos ich das gemacht habe, soll hier nicht interessieren. Es verbleiben jedenfalls
165 Personen mit insgesamt 561 (=487+74) Beobachtungen im Datensatz. Jede der Untersuchungspersonen ist mit so vielen Beobachtungen im Datensatz vertreten, wie es gedauert hat,
bis entweder ein Austritt aus der Gewerkschaft oder das Untersuchungsende eintrat.
Für die diskrete Ereignisanalyse wird (hilfsweise) ein logistisches Regressionsmodell verwendet. Da es uns um den Abgang aus dem Ausgangszustand „Gewerkschaftsmitglied“ geht,
bilden wir eine abhängige Variable austritt, die genau umgekehrt wie Gewerkschaftsmitgliedschaft kodiert ist und rechnen los:
. gen austritt=1
. replace austritt=0 if union==1
Dabei nehmen wir an, dass die Untersuchungspersonen erst im Jahr 1970 in die Gewerkschaft
eingetreten sind (eine heroische Annahme, andernfalls müssten wir uns aber mit dem Problem
linkszensierter Beobachtungen herumschlagen). Das Jahr 1970 lassen wir dann in der folgenden Analyse aus, weil nach dieser Annahme alle Mitgliedschaften erst in diesem Jahr beginnen und sich Austritte frühestens 1971 ereignen (s. auch folgende Tabelle).
. tab year austritt
interview |
austritt
year |
0
1 |
Total
-----------+----------------------+---------70 |
165
0 |
165
71 |
123
42 |
165
72 |
108
15 |
123
73 |
91
17 |
108
-----------+----------------------+---------Total |
487
74 |
561
. drop if year==70
(165 observations deleted)
Im folgenden logistischen Regressionsmodell unterstellen wir durch Verwendung entsprechender Wellendummies eine Abgangsrate, die sich von Jahr zu Jahr verändert.
. xi: logit austritt i.year
i.year
_Iyear_71-73
Logistic regression
Log likelihood = -186.22528
(naturally coded; _Iyear_71 omitted)
Number of obs
LR chi2(2)
Prob > chi2
Pseudo R2
=
=
=
=
396
9.02
0.0110
0.0236
5
-----------------------------------------------------------------------------austritt |
Coef.
Std. Err.
z
P>|z|
[95% Conf. Interval]
-------------+---------------------------------------------------------------_Iyear_72 | -.8995663
.3284287
-2.74
0.006
-1.543275
-.2558578
_Iyear_73 | -.6031314
.3189861
-1.89
0.059
-1.228333
.0220699
_cons | -1.074515
.1787165
-6.01
0.000
-1.424793
-.7242367
------------------------------------------------------------------------------
Die logistische Regression unterstellt folgendes Modell:
⎛ λ(t i ) ⎞
⎟⎟ = δ 1 + δ 2 d 72 t + δ 3 d 73t .
ln⎜⎜
⎝ 1 − λ(t i ) ⎠
Die bekannte Umformung liefert eine Bestimmungsgleichung für die geschätzten bedingten
Abgangswahrscheinlichkeiten (zeitdiskrete Abgangsraten):
λ(t i ) =
exp(δ 1 + δ 2 d 72 t + δ 3 d 73t )
.
1 + exp(δ 1 + δ 2 d 72 t + δ 3 d 73t )
Unter Verwendung der geschätzten Regressionskoeffizienten (δˆ1 , δˆ2 , δˆ3 ) lassen sich die Abgangswahrscheinlichkeiten berechnen:
. dis exp(_b[_cons]) / (1 + exp(_b[_cons]))
.25454545
. dis exp(_b[_cons]+_b[_Iyear_72]) / (1 + exp(_b[_cons]+_b[_Iyear_72]))
.12195122
. dis exp(_b[_cons]+_b[_Iyear_73]) / (1 + exp(_b[_cons]+_b[_Iyear_73]))
.15740741
Es ergeben sich exakt die drei Abgangswahrscheinlichkeiten, die man sich auch „zu Fuß“
anhand der Fallzahlen ausrechnen kann (vgl. Tabelle 1). Die Likelihood des Untersuchungsergebnisses errechnet sich aus der Wahrscheinlichkeit, dass 42 Personen nach einem Jahr die
Gewerkschaft verlassen haben und 123 Personen im ersten Jahr in der Gewerkschaft verblieben sind und 15 Personen nach zwei Jahren die Gewerkschaft verlassen haben und ... usw.:
L = 0,255 42 ⋅ (1 − 0,255)123 ⋅ 0,12215 ⋅ (1 − 0,122)108 ⋅ 0,15717 ⋅ (1 − 0,157) 91 .
Da die Maximierung eines solchen Produktes aus Potenzen sehr unhandlich ist, betrachtet
man den natürlichen Logarithmus der Likelihood-Funktion, der an der gleichen Stelle wie L
sein Maximum hat:
ln L = 42 ⋅ ln(0,255) + 123 ⋅ ln(1 − 0,255) + 15 ⋅ ln(0,122) + 108 ⋅ ln(1 − 0,122) + 17 ⋅ ln(0,157) + 91 ⋅ ln(1 − 0,157)
Wenn man diese Formel ausrechnet ergibt sich lnL=-186,2 – genau der Wert, der auch in der
obigen logistischen Regression ausgedruckt ist. Würde irgendwelche anderen Werte für die
drei Abgangswahrscheinlichkeiten einsetzen, ergäben sich in allen Fällen ein niedrigerer Wert
der Log-Likelihoodfunktion, was darauf hinweist, dass die drei Abgangswahrscheinlichkeiten
0,255, 0,122 und 0,157 (bzw. die logistischen Regressionskoeffizienten) die MaximumLikelihood-Schätzer sind.
6
Das Maximum-Likelihood-Prinzip kann man sich auch noch einmal an einem einfacheren
Regressionsmodell überlegen, das für alle Zeitpunkte die gleiche Abgangsrate unterstellt:
⎛ λ(t i ) ⎞
⎟⎟ = δ 1 .
ln⎜⎜
⎝ 1 − λ(t i ) ⎠
Hier können wir den Maximum-Likelihood-Schätzer auch selber durch Probieren bestimmen.
Es geht nur darum, den Wert für δ 1 zu finden, der folgende Gleichung maximiert:
ln L = 42 ⋅ ln(δ 1 ) + 123 ⋅ ln(1 − δ 1 ) + 15 ⋅ ln(δ 1 ) + 108 ⋅ ln(1 − δ 1 ) + 17 ⋅ ln(δ 1 ) + 91 ⋅ ln(1 − δ 1 )
= 74 ⋅ ln(δ 1 ) + 322 ⋅ ln(1 − δ 1 )
Ein bisschen Probieren zeigt, dass δˆ1 = 0,187 einen Wert von lnL=-190,7 liefert, der durch
keinen anderen δˆ − Wert überschritten wird (siehe auch die folgende Abbildung, in der
1
0,187 rot markiert ist).
. dis 74*ln(.187) + 322*ln(1-.187)
-190.73364
. dis 74*ln(.180) + 322*ln(1-.180)
-190.79629
. dis 74*ln(.190) + 322*ln(1-.190)
-190.74628
-800
Log-Likelihood
-600
-400
-200
. graph twoway function y=74*ln(x) + 322*ln(1-x), range(0.01 0.9) xline(0.187)
> ytitle("Log-Likelihood") xtitle("Abgangswahrscheinlichkeit")
0
.2
.4
.6
Abgangswahrscheinlichkeit
.8
1
Das gleiche Schätzergebnis liefert die Regressionsprozedur von Stata:
. logit austritt
7
Logistic regression
Log likelihood = -190.73361
Number of obs
LR chi2(0)
Prob > chi2
Pseudo R2
=
=
=
=
396
-0.00
.
-0.0000
-----------------------------------------------------------------------------austritt |
Coef.
Std. Err.
z
P>|z|
[95% Conf. Interval]
-------------+---------------------------------------------------------------_cons | -1.470486
.1289151
-11.41
0.000
-1.723155
-1.217817
-----------------------------------------------------------------------------. dis exp(_b[_cons]) / (1 + exp(_b[_cons]))
.18686869
Allerdings liefert das Modell eine signifikant schlechtere Erklärung als das vorherige, wie
man anhand eines Likelihood-Verhältnistest leicht nachprüfen kann:
LR = 2 ⋅ ([− ln( Lr )] − [− ln( Lur )]) = 2 ⋅ ([− (−190 ,73361)] − [− (−186.22528)]) = 9,02
Bei zwei Freiheitsgraden ist dieser Testwert hochgradig signifikant. Testverteilung ist die
Chi-Quadrat-Verteilung. Der p-Wert beträgt laut Stata:
. dis chi2tail(2, 2*(190.73361-186.22528))
.01101684
8
Herunterladen