3 Deskriptive Statistik

In der vorherigen Sitzungen hatten wir gesehen, wie wir Datensätze importieren und damit arbeiten. In dieser Session werden wir sehen, wie wir uns mit Tabellen einen Überblick über die Informationen in einem Datensatz verschaffen können. Wir werden auch in dieser Session mit dem Allbus 2018 arbeiten. Zunächst müssen wir dazu die Daten wieder einlesen:

cd ("...") // wo liegt der Datensatz?
use "Allbus2018.dta"

3.1 Kategoriale Merkmale mit tabulate beschreiben

Ganz nebenbei haben wir in Kapitel 2 bereits die Häufigkeitstabellen kennengelernt, beispielsweise können wir mit tabulate die Ausprägungen der Variable xr20 zur Internetnutzung auszählen:

tabulate xr20
WIE HAEUFIG NUTZEN |
 SIE DAS INTERNET? |      Freq.     Percent        Cum.
-------------------+-----------------------------------
       TNZ: FILTER |        645       18.55       18.55
      KEINE ANGABE |          6        0.17       18.72
       WEISS NICHT |          2        0.06       18.78
 MEHRMALS TAEGLICH |      1,885       54.21       72.99
   EINMAL TAEGLICH |        499       14.35       87.35
MEHRMALS I.D.WOCHE |        290        8.34       95.69
 ETWA 1X PRO WOCHE |         72        2.07       97.76
          SELTENER |         74        2.13       99.88
               NIE |          4        0.12      100.00
-------------------+-----------------------------------
             Total |      3,477      100.00

Wir bekommen hier die absoluten sowie relativen Häufigkeiten angezeigt. In der ersten Spalte werden die verschiedenen Ausprägungen aufgelistet, in der zweiten Spalte stehen dann die Häufigkeit der jeweiligen Ausprägung, in der dritten Spalte finden wir die relativen Häufigkeiten und in der vierten Spalte finden wir die kumulierten relativen Häufigkeiten. Da auch für diese Variable Labels (mehr dazu hier) vergeben wurden, sehen wir sofort, für welche inhaltlichen Kategorien die Zahlencodes jeweils stehen. Bspw. steht 1 dafür, dass der*die Befragte mehrmals täglich das Internet nutzt. Möchten wir die dahinterstehenden Zahlencodes sehen, müssen wir die Option ,nol verwenden:

tabulate xr20,nol
WIE HAEUFIG |
 NUTZEN SIE |
        DAS |
  INTERNET? |      Freq.     Percent        Cum.
------------+-----------------------------------
        -10 |        645       18.55       18.55
         -9 |          6        0.17       18.72
         -8 |          2        0.06       18.78
          1 |      1,885       54.21       72.99
          2 |        499       14.35       87.35
          3 |        290        8.34       95.69
          4 |         72        2.07       97.76
          5 |         74        2.13       99.88
          6 |          4        0.12      100.00
------------+-----------------------------------
      Total |      3,477      100.00

1885 Befragte nutzen das Internet also mehrmals täglich, 499 Befragte einmal am Tag. Außerdem enthält der Datensatz 4 Befragte, die das Internet nicht nutzen.

Aus dem Codebuch (oder mit labelbook) erfahren wir, dass -10,-9,-8 für TNZ: FILTER,KEINE ANGABE,WEISS NICHT. Wie in Session 2 gezeigt, können wir mit mvdecode diese Ausprägungen auf . setzen und Stata so mitteilen, dass es sich um fehlende Werte handelt. Dazu müssen wir in ,mv() die entsprechenden Zahlencodes angeben:Details im Codebuch):

mvdecode xr20, mv(-10 -9 -8)
mvdecode xr20, mv(-10/-8) // macht das gleiche
        xr20: 653 missing values generated

Wenn wir jetzt tabulate aufrufen, dann bekommen wir nur noch die gültigen Fälle angezeigt:

tabulate xr20
WIE HAEUFIG NUTZEN |
 SIE DAS INTERNET? |      Freq.     Percent        Cum.
-------------------+-----------------------------------
 MEHRMALS TAEGLICH |      1,885       66.75       66.75
   EINMAL TAEGLICH |        499       17.67       84.42
MEHRMALS I.D.WOCHE |        290       10.27       94.69
 ETWA 1X PRO WOCHE |         72        2.55       97.24
          SELTENER |         74        2.62       99.86
               NIE |          4        0.14      100.00
-------------------+-----------------------------------
             Total |      2,824      100.00

Jetzt macht aus die Interpretation der kumulierten relativen Häufigkeiten inhaltlich Sinn. So erfahren wir aus der vierten Spalte, dass bspw. 97.24% aller Befragten mind. einmal pro Woche das Internet nutzen. Außerdem erfahren wir aus der dritten Spalte erfahren, dass der Anteil der Nicht-Nutzer*innen 0.14% der Befragten (mit einer gültigen Angabe) beträgt.

Wir können aber mit der Option m die Auszählung von . explizit anfordern:

tabulate xr20,m
WIE HAEUFIG NUTZEN |
 SIE DAS INTERNET? |      Freq.     Percent        Cum.
-------------------+-----------------------------------
 MEHRMALS TAEGLICH |      1,885       54.21       54.21
   EINMAL TAEGLICH |        499       14.35       68.56
MEHRMALS I.D.WOCHE |        290        8.34       76.91
 ETWA 1X PRO WOCHE |         72        2.07       78.98
          SELTENER |         74        2.13       81.10
               NIE |          4        0.12       81.22
                 . |        653       18.78      100.00
-------------------+-----------------------------------
             Total |      3,477      100.00

3.1.1 Zwei Variablen, eine Tabelle: Kontingenztabellen

Neben der einfachen Verteilung der Variable interessiert uns aber meistens, ob sich die Verteilung zwischen Gruppen unterscheidet. Hierfür sind Kontingenztabellen ein wichtiges und sehr häuifg verwendetes Werkzeug.

Aus Kontingenztabellen erfahren wir, wie häufig Merkmalskombinationen auftreten. Auch für Kontingenztabellen können wir ebenfalls tabulate verwenden. Zum Beispiel können wir uns eine Tabelle anzeigen lassen, die uns die Internetnutzung getrennt nach Geschlechtern zeigt. Da die Variable sex keine Missings hat, können wir direkt loslegen.

Für die Kontingenztabelle geben wir dann nach tabulate die beiden Variablen an, welche die Zeilen und Spalten definieren:

tabulate xr20 sex
                   |      GESCHLECHT,
WIE HAEUFIG NUTZEN |      BEFRAGTE(R)
 SIE DAS INTERNET? |      MANN       FRAU |     Total
-------------------+----------------------+----------
 MEHRMALS TAEGLICH |     1,012        873 |     1,885 
   EINMAL TAEGLICH |       251        248 |       499 
MEHRMALS I.D.WOCHE |       137        153 |       290 
 ETWA 1X PRO WOCHE |        36         36 |        72 
          SELTENER |        30         44 |        74 
               NIE |         2          2 |         4 
-------------------+----------------------+----------
             Total |     1,468      1,356 |     2,824 

Wir erkennen aus dieser Tabelle beispielsweise, dass 251 Männer und 248 Frauen einmal täglich das Internet nutzen.

3.1.2 In Prozent: Relative Häufigkeiten

Auch hier können wir uns die relativen Häufigkeiten anzeigen lassen, indem wir die Option ,cell anwenden:

tabulate xr20 sex, cell
| Key             |
|-----------------|
|    frequency    |
| cell percentage |
+-----------------+

                   |      GESCHLECHT,
WIE HAEUFIG NUTZEN |      BEFRAGTE(R)
 SIE DAS INTERNET? |      MANN       FRAU |     Total
-------------------+----------------------+----------
 MEHRMALS TAEGLICH |     1,012        873 |     1,885 
                   |     35.84      30.91 |     66.75 
-------------------+----------------------+----------
   EINMAL TAEGLICH |       251        248 |       499 
                   |      8.89       8.78 |     17.67 
-------------------+----------------------+----------
MEHRMALS I.D.WOCHE |       137        153 |       290 
                   |      4.85       5.42 |     10.27 
-------------------+----------------------+----------
 ETWA 1X PRO WOCHE |        36         36 |        72 
                   |      1.27       1.27 |      2.55 
-------------------+----------------------+----------
          SELTENER |        30         44 |        74 
                   |      1.06       1.56 |      2.62 
-------------------+----------------------+----------
               NIE |         2          2 |         4 
                   |      0.07       0.07 |      0.14 
-------------------+----------------------+----------
             Total |     1,468      1,356 |     2,824 
                   |     51.98      48.02 |    100.00 

Um die Tabelle übersichtlich zu halten, können wir mit nofreq die absoluten Häufigkeiten ausblenden:

tabulate xr20 sex, cell nofreq
                   |      GESCHLECHT,
WIE HAEUFIG NUTZEN |      BEFRAGTE(R)
 SIE DAS INTERNET? |      MANN       FRAU |     Total
-------------------+----------------------+----------
 MEHRMALS TAEGLICH |     35.84      30.91 |     66.75 
   EINMAL TAEGLICH |      8.89       8.78 |     17.67 
MEHRMALS I.D.WOCHE |      4.85       5.42 |     10.27 
 ETWA 1X PRO WOCHE |      1.27       1.27 |      2.55 
          SELTENER |      1.06       1.56 |      2.62 
               NIE |      0.07       0.07 |      0.14 
-------------------+----------------------+----------
             Total |     51.98      48.02 |    100.00 

Die hier dargestellten relativen Häufigkeiten beziehen sich jeweils auf die Gesamtzahl der Befragten. Formal dargestellt wird also für die Kombination (xr20=4) und ledig (sex = 2) die Anzahl der 35-59 Jahre alten Befragten durch die Anzahl aller Befragten geteilt: \(\frac{\text{Anzahl 1x/Woche Internet nutzender Frauen}}{\text{Gesamtzahl der Befragten}}\) - Wir können also aus dieser Tabelle ablesen, dass 1,27% der Befragten weiblich und wöchentliche Internet-Userinnen sind.

Für den Vergleich zwischen Gruppen sind aber in der Regel die bedingten relativen Häufigkeiten noch informativer. Hier kommt es jetzt darauf an, welche der beiden Variablen die Gruppen definieren sollen und welche Variable wir untersuchen möchten:

3.1.3 pro Gruppe 1: Zeilenprozente

Wir können diese Tabelle auch mit Zeilenprozenten anzeigen lassen, indem wir die Option row verwenden:

tabulate xr20 sex, row nofreq
                   |      GESCHLECHT,
WIE HAEUFIG NUTZEN |      BEFRAGTE(R)
 SIE DAS INTERNET? |      MANN       FRAU |     Total
-------------------+----------------------+----------
 MEHRMALS TAEGLICH |     53.69      46.31 |    100.00 
   EINMAL TAEGLICH |     50.30      49.70 |    100.00 
MEHRMALS I.D.WOCHE |     47.24      52.76 |    100.00 
 ETWA 1X PRO WOCHE |     50.00      50.00 |    100.00 
          SELTENER |     40.54      59.46 |    100.00 
               NIE |     50.00      50.00 |    100.00 
-------------------+----------------------+----------
             Total |     51.98      48.02 |    100.00 

Achtung! Damit ändert sich jeweils die Interpretation der Tabelle! Wir ändern durch row die Bezugsgröße oder formal ausgedrückt den Nenner:

Für die Zeilenprozente werden die Werte in Bezug zu den Zeilensummen gesetzt. Also wird die Anzahl der ledigen 35-59 Jährigen ins Verhältnis zur Gesamtzahl der 1x/Woche Internet nutzenden Befragten gesetzt: \(\frac{\text{Anzahl 1x/Woche Internet nutzender Frauen}}{\text{Anzahl 1x/Woche Internet nutzender Befragter}}\)

Interpretation: 50.00% der 1x/Woche Internet nutzenden Befragten sind Frauen.

3.1.4 pro Gruppe 2: Spaltenprozente

Wir können diese Tabelle auch mit Spaltenprozenten anzeigen lassen, indem wir die Option col verwenden:

tabulate xr20 sex, col nofreq
                   |      GESCHLECHT,
WIE HAEUFIG NUTZEN |      BEFRAGTE(R)
 SIE DAS INTERNET? |      MANN       FRAU |     Total
-------------------+----------------------+----------
 MEHRMALS TAEGLICH |     68.94      64.38 |     66.75 
   EINMAL TAEGLICH |     17.10      18.29 |     17.67 
MEHRMALS I.D.WOCHE |      9.33      11.28 |     10.27 
 ETWA 1X PRO WOCHE |      2.45       2.65 |      2.55 
          SELTENER |      2.04       3.24 |      2.62 
               NIE |      0.14       0.15 |      0.14 
-------------------+----------------------+----------
             Total |    100.00     100.00 |    100.00 

Für die Spaltenprozente werden die Werte in Bezug zu den Spaltensummen gesetzt. Also wird die Anzahl der 1x/Woche Internet nutzenden Frauen ins Verhältnis zur Zahl der befragten Frauen gesetzt: \(\frac{\text{Anzahl 1x/Woche Internet nutzender Frauen}}{\text{Gesamtzahl der befragten Frauen}}\) - Interpretation: “2,65% der befragten Frauen nutzen einmal pro Woche das Internet”


Übung1


3.2 Metrische Variablen beschreiben

Das bisherige Beispiel bezog sich auf kategoriale Variablen (mit einer begrenzten Anzahl an Ausprägungen). Für ein metrisches Merkmal, wie zum Beispiel das Alter macht eine Häufigkeitstabelle wenig Sinn, da das Alter sehr viele Ausprägungen hat und eine Tabelle unübersichtlich wäre - hier nur als Beispiel die ersten 25 Ausprägungen (es gibt insgesamt 77!):

tab age if age < 43
           ALTER: |
      BEFRAGTE(R) |      Freq.     Percent        Cum.
------------------+-----------------------------------
NICHT GENERIERBAR |          5        0.44        0.44
               18 |         26        2.31        2.75
               19 |         37        3.29        6.04
               20 |         34        3.02        9.06
               21 |         34        3.02       12.08
               22 |         33        2.93       15.01
               23 |         33        2.93       17.94
               24 |         31        2.75       20.69
               25 |         46        4.09       24.78
               26 |         43        3.82       28.60
               27 |         51        4.53       33.13
               28 |         52        4.62       37.74
               29 |         55        4.88       42.63
               30 |         39        3.46       46.09
               31 |         54        4.80       50.89
               32 |         50        4.44       55.33
               33 |         49        4.35       59.68
               34 |         51        4.53       64.21
               35 |         64        5.68       69.89
               36 |         58        5.15       75.04
               37 |         54        4.80       79.84
               38 |         51        4.53       84.37
               39 |         41        3.64       88.01
               40 |         51        4.53       92.54
               41 |         41        3.64       96.18
               42 |         43        3.82      100.00
------------------+-----------------------------------
            Total |      1,126      100.00

Um eine Häufigkeitstabelle zu erstellen, müssen wir bei metrischen Merkmalen Klassen bilden. So könnten wir das Alter in Lebensjahrzehnte unterteilen. Zuvor müssen wir wieder die fehlenden Angaben1 überschreiben:

mvdecode age, mv(-32)
         age: 5 missing values generated

Um die Klassen zu bilden, nutzen wir egen zusammen mit der Funktion cut(). In cut geben wir die zu unterteilende Variable an, außerdem legen wir in at() die Klassengrenzen fest.2 Die so genere Werte legen wir in einer neuen Variable age_cat ab:

egen age_cat = cut(age), at( 18 35 60 100 )

Auch hier gilt wieder: anschließend sollten wir mit browse age age_cat kontrollieren, ob das (richtig) funktioniert hat. Für die neue, klassierte Variable können wir dann wieder mit tabulate eine Häufigkeitstabelle anfordern:

tabulate age_cat
    age_cat |      Freq.     Percent        Cum.
------------+-----------------------------------
         18 |        718       20.68       20.68
         35 |      1,527       43.98       64.66
         60 |      1,227       35.34      100.00
------------+-----------------------------------
      Total |      3,472      100.00

Stata verwendet für die Klassen jeweils die untere Klassengrenze. Wir haben also 718 18-34-jährige und 1527 35-59-jährige Befragte in unserem Datensatz.

\(\Rightarrow\) Wie groß ist der Anteil der Befragten, die jünger als 60 Jahre sind? Wie groß ist der Anteil der Befragten, die 60 Jahre oder älter sind?3

Natürlich können wir die Werte in age_cat auch besser beschriften - mehr dazu im Anhang

3.2.1 summarize

Allerdings können metrische Variablen auch direkt Hilfe von Lage- und Konzentrationsmaßen beschrieben werden.

Klassische Lagemaße zur Beschreibung von metrischen Variablen sind bspw. Minimum und Maximum, das arithm. Mittel sowie der Median und Quantile. Auch hier haben wir gestern bereits den wichtigsten Befehl kennen gelernt: summarize gibt uns einen ersten Überblick zur Verteilung einer metrischen Variable:

summarize age
    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      3472    51.67713    17.64222         18         95

Wir erfahren also, dass die Befragten im Mittel 51.5568 Jahre alt sind, die jüngsten Befragten 18 Jahre alt und ältesten Befragten sind 95 Jahre alt.

Mit der Option ,detail bekommen wir eine deutlich umfangreichere Auskunft:

summarize age, detail
                     ALTER: BEFRAGTE(R)
-------------------------------------------------------------
      Percentiles      Smallest
 1%           19             18
 5%           23             18
10%           27             18       Obs                3472
25%           37             18       Sum of Wgt.        3472

50%           53                      Mean           51.67713
                        Largest       Std. Dev.      17.64222
75%           65             92
90%           76             94       Variance       311.2478
95%           80             94       Skewness      -.0082437
99%           88             95       Kurtosis       2.128251

Hier wird eine ganze Menge auf einmal angezeigt - die Kennzahlen sind dabei in drei Spalten organisiert:

  • Aus der ersten Spalte erfahren wir die Quantile (Percentiles). Ein Quantil einer Verteilung trennt die Daten so in zwei Teile, dass x% der Daten darunter und 100-x% darüber liegen. Hier können wir zB ablesen, dass 25% der Befragten 37 Jahre oder jünger sind. 95% der Befragten sind <= 80 Jahre alt. Dementsprechend sind 5% der Befragten 80 Jahre oder älter. Die 50%-Grenze für das Alter (der Median) liegt bei 53 Jahren.

  • die zweite Spalte gibt uns jeweils die 4 kleinsten und größten Werte für das Alter aus: die 4 kleinsten Alterswerte sind jeweils 18, die größten Werte sind 92,94,94 und 95.

  • in der dritten Spalte bekommen wir eine Reihe weiterer Informationen:

    • die Zahl der Beobachtungen (Obs) und das arithmetische Mittel (Mean)
    • die Streuung anhand der Standardabweichung (Std. Dev.) und Varianz (Variance) mehr dazu
    • sowie die Schiefe (Skewness) und Wölbung (Kurtosis) mehr dazu

3.2.2 tabstat

Häufig möchten wir aber vielleicht nur eine bestimmte Information. Dafür ist tabstat eine gute Lösung. Mit tabstat können wir eine ganze Reihe statistischer Kennzahlen für metrische/kontinuierliche Merkmale berechnen. Die Syntax hat dabei das folgende Format: tabstat age, s(*kennzahl*)

Hier eine Übersicht der Kennzahlen:
Option Kennzahl Kommentar
mean arithm. Mittel
median Median 50% Grenze
count Anzahl der Beobachtungen ohne Missings
n entspricht count
sum Summe der Ausprägungen
max Maximum
min Minimum
range Spannweite = max - min Wie groß ist der Abstand zwischen kleinstem und größtem Wert?
variance Varianz siehe hier
sd Standardabweichung siehe hier
cv Variationskoefficient (sd/mean) siehe hier
skewness Schiefe siehe hier
kurtosis Wölbung siehe hier
pX X. Perzentil (5,10,25,50,75,90,95,99) zb. p5 \(\rightarrow\) wie hoch ist die Grenze, unterhalb welcher 5% (oberhalb welcher 95%) der Beobachtungen liegen?
iqr Interquartilsdistanz = p75 - p25 Wie groß ist der Abstand zwischen der 25% und 75%-Grenze?
q Entspricht p25 p50 p75

Hier ein Bespielbefehl für die Berechnung des arith. Mittels, des Medians, der Varianz und des Varianzkoeffizienten mit tabstat:

tabstat age, s(mean median var cv)
    variable |      mean       p50  variance        cv
-------------+----------------------------------------
         age |  51.67713        53  311.2478  .3413931
------------------------------------------------------

Allerdings lassen sich mit tabstat nicht beliebige Quantil-Grenzen (nur für 5,10,25,50,75,90,95,99) berechnen, dafür können wir centile nutzen:

centile age, centile(35)
                                                       -- Binom. Interp. --
    Variable |     Obs  Percentile      Centile        [95% Conf. Interval]
-------------+-------------------------------------------------------------
         age |    3472         35            44              43          45

Aus den Angaben unter Centile erfahren wir, dass 35% der Befragten im Datensatz sind 44 Jahre alt oder jünger sind. Dementsprechend sind 65% der Befragten 44 Jahre oder älter.

3.2.3 Kennzahlen vergleichen mit tabstat

Richtig spannend sind diese Kennzahlen auch wieder erst im Vergleich zwischen Gruppen. Hierfür steht uns die by()-Option von tabstat zur Verfügung. Bspw. können wir die Altersangaben aus den alten (eastwest=1) und neuen Bundesländern (eastwest=2) vergleichen, indem wir in tabstat die Option by(eastwest) verwenden:

tabstat age, s(mean median var cv) by(eastwest)
Summary for variables: age
     by categories of: eastwest (ERHEBUNGSGEBIET (WOHNGEBIET): WEST - OST)

        eastwest |      mean       p50  variance        cv
-----------------+----------------------------------------
ALTE BUNDESLAEND |  50.66093        51  318.9731  .3525363
NEUE BUNDESLAEND |  53.90083        55  287.4093  .3145249
-----------------+----------------------------------------
           Total |  51.67713        53  311.2478  .3413931
----------------------------------------------------------

Wir sehen hier also, dass sowohl das arith. Mittel als auch der Median des Befragtenalters in den alten Bundesländern höher ist als in den neuen Bundesländern. Außerdem ist auch die Streuung in den alten Bundesländern höher ist als in den neuen Bundesländern.

Eine andere Option ist es, auf den if-Befehl zurückzugreifen - siehe hier

3.2.4 Streuungsmaße: Varianz, Standardabweichung, Variationskoeffizient

Streuungsmaße helfen uns zu beurteilen, wie groß die Unterschiede in unseren Daten sind. Je größer das Streuungsmaß, desto mehr Unterschiede gibt es zwischen den beobachteten Werten.

Die häufigste Kennzahl zur Beschreibung von Streuung ist aber die Varianz. Die Varianz ist definiert als die durchschnittliche quadrierte Abweichung vom arith. Mittel: \[var(x) = \frac{\sum_{i=1}^{n} (x_{i}-\bar{x})^2}{n}\]
Was bedeutet diese Formel?

Wir können die Varianz mit tabstat , s(var) berechnen:

tabstat age, s(var)
    variable |  variance
-------------+----------
         age |  311.2478
------------------------

In unseren Datensatz beträgt der Varianz des Alters also 311,2478 Jahre². Auf der Varianz beruhen noch zwei weitere Streuungsmaße. Die Standardabweichung entspricht der Wurzel der Varianz und hat somit die gleiche Messeinheit wie die Variable (hier als Jahre):

dis sqrt(311.2478)
17.642216

Wir können die Standardabweichung auch mit tabstat , s(sd) berechnen:

tabstat age, s(sd)
    variable |        sd
-------------+----------
         age |  17.64222
------------------------

Der Variationskoeffizient entspricht sd/mean und dient dem Vergleich verschiedener Streuungen relativ zum jeweiligen Mittelwert, tabstat , s(cv) übernimmt die Berechnung für uns:

tabstat age, s(cv)
    variable |        cv
-------------+----------
         age |  .3413931
------------------------

Somit können wir bspw. mit Hilfe von ,by(sex) die Streuung des Alters bei männlichen und weiblichen Befragten vergleichen:

tabstat age, s(cv) by(sex)
Summary for variables: age
     by categories of: sex (GESCHLECHT, BEFRAGTE(R))

   sex |        cv
-------+----------
  MANN |  .3482757
  FRAU |  .3342309
-------+----------
 Total |  .3413931
------------------

\(\Rightarrow\) Für welches Geschlecht ist die Streuung also größer?4

3.2.5 Gini-Koeffizient

Zur Beschreibung der (Ungleich-)Verteilung von metrischen Variablen, insbesondere bei Einkommens- und Vermögensdaten wird häufig der Gini-Koeffizient verwendet. Der Gini-Koeffizient beruht auf der Fläche zwischen der Lorenzkurve und der Gleichverteilung. Auf der x-Achse werden die kumulierten Perzentile der Befragten abgetragen, auf der y-Achse die Perzentile des HH-Einkommens:

Den Gini-Koeffizienten können wir mit fastgini berechnen, allerdings müssen wir diesen Befehl erst (einmalig) installieren:

ssc install fastgini
fastgini di05
Gini coefficient = 0.3194886

Leider funktioniert bys eastwest: bei fastgini nicht, wir müssen hier auf die Variante mit if zurückgreifen:

fastgini di05 if eastwest == 1
Gini coefficient = 0.3148267
fastgini di05 if eastwest == 2
Gini coefficient = 0.3101288

\(\Rightarrow\) Wo sind die Haushaltseinkommen also ungleicher verteilt?5

Anmerkung: hier wurden die Missings in di05 mit mvdecode di05, mv(-50 -32 -7) ausgeschlossen.

3.3 Übungen 3

3.3.1 Übung 3-1

  1. Wir interessieren uns für die Variable gkpol.

Laden Sie den Allbusdatensatz für 2018 Allbus2018.dta in Stata:

cd "..."  // wo liegt der Datensatz?
use Allbus2018.dta
  • Lassen Sie sich eine Tabelle für gkpol anzeigen. Welche ist die häufigste Ausprägung?
    • Hat die Variable fehlende Werte, die Sie ausschließen sollten? Falls ja, ersetzen Sie diese Werte mit mvdecode. Tipp: Verwenden Sie labelbook oder sehen Sie im Codebuch nach.
    • Lassen Sie sich die Tabelle erneut ausgeben. Sind die fehlenden Angaben noch in der Tabelle?
    • Lassen Sie sich die Tabelle inklusive der Missings ausgeben.
    • Beantworten Sie die folgenden Fragen auf Basis der Tabelle ohne Missings:
    • Welcher Anteil der Befragten leben in einem Ort mit höchstens 49.999 Einwohnern?
    • Wie groß ist der Anteil der Befragten, die in einem Ort mit mindestens 100.000 Einwohnern leben?
    • Erstellen Sie nun eine Kontigenztabelle mit gkpol und sex (Anm.: sex hat keine Missings). Welche Merkmalskombination ist die häufigste?
    • Welcher Anteil der Befragten aus Städten mit über 500.000 Einwohnern ist weiblich?
    • Wie hoch ist der Anteil der Männer an Befragten, die in Orten mit unter 2.000 Einwohnern leben?
    • Welcher Anteil der Frauen lebt in Städten mit 50.000 bis 99.999 Einwohnern?
    • Wie hoch ist der Anteil der Bewohner von Städten mit 20.000 bis 49.999 Einwohnern an allen befragten Männern?

3.3.2 Übung 3-2

  1. Laden Sie den Allbus 2018 (Allbus2018.dta). Vergleichen Sie die Einkommensangaben (inc) von Frauen und Männern!
    • Betrachten Sie die HH-Einkommensverteilungen mit summarize (Variable inc)
    • Denken Sie daran, die negativen Werte für inc mit . zu überschreiben! (Entweder mit replace oder mvdecode, sehen Sie mit labelbook oder im Codebuch nach)
    • Berechnen Sie das arithm. Mittel, den Median, das 25%- und 75%-Quartil sowie die Varianz und den Variationskoeffizienten zunächst für alle Fälle - was sagen Ihnen die Werte jeweils?
    • Berechnen Sie nun alle Werte getrennt für Männer und Frauen (Variable sex) - welche Werte erhalten Sie jeweils für die Kennzahlen?
    • Vergleichen Sie die Werte!
    • Berechnen Sie den Gini-Koeffizenten! (Denken Sie daran, vor der ersten Verwendung fastgini zu installieren - siehe hier)
    • Vergleichen Sie auch hier jeweils die Werte für Männer und Frauen!

3.4 Weitere Übungen 3

Forschungsfrage: Vergleichen Sie die Haushaltseinkommensverteilung in Ost und West!

  1. Laden Sie den kumulierten Allbusdatensatz (Allbus_1980-2018.dta).
    • Fokussieren Sie zunächst auf das Befragungsjahr 1994 mit Hilfe von keep if year == 1994 oder drop if year != 1994.
    • Betrachten Sie die HH-Einkommensverteilungen (Variable di05)
    • Denken Sie daran, die negativen Werte für di05 mit . zu überschreiben! (Entweder mit replace oder mvdecode, sehen Sie mit labelbook oder im Codebuch nach)
    • Berechnen Sie das arithm. Mittel, den Median, das 25%- und 75%-Quartil sowie die Varianz zunächst für alle Fälle aus dem Jahr 1994 - was sagen Ihnen die Werte jeweils?
    • Berechnen Sie nun alle Werte getrennt nach Ost und West (Variable eastwest) - welche Werte erhalten Sie jeweils für die Kennzahlen in Ost und West?
    • Berechnen Sie den Gini-Koeffizenten! (Denken Sie daran, vor der ersten Verwendung fastgini zu installieren - siehe hier)
    • Vergleichen Sie auch hier jeweils die Werte für die neuen und alten Bundesländer!
  2. Laden Sie den Allbus 2018 (Allbus2018.dta). Erstellen Sie eine Kontingenztabelle für sex und educ. Welche Merkmalskombination ist die häufigste? Denken Sie daran, fehlende Werte auszuschließen.
    • Erstellen Sie für die folgenden Fragen jeweils die passende Variante der Kontingenztabelle mit relativen Häufigkeiten als Zeilen- oder Spaltenprozenten.
    • Welcher Anteil der Befragten mit Fachhochschulreife ist männlich?
    • Wie hoch ist der Anteil der Frauen an Befragten mit Hauptschulabschluss?
    • Welcher Anteil der Frauen hat Abitur (die allgemeine Hochschulreife)?
    • Wie hoch ist der Anteil der Realschulabsolventen an allen befragten Männern?
  3. Laden Sie den kumulierten Allbusdatensatz (Allbus_1980-2018.dta) in Stata und analysieren Sie, wie sich die Anteile der geschiedenen Befragten über die Befragungsjahre verändert haben!
    • Das Befragungsjahr finden Sie in der Variable year, mstat ist die Variable für den Familienstand.
    • Überschreiben Sie die Missings für mstat.
    • In welchem Jahr gab es den höchsten Anteil an geschiedenen Befragten? Sie können so eine Variable generieren, welche 1 annimt wenn mstat = 4 (geschieden) und 0 für alle andere Familienstände: gen divorce = (mstat == 4)
    • Aus welchem Jahr stammen die Angaben der meisten geschiedenen Befragten?
    • In welchem Jahr ist der Anteil der geschiedenen Befragten am höchsten?

3.5 Anhang Kap 3

3.5.1 labels vergeben

Wir können natürlich auch Werte in selbst erstellten Variablen, wie zB age_cat, beschriften. Dazu definieren wir ein Wertelabel an. Dazu verwenden wir label define, gefolgt von einem Objektnamen für dieses Label (hier age_cat_lab) und dann jeweils die Ausprägungen zusammen mit dem entsprechenden label in "". Dieses Label-Objekt wenden wir dann mit label values auf die Variable age_cat an:

label define age_cat_lab 18 "18-34 Jahre" 35 "35-29 Jahre" 60 "über 60 Jahre" 
label values age_cat age_cat_lab
tab age_cat
      age_cat |      Freq.     Percent        Cum.
--------------+-----------------------------------
  18-34 Jahre |        718       20.68       20.68
  35-29 Jahre |      1,527       43.98       64.66
über 60 Jahre |      1,227       35.34      100.00
--------------+-----------------------------------
        Total |      3,472      100.00

3.5.2 Varianz erklärt

Die häufigste Kennzahl zur Beschreibung von Streuung ist aber die Varianz. Die Varianz ist definiert als die durchschnittliche quadrierte Abweichung vom arith. Mittel: \[var(x) = \frac{\sum_{i=1}^{n} (x_{i}-\bar{x})^2}{n}\]

Schauen wir erst in den Zähler des Bruchs: \((x_{i}-\bar{x})^2\) Es geht also um die Abstände der einzelnen Datenpunkte (\(x_{i}\)) zum arithmetischen Mittel (\(\bar{x}\)) - mathematisch die Differenz zwischen den einzelnen Datenpunkten \(x_{i}-\bar{x}\) - hier eingezeichnet als gestrichelte Linien: Für Punkte, die über dem arith. Mittel liegen, erhalten wir für die Differenz einen positiven Wert (wir ziehen ja jeweils das arith. Mittel vom Wert für den Datenpunkt ab). Für Punkte mit Werten, die kleiner als das arith. Mittel sind, erhalten wir einen negativen Wert.
Würden wir die Abstände (gestrichelten Linien) einfach aufsummieren, erhielten wir als Ergebnis immer Null! Das arithmetische Mittel liegt ja per Definition immer genau “in der Mitte”: die Abstände nach oben sind in der Summe genauso groß wie die Abstände nach unten. Daher wird zunächst jeder Abstand quadriert: \((\bar{x} - x_{i})^2\)
Der Rest der Formel gibt dann an, dass alle quadrierten Differenzen aufsummiert (\(\sum_{i=1}^{n}\)) und dann durch die Anzahl der Beobachtungen geteilt werden (\(\frac{}{n}\))- zusammengefasst hier nochmal die Formel: \[var(x) = \frac{\sum_{i=1}^{n} (x_{i}-\bar{x})^2}{n}\]

Zurück zu Streuungsmaße

3.5.3 Schiefe & Wölbung

Die Schiefe (skewness) ist ein Maß für die Asymmetrie einer Verteilung. Bei einer symmetrischen Verteilung beträgt die Schiefe 0. Ein negativer Wert für die Schiefe deutet darauf hin, dass Median > Mean und Verteilung wird als links-schief/rechts-steil bezeichnet. Bei einem positiven Wert der Schiefe ist Median < Mean und die Verteilung ist rechts-schief/links-steil.

Die Wölbung (Kurtosis) ist ein Maß für die Steilheit bzw. “Spitzigkeit” einer Verteilung. Je kleiner der Wert der Kurtosis, desto desto flacher die Verteilung. Bspw. hat die Normalverteilung hat eine Kurtosis von 3.

In Stata bekommen wir die Schiefe und Wölbung einer Verteilung mit summary varname,detail oder mit tabstat varname, s(skewness kurtosis) angezeigt.

3.5.4 Kombination von summarize mit dem by-Präfix

Bspw. können wir die Altersangaben aus den alten (eastwest=1) und neuen Bundesländern (eastwest=2) vergleichen, indem wir das Befehls-Präfix bys varX: verwenden. bys steht für “by sort” und damit sagen wir Stata, dass die folgende Berechnung getrennt nach den Werten für varX ausgeführt werden soll. Wenn wir also summarize für beide Ausprägungen von eastwest berechnen möchten, gehen wir wir folgt vor:

bys eastwest: summarize age 
-> eastwest = ALTE BUNDESL

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      2383    50.66093    17.85982         18         95

--------------------------------------------------------------------------------
-> eastwest = NEUE BUNDESL

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      1089    53.90083    16.95315         18         94

In den neuen Bundesländern sind die Befragten im Schnitt also um 53.90083 - 50.66093 = 3.2399 Jahre älter.

3.5.5 Kennzahlvergleiche mit if

Neben der Variante bys var: können wir auch mit Hilfe der if-Option Kennzahlen miteinander vergleichen:

summarize age if eastwest == 1
summarize age if eastwest == 2
    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      2383    50.66093    17.85982         18         95

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      1089    53.90083    16.95315         18         94

Das führt natürlich im Kern zum gleichen Ergebnis wie die oben gezeigte Variante:

bys eastwest: summarize age 
-> eastwest = ALTE BUNDESL

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      2383    50.66093    17.85982         18         95

--------------------------------------------------------------------------------
-> eastwest = NEUE BUNDESL

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         age |      1089    53.90083    16.95315         18         94

3.5.6 Kennzahlvergleich mit tabulate und der Option summarize()

Wir können aber auch zwei Variablen für den Kennzahlenvergleich verwenden. Bspw. sind neben Ost-West-Vergleichen auch häufig Geschlechterunterschiede von Interesse. Stata stellt uns damit mit der summarise-Option eine einfache Möglichkeit zur Verfügung:

tab sex eastwest, summarize(age)
     Means, Standard Deviations and Frequencies of ALTER: BEFRAGTE(R)

GESCHLECHT |   ERHEBUNGSGEBIET
         , | (WOHNGEBIET): WEST
BEFRAGTE(R |        - OST
         ) | ALTE BUND  NEUE BUND |     Total
-----------+----------------------+----------
      MANN |   50.5982  53.232727 | 51.415914
           | 18.177659  17.167354 | 17.906913
           |      1222        550 |      1772
-----------+----------------------+----------
      FRAU |  50.72696   54.58256 | 51.949412
           | 17.526641  16.720148 | 17.363097
           |      1161        539 |      1700
-----------+----------------------+----------
     Total | 50.660932  53.900826 | 51.677131
           | 17.859819  16.953149 | 17.642216
           |      2383       1089 |      3472

Wir sehen hier, dass 1222 Männer aus den alten Bundesländern befragt wurden, die im Durchschnitt 50.5982 alt sind. Die Standardabweichung des Alters in dieser Gruppe beträgt 18.177659 Jahre. Außerdem wurden 539 Frauen aus den neuen Bundesländern befragt, die im arith. Mittel 54.58256 alt sind und deren Altersangaben eine Standardabweichung 16.720148 aufweisen.

Je nach Präferenz können wir eine der drei Kennzahlen (Anzahl der Beobachtungen, arith. Mittel und Standardabw.) ausblenden in dem wir die entsprechende Option verwenden:

  • nofreq Häufigkeiten ausblenden
  • nomeans arith. Mittel ausblenden
  • nostandard Standardabw. ausblenden

tab sex eastwest, summarize(age) nofreq würde uns also nur die arith. Mittel und Standardabweichungen ausgeben.


  1. Die Werte für fehlende Angaben finden wir Codebuch: auch hier ist -32 wieder ein Code für fehlende Werte.↩︎

  2. Für die Grenzen können wir auch eine sog. numlist wert1(schrittbreite)wert2 verwenden. Darin geben wir zunächst die untere Grenze, dann die Schrittbreite und abschließend die obere Grenze an. Zb könnten wir so 10er-Schritte festlegen: egen age_cat = cut(age), at( 10(10)100 )↩︎

  3. Aus der Spalte Cum. können wir ablesen, dass 64.66% der Befragten unter 60 Jahre alt sind. Dementsprechend sind 35.34% der Befragten 60 Jahre oder älter.↩︎

  4. Da der Variationskoeffizient für Männer mit 0.3482757 etwas größer ist als für Frauen (0.3342309), ist die Streuung bei den Männern etwas größer.↩︎

  5. Der etwas höhere Wert des Gini-Koeffizienten legt nahe, dass die Haushaltseinkommen in den alten Bundesländern (eastwest=1) etwas stärker ungleich verteilt als in den neuen Bundesländern (eastwest=2).↩︎