Regression - Lösungen
Vorbereitung
Laden Sie zunächst den Datensatz fb22
von der pandar-Website. Alternativ können Sie die fertige R-Daten-Datei hier herunterladen. Beachten Sie in jedem Fall, dass die Ergänzungen im Datensatz vorausgesetzt werden. Die Bedeutung der einzelnen Variablen und ihre Antwortkategorien können Sie dem Dokument Variablenübersicht.docx entnehmen.
Prüfen Sie zur Sicherheit, ob alles funktioniert hat:
dim(fb22)
## [1] 159 47
str(fb22)
## 'data.frame': 159 obs. of 47 variables:
## $ prok1 : int 1 4 3 1 2 2 2 3 2 4 ...
## $ prok2 : int 3 3 3 3 1 4 2 1 3 3 ...
## $ prok3 : int 4 2 2 4 4 2 3 2 2 2 ...
## $ prok4 : int 2 4 4 NA 3 2 2 3 3 4 ...
## $ prok5 : int 3 1 2 4 2 3 3 3 4 2 ...
## $ prok6 : int 4 4 4 3 1 2 2 3 2 4 ...
## $ prok7 : int 3 2 2 4 2 3 3 3 3 3 ...
## $ prok8 : int 3 4 3 4 4 2 3 3 4 2 ...
## $ prok9 : int 1 4 4 2 1 1 2 2 3 4 ...
## $ prok10 : int 3 4 3 2 1 3 1 4 1 4 ...
## $ nr1 : int 1 1 4 2 1 1 1 5 2 1 ...
## $ nr2 : int 3 2 5 4 5 4 3 5 4 4 ...
## $ nr3 : int 5 1 5 4 1 3 3 5 5 4 ...
## $ nr4 : int 4 2 5 4 2 4 4 5 3 5 ...
## $ nr5 : int 4 2 5 4 2 3 4 5 4 4 ...
## $ nr6 : int 3 1 5 3 2 1 1 5 2 4 ...
## $ lz : num 5.4 6 3 6 3.2 5.8 4.2 NA 5.4 4.6 ...
## $ extra : num 2.75 3.75 4.25 4 2.5 3 2.75 3.5 4.75 5 ...
## $ vertr : num 3.75 4.75 4.5 4.75 4.75 3 3.25 5 4.5 4.5 ...
## $ gewis : num 4.25 2.75 3.75 4.25 5 4.25 4 4.75 4.5 3 ...
## $ neuro : num 4.25 5 4 2.25 3.75 3.25 3 3.5 4 4.5 ...
## $ intel : num 4.75 4 5 4.75 3.5 3 4 4 5 4.25 ...
## $ nerd : num 2.67 4 4.33 3.17 4.17 ...
## $ grund : chr "Interesse" "Allgemeines Interesse schon seit der Kindheit" "menschliche Kognition wichtig und rätselhaft; Interesse für Psychoanalyse; Schnittstelle zur Linguistik" "Psychoanalyse, Hilfsbereitschaft, Lebenserfahrung" ...
## $ fach : Factor w/ 5 levels "Allgemeine","Biologische",..: 5 4 1 4 2 NA 1 4 3 4 ...
## $ ziel : Factor w/ 4 levels "Wirtschaft","Therapie",..: 2 2 3 2 2 NA 1 2 2 2 ...
## $ lerntyp : num 1 1 1 1 1 NA 3 2 3 1 ...
## $ geschl : int 1 2 2 2 1 NA 2 1 1 1 ...
## $ job : int 1 2 1 1 1 NA 2 1 1 1 ...
## $ ort : int 1 1 1 2 2 NA 2 1 1 1 ...
## $ ort12 : int 1 1 1 1 1 NA 1 1 1 1 ...
## $ wohnen : Factor w/ 4 levels "WG","bei Eltern",..: 2 2 3 4 2 NA 2 1 1 3 ...
## $ uni1 : num 0 0 0 0 0 0 0 1 1 1 ...
## $ uni2 : num 1 1 0 1 1 0 0 1 1 1 ...
## $ uni3 : num 0 0 0 0 0 0 0 1 1 1 ...
## $ uni4 : num 0 0 1 0 0 0 0 0 0 0 ...
## $ geschl_faktor: Factor w/ 3 levels "weiblich","männlich",..: 1 2 2 2 1 NA 2 1 1 1 ...
## $ prok2_r : num 2 2 2 2 4 1 3 4 2 2 ...
## $ prok3_r : num 1 3 3 1 1 3 2 3 3 3 ...
## $ prok5_r : num 2 4 3 1 3 2 2 2 1 3 ...
## $ prok7_r : num 2 3 3 1 3 2 2 2 2 2 ...
## $ prok8_r : num 2 1 2 1 1 3 2 2 1 3 ...
## $ prok_ges : num 2 3.3 3.1 NA 2 2.1 2 2.8 2 3.3 ...
## $ nr_ges : num 3.33 1.5 4.83 3.5 2.17 ...
## $ nr_ges_z : num [1:159, 1] 0.0964 -2.1534 1.9372 0.3009 -1.3353 ...
## ..- attr(*, "scaled:center")= num 3.25
## ..- attr(*, "scaled:scale")= num 0.815
## $ nerd_std : num [1:159, 1] -0.7059 1.3395 1.8509 0.0611 1.5952 ...
## ..- attr(*, "scaled:center")= num 3.13
## ..- attr(*, "scaled:scale")= num 0.652
## $ neuro_std : num [1:159, 1] 0.869 1.912 0.521 -1.914 0.173 ...
## ..- attr(*, "scaled:center")= num 3.63
## ..- attr(*, "scaled:scale")= num 0.719
Der Datensatz besteht aus 159 Zeilen (Beobachtungen) und 47 Spalten (Variablen). Falls Sie bereits eigene Variablen erstellt haben, kann die Spaltenzahl natürlich abweichen.
Aufgabe 1
Welche der fünf Persönlichkeitsdimensionen Extraversion (extra
), Verträglichkeit (vertr
), Gewissenhaftigkeit (gewis
), Neurotizsimus (neuro
) und Intellekt (intel
) zeigt den höchsten linearen Zusammenhang mit der Lebenszufriedenheit (lz
)?
- Erstellen Sie für jeden Zusammenhang je ein Streudiagramm.
Lösung
extra
:
plot(fb22$extra, fb22$lz, xlim = c(0, 6), ylim = c(0, 7), pch = 19)
vertr
:
plot(fb22$vertr, fb22$lz, xlim = c(0, 6), ylim = c(0, 7), pch = 19)
gewis
:
plot(fb22$gewis, fb22$lz, xlim = c(0, 6), ylim = c(0, 7), pch = 19)
neuro
:
plot(fb22$neuro, fb22$lz, xlim = c(0, 6), ylim = c(0, 7), pch = 19)
intel
:
plot(fb22$intel, fb22$lz, xlim = c(0, 6), ylim = c(0, 7), pch = 19)

- Schätzen Sie für jeden Zusammenhang je ein Modell.
Lösung
extra
:
fme <- lm(lz ~ extra, fb22)
summary(fme)
##
## Call:
## lm(formula = lz ~ extra, data = fb22)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.2680 -0.7009 0.1320 0.8425 2.0096
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.6590 0.4128 8.863 1.73e-15 ***
## extra 0.3105 0.1194 2.599 0.0102 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.055 on 155 degrees of freedom
## (2 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.04177, Adjusted R-squared: 0.03559
## F-statistic: 6.757 on 1 and 155 DF, p-value: 0.01024
vertr
:
fmv <- lm(lz ~ vertr, fb22)
summary(fmv)
##
## Call:
## lm(formula = lz ~ vertr, data = fb22)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.2873 -0.6167 0.1127 0.7774 1.8480
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.6519 0.6136 5.952 1.71e-08 ***
## vertr 0.2588 0.1487 1.740 0.0838 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.067 on 155 degrees of freedom
## (2 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.01917, Adjusted R-squared: 0.01284
## F-statistic: 3.029 on 1 and 155 DF, p-value: 0.08376
gewis
:
fmg <- lm(lz ~ gewis, fb22)
summary(fmg)
##
## Call:
## lm(formula = lz ~ gewis, data = fb22)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.90189 -0.57501 0.07874 0.69811 2.25937
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7450 0.4900 5.602 9.42e-08 ***
## gewis 0.5075 0.1248 4.067 7.57e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.024 on 155 degrees of freedom
## (2 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.0964, Adjusted R-squared: 0.09058
## F-statistic: 16.54 on 1 and 155 DF, p-value: 7.57e-05
neuro
:
fmn <- lm(lz ~ neuro, fb22)
summary(fmn)
##
## Call:
## lm(formula = lz ~ neuro, data = fb22)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.2277 -0.6419 0.1188 0.7581 1.8795
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.4848 0.4404 12.454 <2e-16 ***
## neuro -0.2143 0.1194 -1.794 0.0748 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.066 on 155 degrees of freedom
## (2 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.02034, Adjusted R-squared: 0.01402
## F-statistic: 3.219 on 1 and 155 DF, p-value: 0.07476
intel
:
fmi <- lm(lz ~ intel, fb22)
summary(fmi)
##
## Call:
## lm(formula = lz ~ intel, data = fb22)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5318 -0.6023 0.0739 0.7387 2.0797
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7678 0.4779 5.791 3.77e-08 ***
## intel 0.5410 0.1312 4.123 6.07e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.023 on 155 degrees of freedom
## (2 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.09885, Adjusted R-squared: 0.09303
## F-statistic: 17 on 1 and 155 DF, p-value: 6.068e-05
Wenn wir die Koeffizienten der Modelle vergleichen, sehen wir, dass intel
den stärksten linearen Zusammenhang mit lz
aufweist (Hinweis: für den Vergleich der Modelle vergleichen wir den Determinationskoeffizienten der fünf Modelle! Dieser ist für das Modell mit dem Prädiktor Intellekt am höchsten)- Prüfen Sie die Voraussetzungen und interpretieren Sie den standardisierten Koeffizienten des linearen Zusammenhangs zwischen Intellekt und Lebenszufriedenheit. Wie verändert sich
lz
, wenn sichintel
um eine Standardabweichung erhöht?
Lösung
Voraussetzungen:
- Linearität: Zusammenhang muss linear sein \(\rightarrow\) Grafische Überprüfung (Scatterplot)
- Varianzhomogenität (Homoskedastizität) der Fehler: der Fehler jedes Wertes der UV hat annähernd die gleiche Varianz
- Normalverteilung der Fehlervariablen
- Unabhängigkeit der Fehler
Die Voraussetzungen 2-4 können erst geprüft werden, nachdem das Modell schon gerechnet wurde, weil sie sich auf die Fehler (Residuen: Differenz aus beobachtetem und vorhergesagtem Wert für y) beziehen!
zu 1. Linearität: Zusammenhang muss linear sein \(\rightarrow\) Grafische Überprüfung (Scatterplot)
plot(fb22$intel, fb22$lz, xlab = "Intellekt", ylab = "Lebenszufriedenheit",
main = "Zusammenhang zwischen Intellekt und Lebenszufriedenheit", xlim = c(0, 6), ylim = c(0, 7), pch = 19)
lines(loess.smooth(fb22$intel, fb22$lz), col = 'blue') #beobachteter, lokaler Zusammenhang
fmi <- lm(lz ~ intel, fb22) #Modell erstellen und ablegen
abline(fmi, col = "red") #Modellierter linearer Zusammenhang in zuvor erstellten Plot einzeichnen
zu Voraussetzungen 2-4:
par(mfrow = c(2, 2)) #Vier Abbildungen gleichzeitig
plot(fmi)
par(mfrow = c(1, 1)) #wieder auf eine Abbildung zurücksetzen
In diesem Fall ist alles weitestgehend erfüllt.
sfmi <- lm(scale(lz) ~ scale(intel), fb22)
sfmi
##
## Call:
## lm(formula = scale(lz) ~ scale(intel), data = fb22)
##
## Coefficients:
## (Intercept) scale(intel)
## 0.0002271 0.3131344
Wenn sich die Variable intel
um eine Standardabweichung verändert, verändert sich das Kriterium lz
um 0.31 Standardabweichungen.Aufgabe 2
Betrachten Sie nun den Zusammenhang von Neurotizismus und Lebenszufriedenheit etwas genauer:
- Erstellen Sie ein Streu-Punkt-Diagramm mit Regressionsgerade für den linearen Zusammenhang zwischen Neurotizismus und Lebenszufriedenheit.
Lösung
plot(fb22$neuro, fb22$lz, xlim = c(0, 6), ylim = c(0, 7), pch = 19)
abline(fmn, col = "red")

- Wie viel Prozent der Varianz werden durch das Modell erklärt?
Lösung
summary(fmn)
##
## Call:
## lm(formula = lz ~ neuro, data = fb22)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.2277 -0.6419 0.1188 0.7581 1.8795
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.4848 0.4404 12.454 <2e-16 ***
## neuro -0.2143 0.1194 -1.794 0.0748 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.066 on 155 degrees of freedom
## (2 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.02034, Adjusted R-squared: 0.01402
## F-statistic: 3.219 on 1 and 155 DF, p-value: 0.07476
- Das Modell erklärt 2.03% der Varianz in Lebenszufriedenheit durch Neurotizismus.
- Ein paar Studierende wurden nachträglich zum Studiengang Psychologie zugelassen und befinden sich daher nicht im Datensatz. Die neuen Studierenden wurden nachträglich befragt und weisen auf der Skala Neurotizismus folgende Werte auf: 1.25; 2.75; 3.5; 4.25; 3.75; 2.15. Machen Sie eine Vorhersage für die Lebenszufriedenheit für die neuen Studierenden.
Lösung
new <- data.frame(neuro = c(1.25, 2.75, 3.5, 4.25, 3.75, 2.15))
predict(fmn, newdata = new)
## 1 2 3 4 5 6
## 5.216925 4.895510 4.734803 4.574096 4.681234 5.024076