Einführung in die quantitativen Forschungsmethoden
Call:
lm(formula = ccrdprs ~ agea, data = ess8)
Residuals:
Min 1Q Median 3Q Max
-5.9155 -1.6290 0.3512 2.1635 4.8947
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.0637563 0.0376406 161.10 <2e-16 ***
agea -0.0098809 0.0007187 -13.75 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.719 on 41794 degrees of freedom
(2591 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.004502, Adjusted R-squared: 0.004478
F-statistic: 189 on 1 and 41794 DF, p-value: < 2.2e-16
→ Alter hat einen kleinen negativen Effekt
0 1
39090 2837
→ Regression: Wahrscheinlichkeit persönliche Verantwortung für Klimawandel als sehr hoch anzugeben (2837 Teilnehmende)
Call:
lm(formula = climate_responsible ~ agea, data = ess8)
Residuals:
Min 1Q Median 3Q Max
-0.07138 -0.06874 -0.06756 -0.06632 0.93479
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.411e-02 3.478e-03 18.432 <2e-16 ***
agea 7.341e-05 6.642e-05 1.105 0.269
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2512 on 41794 degrees of freedom
(2591 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 2.923e-05, Adjusted R-squared: 5.302e-06
F-statistic: 1.222 on 1 and 41794 DF, p-value: 0.2691
e-05: ‘wissenschaftliche Schreibweise’ für \(10^{-5}\) / 0,00001
→ sehr langsam ansteigende Wahrscheinlichkeit
Vielleicht variiert der Effekt von Alter ja nach Altersgruppe?
→ neue Variable: Alterskategorien
Call:
lm(formula = ccrdprs ~ agecat, data = ess8)
Residuals:
Min 1Q Median 3Q Max
-5.838 -1.551 0.219 2.162 6.824
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.54026 0.05208 106.386 < 2e-16 ***
agecat(20,30] 0.01066 0.06337 0.168 0.866424
agecat(30,40] 0.24077 0.06190 3.889 0.000101 ***
agecat(40,50] 0.29822 0.06130 4.865 1.15e-06 ***
agecat(50,60] 0.27419 0.06091 4.502 6.76e-06 ***
agecat(60,70] -0.07492 0.06131 -1.222 0.221714
agecat(70,80] -0.35988 0.06722 -5.354 8.65e-08 ***
agecat(80,90] -1.19689 0.08720 -13.725 < 2e-16 ***
agecat(90,100] -2.36469 0.24188 -9.776 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.703 on 41787 degrees of freedom
(2591 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.01586, Adjusted R-squared: 0.01567
F-statistic: 84.19 on 8 and 41787 DF, p-value: < 2.2e-16
→ der Einfluss von Alter ist nicht linear, sondern steigt erst an und sinkt dann wieder
→ Interpretation im Verhältnis zur Referenzgruppe (10-20jährige)
Häufig gibt es nicht eine, sondern mehrere Variablen, die für uns relevant sind
Oft sind diese Variablen Confounders oder Störfaktoren, die evtl. Einfluss auf unsere abhängige & unsere unabhängige Variable haben
Wir können einfach weitere Prädiktoren hinzufügen, um y zu erklären.
→ jeder Prädiktor hat einen eigenen Koeffizienten
→ die Konstante ist (weiterhin) der Wert, wenn der Wert aller Prädiktoren null ist
→ gemeinsame Variation wird auf Koeffizienten aufgeteilt
\(Y_i = \alpha + \beta_1 X_i1 + \beta_2 X_i2 + ... + \epsilon_i\)
Call:
lm(formula = happy ~ hinctnta, data = ess8)
Coefficients:
(Intercept) hinctnta
6.6711 0.1504
→ Welche weiteren Einflussfaktoren könnte es geben?
z.B.
Call:
lm(formula = happy ~ hinctnta + agea + gndr + health + sclmeet,
data = ess8)
Residuals:
Min 1Q Median 3Q Max
-8.8031 -0.8666 0.1747 1.0969 5.1018
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.6592700 0.0584089 114.011 < 2e-16 ***
hinctnta 0.1008661 0.0033864 29.786 < 2e-16 ***
agea 0.0099924 0.0005351 18.675 < 2e-16 ***
gndr 0.0960442 0.0178009 5.395 6.88e-08 ***
health -0.6278477 0.0106665 -58.861 < 2e-16 ***
sclmeet 0.2118415 0.0058797 36.029 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.682 on 36117 degrees of freedom
(8264 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.1744, Adjusted R-squared: 0.1743
F-statistic: 1526 on 5 and 36117 DF, p-value: < 2.2e-16
→ auch andere Faktoren haben einen Einfluss
→ der Wert für hinctnta
verändert sich, da gemeinsam erklärte Variation aufgeteilt wird
→ Wie interpretieren wir die Werte?
→ Problem bei Geschlecht ist eine lineare Interpretation unangebracht, female ist nicht mehr als male
→ für die Statistik ist Geschlecht binär, kein Spektrum
Variablen mit wenigen Werten oder ohne Reihenfolge sollten als Faktorvariablen eingebunden werden - sonst interpretiert R sie numerisch
ess8$gndr <- as_factor(ess8$gndr)
happy_lm2 <- lm(happy~hinctnta+agea+gndr+health+sclmeet,data=ess8)
summary(happy_lm2)
Call:
lm(formula = happy ~ hinctnta + agea + gndr + health + sclmeet,
data = ess8)
Residuals:
Min 1Q Median 3Q Max
-8.8030 -0.8665 0.1746 1.0965 5.1019
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.755094 0.052390 128.939 < 2e-16 ***
hinctnta 0.100882 0.003386 29.793 < 2e-16 ***
agea 0.009997 0.000535 18.685 < 2e-16 ***
gndrFemale 0.096045 0.017800 5.396 6.87e-08 ***
gndrNo answer 1.051632 0.752485 1.398 0.162
health -0.627841 0.010666 -58.865 < 2e-16 ***
sclmeet 0.211822 0.005879 36.028 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.682 on 36121 degrees of freedom
(8259 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.1744, Adjusted R-squared: 0.1743
F-statistic: 1272 on 6 and 36121 DF, p-value: < 2.2e-16
Bearbeiten Sie den ersten Teil der Übungsaufgaben
Szenario: Wir wollen den Einfluss verschiedener Variablen in zwei unterschiedlichen Ländern vergleichen
→ Wir berechnen zwei Regressionen mit gefilterten Datensätzen
Call:
lm(formula = happy ~ hinctnta + agea + gndr + health + sclmeet,
data = filter(ess8, cntry == "DE"))
Residuals:
Min 1Q Median 3Q Max
-8.1361 -0.7520 0.1583 0.9970 4.3260
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.088590 0.203653 34.807 < 2e-16 ***
hinctnta 0.125119 0.011560 10.824 < 2e-16 ***
agea 0.007648 0.001856 4.121 3.90e-05 ***
gndrFemale 0.151610 0.062980 2.407 0.0161 *
health -0.531950 0.036888 -14.421 < 2e-16 ***
sclmeet 0.149422 0.023724 6.298 3.54e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.582 on 2538 degrees of freedom
(308 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.1594, Adjusted R-squared: 0.1578
F-statistic: 96.26 on 5 and 2538 DF, p-value: < 2.2e-16
Call:
lm(formula = happy ~ hinctnta + agea + gndr + health + sclmeet,
data = filter(ess8, cntry == "ES"))
Residuals:
Min 1Q Median 3Q Max
-7.4794 -0.8923 0.1603 1.0798 3.8302
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.542539 0.258566 29.171 < 2e-16 ***
hinctnta 0.065621 0.015945 4.115 4.08e-05 ***
agea 0.001564 0.002639 0.593 0.553
gndrFemale -0.134370 0.083958 -1.600 0.110
health -0.396944 0.049848 -7.963 3.29e-15 ***
sclmeet 0.146325 0.028672 5.103 3.76e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.617 on 1497 degrees of freedom
(455 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.0905, Adjusted R-squared: 0.08746
F-statistic: 29.79 on 5 and 1497 DF, p-value: < 2.2e-16
Eine Alternative ist die Berechnung sogenannter Interaktionen: Die Beziehung von Variable X1 zur abhängigen Variable Y hängt vom Wert von Variable X2 ab
z.B.: Der Effekt von Kindern im Haushalt (chldm
) auf politisches Interesse (polintr
) könnte für Frauen und Männer unterschiedlich sein
→ Fokus auf einen oder einige wenige Koeffizienten (→ alle Koeffizienten für Land)
→ Möglichkeit kontinuierliche Variablen zu interagieren (→ Untergruppen z.B. nach Land, Alter, Geschlecht, …)
Call:
lm(formula = polintr ~ gndr + chldhm, data = ess8)
Residuals:
Min 1Q Median 3Q Max
-1.7045 -0.7043 0.2955 0.5425 1.5714
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.4579035 0.0166048 148.023 <2e-16 ***
gndrFemale 0.2468070 0.0087266 28.282 <2e-16 ***
gndrNo answer -0.0289295 0.3458655 -0.084 0.933
chldhm -0.0002013 0.0091306 -0.022 0.982
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9149 on 44275 degrees of freedom
(108 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.01783, Adjusted R-squared: 0.01776
F-statistic: 267.9 on 3 and 44275 DF, p-value: < 2.2e-16
Call:
lm(formula = polintr ~ gndr * chldhm, data = ess8)
Residuals:
Min 1Q Median 3Q Max
-1.7435 -0.6804 0.2565 0.5184 1.5940
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.33036 0.02365 98.532 < 2e-16 ***
gndrFemale 0.47621 0.03154 15.098 < 2e-16 ***
gndrNo answer -0.05305 0.34566 -0.153 0.878
chldhm 0.07563 0.01355 5.581 2.41e-08 ***
gndrFemale:chldhm -0.13872 0.01833 -7.568 3.86e-14 ***
gndrNo answer:chldhm NA NA NA NA
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9143 on 44274 degrees of freedom
(108 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.0191, Adjusted R-squared: 0.01901
F-statistic: 215.5 on 4 and 44274 DF, p-value: < 2.2e-16
Szenario: Manchmal wollen wir auch die Größe von Koeffizienten vergleichen: Hat z.B. Alter oder Gesundheit einen stärkeren Einfluss?
Regressionskoeffizienten sind pro Einheit der Variable → nicht direkt vergleichbar
→ dafür können wir standardisierte Koeffizienten berechnen, d.h. Werte abhängig von der Standardabweichung der jeweiligen Variable
In R brauchen wir dafür ein weiteres Paket: lm.beta
mit dem wir lm.beta()
auf das Regressionsmodell anwenden
Call:
lm(formula = happy ~ hinctnta + agea + gndr + health + sclmeet,
data = ess8)
Residuals:
Min 1Q Median 3Q Max
-8.8030 -0.8665 0.1746 1.0965 5.1019
Coefficients:
Estimate Standardized Std. Error t value Pr(>|t|)
(Intercept) 6.755094 NA 0.052390 128.939 < 2e-16 ***
hinctnta 0.100882 0.148885 0.003386 29.793 < 2e-16 ***
agea 0.009997 0.098102 0.000535 18.685 < 2e-16 ***
gndrFemale 0.096045 0.025912 0.017800 5.396 6.87e-08 ***
gndrNo answer 1.051632 0.006683 0.752485 1.398 0.162
health -0.627841 -0.312889 0.010666 -58.865 < 2e-16 ***
sclmeet 0.211822 0.177132 0.005879 36.028 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.682 on 36121 degrees of freedom
(8259 Beobachtungen als fehlend gelöscht)
Multiple R-squared: 0.1744, Adjusted R-squared: 0.1743
F-statistic: 1272 on 6 and 36121 DF, p-value: < 2.2e-16
Vier wichtige Annahmen bei Regressionen für korrekte Schätzungen:
Häufig sind diese Annahmen nicht automatisch gegeben
→ hierfür können wir entweder spezielle Modelle verwenden (→ fortgeschrittene Statistik) oder versuchen unsere Variablen zu transformieren
Szenario: Manche Variablen sind nicht unbedingt linear - z.B. kann links-rechts für die Ideologie, aber auch für die Extremität stehen
→ Transformation der Variable mit Zentrierung
→ Einbindung des quadratischen Werts
Szenario: Häufig steigen Beziehungen langsam an - z.B. machen 100€ mehr Gehalt bei kleinen Gehältern einen größeren Unterschied als bei hohen oder ein Jahr bei jungen Menschen mehr als bei alten
→ Einbindung als Logarithmus: log(agea)
Szenario: Auch was wir vorhersagen wollen ist nicht immer linear. z.B. gibt es in der ESS eine binäre Variable zu Protestbeteiligung:
Labels:
value label
1 Yes
2 No
NA(a) Refusal
NA(b) Don't know
NA(c) No answer
→ Hier wollen wir erklären, ob jemand teilgenommen hat
Wir nennen das das ‘lineare Wahrscheinlichkeitsmodell’ / linear probability model, weil es die Wahrscheinlichkeit für einen Wert 1 schätzt und diese linear ansteigt
→ Wir interpretieren die vorhergesagten Werte als Wahrscheinlichkeit teilzunehmen
→ Wenn unsere abhängigen oder unabhängigen Variablen nicht den Voraussetzungen für eine Regression entsprechen können wir nach Transformationen suchen, die helfen unsere Variablen einzubinden
Bearbeiten Sie den zweiten Teil der Übungsaufgaben
Recherchieren Sie bis zur nächsten Stunde (in 2 Wochen - 05.06.) einen Artikel (idealerweise zu Ihrem Thema), der mit Daten aus der European Social Survey arbeitet.
→ Recherche z.B. über Bibliothek oder Google Scholar mit Thema + “European Social Survey”
Thema: Diskutieren Sie Ihre Ideen für Forschungsfragen und ihre bisherige Kenntnis über die Literatur mit Kolleg:innen.
T. Gessler | Einführung quantitative Forschungsmethoden | 09 Regressionen II