Das folgende Kapitel hat das Ziel, die Grundlagen der Arbeit mit Kreuztabellen als Analysewerkzeug der deskriptiven Statistik zu beschreiben.
Dafür werden zu Beginn einige der in Kapitel 3.4.1 erläuterten Grundlagen kurz wiederholt. Im zweiten Teil wird das Anwendungsbeispiel mit dem zu Grunde liegenden Gender-Pay-Gap-Datensatz beschrieben. Im dritten und abschließenden Teil wird eine Kreuztabelle in RStudio erstellt und interpretiert, sowie das Prinzip empirischer Unabhängigkeit zweier Merkmale nochmals ausführlicher als in Kapitel 3.4.2 erläutert. Ergänzend zu den Ausführungen im Lehrskript können das Kapitel 9 Bivariate Häufigkeitsverteilungen für statistische Hintergründe sowie die Kapitel 7 bis 9 im Online-Lehrbuch von Sauer für die Arbeit mit R gelesen werden.
Wie bereits in Kapitel 3.4.1 erwähnt, werden Kreuztabellen verwendet, um bivariate Verteilungen und Zusammenhänge zwischen zwei Variablen darzustellen. Ergänzend kann ein Chi²-Test sowie Cramers V eingesetzt werden, um die Stärke und Signifikanz des Zusammenhangs zu prüfen.
In Kapitel 3.4.1 wurde bereits hervorgehoben: Bei der Erstellung von Kreuztabellen ist darauf zu achten, dass die unabhängige Variable (X) als erklärende Variable in der Vorspalte (die 1. Spalte links) und die abhängige Variable (Y) in der Kopfzeile steht. Kreuztabellen können absolute, relative sowie bedingte Häufigkeiten enthalten. Um die entsprechenden Häufigkeiten darzustellen, wird die Kreuztabelle in der Regel um eine zusätzliche Spalte bzw. Zeile ergänzt. In der zusätzlichen Spalte werden die Randhäufigkeiten von X (absolut oder relativ), in der zusätzlichen Zeile die Randhäufigkeiten von Y angegeben. Diese Randverteilungen entsprechen den Häufigkeitsverteilungen der jeweiligen Einzelmerkmale. Bei der Interpretation der relativen Häufigkeiten ist darauf zu achten, ob diese zeilenweise, spaltenweise oder gesamtbezogen berechnet wurden (siehe Kapitel 3.4.1 Spalten-, bzw. Zeilenprozenturierung)
In den folgenden Kapiteln ist die abhängige Variable, d. h. die analysierte Zielvariable, das Einkommen, welches für die Kreuztabellenanalyse im ersten Schritt in Quartile gruppiert wird.
quartile <- quantile(gender_gap$income, probs = c(0, 0.25, 0.5, 0.75, 1), na.rm = TRUE)
gender_gap$grouped_income <- cut(
gender_gap$income,
breaks = quartile,
include.lowest = TRUE,
labels = c("Q1", "Q2", "Q3", "Q4")
)
table(gender_gap$grouped_income) #Anzeigen der Ausprägungen und Häufigkeiten in der neuen Variable
##
## Q1 Q2 Q3 Q4
## 100 101 100 99
Um eine einfache Kreuztabelle zu erstellen, nutzt man den
table-Befehl, wobei der Prädiktor (unabhängige Variable)
zuerst in der Klammer angegeben wird, gefolgt von der abhängigen
Variable.
kreuz <- table(gender_gap$female, gender_gap$grouped_income)
kreuz
##
## Q1 Q2 Q3 Q4
## 0 11 58 60 74
## 1 89 43 40 25
Links in der ersten Spalte (Vorspalte) sind die Ausprägungen 0 und 1, welche für das Geschlecht (0 = männlich, 1 = weiblich) stehen angegeben. Von Q1 bis Q4 angegeben sind die jeweiligen Quartile des Einkommens, geordnet vom untersten zum obersten Quartil. Es werden die absoluten Häufigkeiten jedes Quartils von der Variable Einkommen gruppiert nach den zwei Ausprägungen von Geschlecht abgebildet.
Beim Betrachten der Ergebnisse fällt auf, dass im 1. Quartil Frauen stärker repräsentiert sind als Männer, mit 89 von 100 Personen. In allen weiteren Quartilen sind Männer stärker vertreten, wobei im 4. Quartil 74 von 100 Personen männlich sind. Einfach gesagt bedeutet dies, dass Frauen in Gruppen mit höherem Einkommen seltener vorkommen als Männer, aber in der untersten Einkommensgruppe deutlich häufiger zu finden sind.
Um die Verteilung prozentual zu berechnen wird der
prop.table-Befehl verwendet. Wichtig ist zu beachten, dass
der Befehl nur die gesamtprozentualen Werte, jedoch keine Spalten- oder
Zeilenprozente berechnet.
prop.table(table(gender_gap$female, gender_gap$grouped_income))
##
## Q1 Q2 Q3 Q4
## 0 0.0275 0.1450 0.1500 0.1850
## 1 0.2225 0.1075 0.1000 0.0625
gmodels-PaketDie Darstellungsmöglichkeiten von Kreuztabellen sind - wie auch in
Kapitel 3.4.1 deutlich wurde - in Base R begrenzt. Deshalb soll im
Folgenden die Möglichkeit der Darstellung mittels des
gmodels-package genutzt werden (siehe Kapitel 3.4.1).
Ein beispielhafter Befehl zum Erstellen einer Kreuztabelle mit
Randhäufigkeiten, sowie einem Chi²-Test (siehe Kapitel 4.5) kann, wie im
folgenden Code-Chunk zu sehen, lauten. Über TRUE wird
festgelegt, dass der Chi²-Test durchgeführt wird. Er wird jedoch anders
formatiert ausgegeben als in Base R.
library(gmodels)
kreuztabelle <- CrossTable(
gender_gap$female, gender_gap$grouped_income,
prop.r = TRUE, # Zeilenprozente angeben
prop.c = TRUE, # Spaltenprozente angeben
prop.t = TRUE, # Gesamte Prozente angeben
prop.chisq = FALSE,
chisq = TRUE) #Chi²-Test durchführen
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Row Total |
## | N / Col Total |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 400
##
##
## | gender_gap$grouped_income
## gender_gap$female | Q1 | Q2 | Q3 | Q4 | Row Total |
## ------------------|-----------|-----------|-----------|-----------|-----------|
## 0 | 11 | 58 | 60 | 74 | 203 |
## | 0.054 | 0.286 | 0.296 | 0.365 | 0.507 |
## | 0.110 | 0.574 | 0.600 | 0.747 | |
## | 0.028 | 0.145 | 0.150 | 0.185 | |
## ------------------|-----------|-----------|-----------|-----------|-----------|
## 1 | 89 | 43 | 40 | 25 | 197 |
## | 0.452 | 0.218 | 0.203 | 0.127 | 0.492 |
## | 0.890 | 0.426 | 0.400 | 0.253 | |
## | 0.222 | 0.107 | 0.100 | 0.062 | |
## ------------------|-----------|-----------|-----------|-----------|-----------|
## Column Total | 100 | 101 | 100 | 99 | 400 |
## | 0.250 | 0.252 | 0.250 | 0.247 | |
## ------------------|-----------|-----------|-----------|-----------|-----------|
##
##
## Statistics for All Table Factors
##
##
## Pearson's Chi-squared test
## ------------------------------------------------------------
## Chi^2 = 91.25078 d.f. = 3 p = 1.180013e-19
##
##
##
Es wird eine umfassende Kreuztabelle, welche sowohl die relativen Häufigkeiten als auch die absoluten Häufigkeiten, sowie den Chi²-Test beinhaltet, dargestellt. Die Tabelle enthält Informationen zu Geschlecht und Einkommen. Es gibt zwei Zeilen, 0 = männlich und 1 = weiblich und vier Spalten (entsprechend der Ausprägungen des Einkommens: 1 bis 4). In jedem Feld der Tabelle sind in der Reihenfolge die Zeilenprozente, dann die Spaltenprozente, gefolgt von den Gesamtprozenten angegeben. In der untersten Zeile, bzw. in der letzten Spalte sind die Anteile der jeweiligen Zeile, bzw. Spalte an der Gesamthäufigkeit angegeben.
In der Kreuztabellenanalyse mittels des gmodels-package
wurde ein Chi²-Test durchgeführt. Um zu verstehen, was genau das
bedeutet, soll im folgenden Kapitel die empirische Unabhängigkeit
bedingter Merkmale am Beispiel erläutert werden.
Zur Prüfung empirischer Unabhängigkeit müssen die Zeilen-, sowie die Spaltensummen bestimmt werden. In der gegebenen Tabelle entsprechen die Spaltensummen immer etwa dem Wert 100, d. h. jeweils etwa 100 Befragte gehören den Einkommensgruppen 1 bis 4 an. Die Zeilensummen betragen 203 für die Ausprägung männlich und 197 für die Ausprägung weiblich.
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Row Total |
## | N / Col Total |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 400
##
##
## | gender_gap$grouped_income
## gender_gap$female | Q1 | Q2 | Q3 | Q4 | Row Total |
## ------------------|-----------|-----------|-----------|-----------|-----------|
## 0 | 11 | 58 | 60 | 74 | 203 |
## | 0.054 | 0.286 | 0.296 | 0.365 | 0.507 |
## | 0.110 | 0.574 | 0.600 | 0.747 | |
## | 0.028 | 0.145 | 0.150 | 0.185 | |
## ------------------|-----------|-----------|-----------|-----------|-----------|
## 1 | 89 | 43 | 40 | 25 | 197 |
## | 0.452 | 0.218 | 0.203 | 0.127 | 0.492 |
## | 0.890 | 0.426 | 0.400 | 0.253 | |
## | 0.222 | 0.107 | 0.100 | 0.062 | |
## ------------------|-----------|-----------|-----------|-----------|-----------|
## Column Total | 100 | 101 | 100 | 99 | 400 |
## | 0.250 | 0.252 | 0.250 | 0.247 | |
## ------------------|-----------|-----------|-----------|-----------|-----------|
##
##
Unabhängigkeit ist dann gegeben, wenn die Ausprägungen eines Merkmals keinen Einfluss auf die Ausprägungen des anderen Merkmals haben. Eine bedingte Häufigkeitsverteilung ist nicht davon abhängig, welche Merkmalsausprägungen für das andere Merkmal vorausgesetzt werden. Das bedeutet, dass der Quotient aus den Randhäufigkeiten und dem Stichprobenumfang übereinstimmen. Oder einfacher gesagt: Unabhängigkeit zweier Merkmale X und Y bedeutet, dass alle Informationen über die gemeinsame Häufigkeitsverteilung bereits in den Randverteilungen stecken.
Wenn also ein Zusammenhang besteht, dann gibt es von Null verschiedene Differenzen. Berechnen lässt sich dies, indem die Zeilensummen mit den Spaltensummen multipliziert werden und anschließend durch die Stichprobengröße geteilt werden. Bei empirischer Unabhängigkeit sollten alle Werte übereinstimmen. Da die Spaltensummen für jede Gruppe gleich sind, ist dieser Wert im Beispiel immer 100, sodass sich nur die Zeilensummen ändern. Entsprechend ergibt sich:
Bei Unabhängigkeit erwartete Häufigkeit = (Zeilensumme*Spaltensumme)/Stichprobenumfang
Also *(203*100)/400 = 50,75
und (197*100)/400 = 49.25*
Da beide Werte nicht übereinstimmen, kann nicht von einer Unabhängigkeit ausgegangen werden. Es wird auch von erwarteter Häufigkeit gesprochen. Aufbauend auf dieser Logik kann auch ein Chi²-Test durchgeführt werden:
χ² = (beobachtete Häufigkeit - erwartete Häufigkeit)² / erwartete Häufigkeit
In RStudio erfolgt die Überprüfung auf Unabhängigkeit über den
chisq.test-Befehl. Dafür bietet es sich im Vorfeld an, eine
erstellte Kreuztabelle mit einem eigenen Wert abzuspeichern. Der bereits
erstellten einfachen Kreuztabelle aus Base-R kann so das Objekt
kreuz_gendergap zugewiesen werden. Mit diesem zugewiesenen
Objekt kann nun ein Chi²-Test durchgeführt und ausgegeben werden, um zu
prüfen, ob beide Merkmale unabhängig voneinander sind.
Dabei wird eine Nullhypothese “H0: Es besteht kein Zusammenhang
zwischen den Merkmalen”
und eine Alternativhypothese “H1: Es besteht ein Zusammenhang zwischen
beiden Merkmalen”
formuliert.
Der Befehl dazu lautet chisq.test():
kreuz_gendergap <- table(gender_gap$female, gender_gap$grouped_income)
chi <- chisq.test(kreuz_gendergap)
chi
##
## Pearson's Chi-squared test
##
## data: kreuz_gendergap
## X-squared = 91.251, df = 3, p-value < 2.2e-16
Das Ergebnis des Chi²-Tests ist ein sehr kleiner p-Wert (<0.05), was bedeutet, dass ein signifikanter Zusammenhang zwischen beiden Variablen besteht und somit die Nullhypothese verworfen werden kann.
Der Chi²-Test gibt lediglich an, ob ein Zusammenhang besteht, jedoch nicht wie stark dieser ist. Zur Bestimmung der Stärke des Zusammenhangs kann die Kennzahl Cramers V berechnet werden. In den Basis Funktionen von R gibt es keine definierte Funktion für die Berechnung, also muss diese selbst durchgeführt werden. Zur Berechnung in R kann folgender Input verwendet werden:
cramers <- sqrt(chi$statistic / (sum(kreuz) * (min(dim(kreuz)) - 1)))
cramers
## X-squared
## 0.4776264
Cramers V nimmt Werte zwischen 0 und 1 an, wobei Werte nahe Null für einen schwachen Zusammenhang stehen und Werte nahe 1 für einen starken Zusammenhang. Genauer gesagt entsprechen Werte zwischen 0 und 0,1 keinem oder nur einem sehr schwachen Zusammenhang. Werte zwischen 0,1 und 0,3 deuten auf einen schwachen Zusammenhang hin. Werte zwischen 0,3 und 0,5 entsprechen einem mitteleren Zusammenhang und Werte über 0,5 entsprechen einem starken Zusammenhang.
Das Ergebnis von 0,476 weist auf einen mittleren Zusammenhang zwischen Geschlecht und Einkommen hin. Dieser zeigt sich deutlich in der Verteilung der Einkommensklassen: Frauen sind überproportional häufig in den niedrigen Einkommensklassen vertreten, während Männer häufiger in höheren Einkommensklassen vorkommen. Besonders ausgeprägt ist dieser Unterschied in der niedrigsten und höchsten Einkommenskategorie, was auf systematische Unterschiede in der Einkommensverteilung zwischen den Geschlechtern hindeutet.
Kreuztabellen eignen sich sehr gut, um Verteilungen zweier Variablen darzustellen. Auch wenn eine unterschiedliche Verteilung dieser Merkmale eine wichtige Feststellung ist, kann über den Effekt von Geschlecht auf Einkommen keine weitere Aussage getroffen werden. Weiterhin ist ein solcher bivariater Zusammenhang bei Berücksichtigung der Realität unterkomplex. Das Einkommen kann auch durch andere Faktoren beeinflusst werden, wie z.B. den Bildungsstand oder die wöchentliche Arbeitszeit – beide finden in einer Analyse von zwei Variablen in einer Kreuztabelle keine Berücksichtigung, spielen in der Realität jedoch möglicherweise eine große Rolle in Bezug auf Einkommen.
Um sich der Realität besser annähern zu können und somit den dezidierten Einfluss des Geschlechts auf das Einkommen besser herausarbeiten und erklären zu können, ist die Berücksichtigung weiterer Variablen notwendig. Die Betrachtung weiterer Einflussfaktoren auf das interessierende Phänomen wird auch Drittvariablenkontrolle genannt. Eine Möglichkeit der Drittvariablenkontrolle – die lineare Regression – soll im folgenden Kapitel vorgestellt werden.
In den vorherigen Kapiteln wurden Kreuztabellen genutzt, um Zusammenhänge zwischen zwei Variablen darzustellen. Diese bivariate Betrachtungsweise eignet sich gut, um erste Unterschiede zwischen Gruppen sichtbar zu machen, stößt jedoch schnell an ihre Grenzen. Viele sozialwissenschaftliche Fragestellungen lassen sich nicht sinnvoll durch die gleichzeitige Betrachtung von nur zwei Merkmalen beantworten, da soziale Phänomene in der Regel durch mehrere Einflussfaktoren bestimmt werden.
So kann beispielsweise das Einkommen nicht nur vom Geschlecht abhängen, sondern auch vom Bildungsstand, dem Alter oder der Berufserfahrung. Werden diese zusätzlichen Faktoren nicht berücksichtigt, können beobachtete Zusammenhänge verzerrt oder missverständlich sein.
Das lineare Regressionsmodell bietet die Möglichkeit, mehrere erklärende Variablen gleichzeitig in eine Analyse einzubeziehen. Dadurch können Effekte einzelner Merkmale unter Kontrolle weiterer Einflussfaktoren untersucht werden.
Im Gegensatz zu Kreuztabellen erlaubt die lineare Regression somit eine differenziertere Analyse von Zusammenhängen und stellt ein zentrales Werkzeug der empirischen Sozialforschung dar. Ziel der folgenden Kapitel ist es, die Grundidee der linearen Regression vorzustellen (Kapitel 5.2) und deren Anwendung sowie Interpretation in R zu erläutern (Kapitel 5.3). Weiterführende Erläuterungen zur linearen Regression sind im Reader: Multiple lineare Regression: Ein vertiefter Einblick in die statistische Modellierung (Nold; Meinefelder, 2014) zu finden.
Die lineare Regression beschreibt den Zusammenhang zwischen einer abhängigen Variable und einer oder mehreren unabhängigen Variablen. Die abhängige Variable (Y) ist dabei das Merkmal, das erklärt werden soll, während die unabhängigen Variablen (X) als erklärende Einflussfaktoren dienen. Die Grundidee besteht darin, eine lineare Beziehung zwischen diesen Variablen zu modellieren, die den durchschnittlichen Zusammenhang möglichst gut beschreibt. Anschaulich kann man sich dies als das Finden einer „bestmöglichen Geraden“ vorstellen, die den Zusammenhang zwischen X und Y abbildet.
Formal lässt sich das einfache lineare Regressionsmodell wie folgt darstellen:
\[Y_i = \alpha + \beta*x_i + \epsilon_i\]
Dabei beschreibt \(\alpha\) den Achsenabschnitt (engl.: Intercept), also den erwarteten Wert von Y, wenn X den Wert 0 annimmt. Der Koeffizient \(\beta\) gibt an, wie stark sich Y im Durchschnitt verändert, wenn sich X um eine Einheit erhöht. Der Fehlerterm \(\epsilon\) fasst alle Einflüsse zusammen, die nicht durch das Modell erklärt werden können.
Ziel der linearen Regression ist es, die Koeffizienten so zu
schätzen, dass die Abweichungen zwischen den beobachteten Werten und den
durch das Modell vorhergesagten Werten möglichst gering sind. Die
Schätzung der Regressionskoeffizienten erfolgt in der linearen
Regression in der Regel mit der Methode der kleinsten Quadrate. Dabei
werden die Koeffizienten so bestimmt, dass die Summe der quadrierten
Abweichungen zwischen den beobachteten Werten und den durch das Modell
vorhergesagten Werten möglichst gering ist. Durch das Quadrieren der
Abweichungen werden große Fehler stärker gewichtet als kleine. Die
Methode der kleinsten Quadrate stellt das Standardverfahren zur
Schätzung linearer Regressionsmodelle dar und wird auch bei der
Berechnung von Modellen mit der Funktion lm() in R (siehe
Kapitel 5.3) verwendet.
Im folgenden Kapitel wird die Berechnung und Interpretation eines
linearen Regressionsmodells mittels RStudio veranschaulicht. Zuerst wird
eine lineare Einfachregression geschätzt, um die Logik leichter zu
vermitteln. Anschließend wird das Modell der Einfachregression durch
weitere Parameter, d. h. Variablen, ergänzt – wir sprechen dann von
einem multiplen linearen Regressionsmodell. Dabei wird weiterhin mit dem
gender_gap Datensatz aus dem vorigen Kapitel
gearbeitet.
Um ein lineares Regressionsmodell in RStudio schätzen zu können, wird
die lm-Funktion benötigt. Diese ist in Basis R bereits
integriert.
m0 <- lm(income ~ female, data = gender_gap)
summary(m0)
##
## Call:
## lm(formula = income ~ female, data = gender_gap)
##
## Residuals:
## Min 1Q Median 3Q Max
## -507.73 -174.76 -53.76 196.96 578.37
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1405.89 16.55 84.95 <2e-16 ***
## female -261.00 23.58 -11.07 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 235.8 on 398 degrees of freedom
## Multiple R-squared: 0.2354, Adjusted R-squared: 0.2334
## F-statistic: 122.5 on 1 and 398 DF, p-value: < 2.2e-16
In der ersten Zeile des Inputs befindet sich die
Regressionsgleichung. Links des „~“ Zeichens befindet sich
die abhängige Variable Y und rechts davon die unabhängige Variable X.
Hinter dem Kommazeichen wird der Dataframe, auf welchen zugegriffen
werden soll definiert. Entsprechend wird im gezeigten Befehl ein
lineares Modell geschätzt, mit der abhängigen Variable
„income“ und der unabhängigen Variable „female“, aus dem
Dataframe „gender_gap“, welches als Objekt m0
gespeichert wird. Mit dem summary-Befehl wird die
gespeicherte Regressionsanalyse ausgegeben.
Nach „Call:“ wird nochmals die Regressionsgleichung
angezeigt. Unter Residuals wird die Verteilung der Residuen dargestellt.
Residuen bezeichnen den Abstand der tatsächlichen Messwerte zur
vorhergesagten Regressionsgeraden.
Danach folgend befinden sich unter coefficients die
Regressionskoeffizienten. Der Intercept entspricht dem Wert
der abhängigen Variable , wenn der Prädiktor den Wert 0 annimmt
(Schnittpunkt mit der Y-Achse). Im Beispiel beträgt dieser 1405,89. Da
das Geschlecht hier mit 0 (männlich) und 1 (weiblich) kodiert ist, liegt
das geschätzte Durchschnittseinkommen der Männer also bei 1405,89 Euro.
Für die Ausprägung female = 1 erhalten wir den Wert -261,00. Das
bedeutet, dass Frauen im Modell-Durchschnitt 261 Euro weniger verdienen
als Männer (also 1144,89 Euro).
In der Spalte Pr(>|t|) wird die Signifikanz der
Ergebnisse angegeben. Der Wert von \(2,2*10^{-16}\) ist kleiner als das
Signifikanzniveau von 0, was einem signifikanten Ergebnis entspricht
(gekennzeichnet durch ***).
Die Spalte Std. Error gibt den Standardfehler der
Schätzung an. Er ist ein Maß für die Präzision: Er zeigt, wie stark der
Koeffizient schwanken würde, wenn man die Untersuchung mit vielen neuen
Stichproben wiederholen würde. Je kleiner dieser Wert im Verhältnis zum
Koeffizienten, desto sicherer ist die Schätzung.
Der t-Wert gibt an, wie viele Standardfehler der Koeffizient von der Null entfernt ist. Er ist ein Maß für das „Signal-Rausch-Verhältnis“. Ein hoher t-Wert (meist >2) signalisiert, dass der Effekt deutlich über dem statistischen Zufall liegt.
Der Residual Standard Error (RSE) gibt an, wie weit die
tatsächlichen Einkommenswerte im Durchschnitt von der Vorhersage des
Modells abweichen – hier um 235,8 Euro.
Unter multiple r-squared ist das Bestimmtheitsmaß
(Multiple R² und Adjusted R²) angegeben. Es gibt an, welcher Anteil der
Varianz der abhängigen Variable durch das Modell erklärt wird. In einer
einfachen Regression nutzt man das Multiple R², bei mehreren
Prädiktoren, d. h. unabhängigen Variablen im Modell, sollte man das
Adjusted R² interpretieren, da dieses die höhere Anzahl von Variablen im
Modell rechnerisch berücksichtigt. Der Wert steigt also nur, wenn das
Modell tatsächlich mehr Erklärung liefert und nicht nur, weil die Anzahl
der Variablen im Modell steigt. Im vorliegenden Modell werden etwa 23,5
% der Varianz des Einkommens durch die einbezogenen Variablen erklärt.
Dies deutet auf eine moderate Erklärungskraft des Modells hin, wobei ein
Großteil der Varianz (ca. 76,5 %) durch weitere, nicht im Modell
enthaltene Faktoren erklärt wird.
Im letzten Abschnitt wird die F-Statistik ausgegeben. Während die t-Tests jede Variable einzeln prüfen, bewertet der F-Test, ob das Modell als Ganzes aussagekräftig ist. Ein signifikanter p-Wert beim F-Test ist die Grundvoraussetzung für die Interpretation des Modells. Im Beispielmodell ist der p-Wert kleiner als 0,05 was einem signifikanten Ergebnis entspricht.
Die Standardfunktion von R berechnet keine Konfidenzintervalle; diese
können für unser Regressionsmodell mit dem Befehl
confint(m0) aufgerufen werden.
confint(m0)
## 2.5 % 97.5 %
## (Intercept) 1373.358 1438.4255
## female -307.363 -214.6453
Das 95%-Konfidenzintervall für den Effekt female liegt im Bereich zwischen -307,36 und -214,64. Das bedeutet: Würden wir die Stichprobe unendlich oft wiederholen, läge der wahre Wert des Einkommensunterschieds in 95 % der berechneten Fälle innerhalb dieser Grenzen. Da das Intervall die Null nicht einschließt und beide Werte negativ sind, ist der „Gender Gap“ in diesen Daten statistisch sehr belastbar. Gleiches gilt auch, wenn beide Werte im positiven Wertebereich liegen. Findet ein Vorzeichenwechsel statt, ist das Ergebnis nicht signifikant.
Nachdem das Modell der linearen Einfachregression erklärt wurde, soll
nun ein multiples lineares Regressionsmodell geschätzt werden. Wie
bereits in Kapitel 4.6 erwähnt, besteht der Vorteil von multiplen
Regressionsanalysen darin, dass der Einfluss mehrerer Variablen auf eine
abhängige Variable bestimmt werden kann. Hat ein lineares
Regressionsmodell mehr als einen Prädiktor, d. h. mehr als eine
unabhängige Variable, wird von einer multiplen linearen Regression
gesprochen. Um das Modell in R berechnen zu können, wird auch die
lm-Funktion verwendet, wobei die Prädiktoren durch ein „+“
voneinander getrennt werden.
m1 <- lm(income ~ female + age + abi + uni + f_job, data = gender_gap)
summary(m1)
##
## Call:
## lm(formula = income ~ female + age + abi + uni + f_job, data = gender_gap)
##
## Residuals:
## Min 1Q Median 3Q Max
## -210.256 -47.484 5.805 50.701 158.875
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 841.2971 14.5389 57.865 < 2e-16 ***
## female -193.6618 9.7042 -19.956 < 2e-16 ***
## age 7.9611 0.3036 26.221 < 2e-16 ***
## abi 70.1790 8.0942 8.670 < 2e-16 ***
## uni 489.9349 8.8215 55.539 < 2e-16 ***
## f_job -51.7763 10.1818 -5.085 5.69e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 69.9 on 394 degrees of freedom
## Multiple R-squared: 0.9335, Adjusted R-squared: 0.9326
## F-statistic: 1106 on 5 and 394 DF, p-value: < 2.2e-16
confint(m1)
## 2.5 % 97.5 %
## (Intercept) 812.71365 869.880541
## female -212.74031 -174.583278
## age 7.36418 8.558011
## abi 54.26574 86.092250
## uni 472.59184 507.277957
## f_job -71.79384 -31.758746
Im Abschnitt wird das Modell m1 definiert. Die abhängige Variable
bleibt das Einkommen, jedoch werden zusätzlich zum Geschlecht nun das
Alter, der Schul- bzw. Hochschulabschluss, sowie die Geschlechtstypik
(Männer- vs. Frauendominiertheit des Berufs) berücksichtigt. Der
Dataframe, für den die Regression ausgeführt werden soll, bleibt
gender_gap. Mit dem summary-Befehl wird das
Modell wieder ausgegeben und der confint-Befehl berechnet
die 95%-Konfidenzintervalle für das Modell.
Der Aufbau unterscheidet sich nicht zur im vorherigen Abschnitt
beschriebenen linearen Einfachregression. Oben befindet sich wieder
unter Call: die Regressionsgleichung. Danach werden unter Residuals die
Residuen angegeben, gefolgt von den Koeffizienten. Diesmal gibt es mehr
Regressionskoeffizienten als female. Zusätzlich sind die Prädiktoren
age ,abi ,uni und
f_job zu finden. In diesem Modell hat der Intercept einen
Wert von 841,3 Euro, mit dem Konfidenzintervall zwischen 812,71 und
869,88 Euro. Im Fokus steht weiterhin die unabhängige Variable
female. Sie hat nun den Regressionskoeffizienten -193,66
mit dem Konfidenzintervall zwischen -212,74 und -174,58. Dies bedeutet,
dass Frauen ca. 193,66 Euro weniger verdienen als Männer, wobei die
Spanne des Konfidenzintervalls ca. 38 Euro beträgt. Auch hier wird im
Konfidenzintervall der Wert 0 nicht eingeschlossen.
Das Bestimmtheitsmaß R² (wichtig: adjusted r²) erreicht einen Wert von 0,93 was bedeutet, dass ca. 93% der Varianz des Einkommens durch das Modell erklärt werden. Dieser Wert ist sehr hoch und kommt in der empirischen Sozialforschung kaum vor. Im Gegensatz zur linearen Einfachregression wurde die Aussagekraft des Modells massiv gesteigert.
Der Residual Standard Error hat einen Wert von 69,9. Im Gegensatz zum vorigen Modell ist auch hier die Aussagekraft stark gestiegen.
Die weiteren Prädiktoren (age ,abi
,uni und f_job) zeigen auch einen Effekt auf
das Einkommen, wobei bei keinem Konfidenzintervall die 0 enthalten ist.
Ein Hochschulabschluss erhöht das Einkommen im Durchschnitt um 489,93 €,
während ein zusätzliches Lebensjahr mit einem Anstieg von 7,96 €
verbunden ist. Ein abgeschlossenes Abitur erhöht das Einkommen im
Durchschnitt um 70,18 €, während die Tätigkeit in einem
frauendominierten Berufsfeld das Einkommen um ca. 55,78 € senkt.
Die Regressionskoeffizienten gelten unter Konstanthaltung der anderen Prädiktoren. Unter Konstanthaltung der anderen Variablen bedeutet, dass der Effekt einer Variable auf die abhängige Variable so betrachtet wird, als ob alle übrigen Einflussfaktoren unverändert bleiben.
Durchführung einer linearen Regression mit modelsummary
Eine komfortablere Möglichkeit eine Regressionsanalyse durchzuführen, bietet das modelsummary-package. Dieses Paket erstellt einen übersichtlichen Output, welcher z. B. als Word-Datei exportiert werden kann. Auch ist kein zusätzlicher Befehl zum Anzeigen der Konfidenzintervalle mehr notwendig. Eine tiefergehende Einführung zu diesem Paket kann unter diesem Link abgerufen werden. Im folgenden Code-Chunk ist der Befehl zur Verwendung dargestellt.
library(modelsummary) #Paket modelsummary laden
modelsummary(m1, statistic = "conf.int")
| (1) | |
|---|---|
| (Intercept) | 841.297 |
| [812.714, 869.881] | |
| female | -193.662 |
| [-212.740, -174.583] | |
| age | 7.961 |
| [7.364, 8.558] | |
| abi | 70.179 |
| [54.266, 86.092] | |
| uni | 489.935 |
| [472.592, 507.278] | |
| f_job | -51.776 |
| [-71.794, -31.759] | |
| Num.Obs. | 400 |
| R2 | 0.933 |
| R2 Adj. | 0.933 |
| AIC | 4540.8 |
| BIC | 4568.7 |
| Log.Lik. | -2263.404 |
| RMSE | 69.38 |
Der Output wird im View-Reiter angezeigt. Der Regressionskoeffizient
steht dabei neben dem Variablennamen und in den eckigen Klammern
darunter werden die Konfidenzintervalle angezeigt. Außerdem werden das
korrigierte R² (R2 adj.), die Anzahl der Fälle und die F-Statistik
generiert. Im Gegensatz zum Output mit der lm-Funktion,
werden zusätzlich der AIC, BIC, die Log-Likelihood, sowie der Wert für
ROOT-MSE generiert. Eine genauere Erläuterung von AIC, BIC und
Log-Likelihood kann im Reader von Nold und Meinefelder (2014) gefunden
werden, ist im Rahmen dieses Readers jedoch nicht notwendig. Root Mean
Square Error misst (ebenso wie RSE) die Vorhersagegenauigkeit des
Modells, wird aber anders berechnet. Er kann genauso wie der RSE
interpretiert werden.
Soll der Output nun nicht im Viewer angezeigt werden, sondern exportiert werden, so muss der Befehl angepasst werden. Im Folgenden wird das Ergebnis als txt-Datei exportiert, da dies ein simples Dateiformat ist und keine besonderen Programme zum Öffnen benötigt. Weitere mögliche Dokumentarten wären Word-Dateien (.docx) oder Excel-Dateien (.csv).
modelsummary(m1, statistic = "conf.int", output = file.path("modell1.txt"))
Es wurde die Option output = file.path() ergänzt, wobei
in Klammern der Dateiname, sowie die Dateiendung definiert wurde.
Definiert man den Dateipfad nicht weiter, so wird das Ergebnis im
erstellten Projektordner, oder in den eigenen Dateien, wenn kein
Projektordner existiert, gespeichert. In den Anführungszeichen steht der
Name unter welchem das Objekt gespeichert werden soll, in diesem
Beispiel modell1.txt.