4th part - Leibniz Universität IT Services

Werbung
Statistische Datenanalyse mit R,
Korrelation und Regression
Dr. Andrea Denecke
Leibniz Universität IT-Services
Korrelationsanalyse
Eine Korrelationsanalyse soll herausfinden
Ob ein linearer Zusammenhang zwischen zwei metrischen Variablen
besteht
Die Stärke des Zusammenhangs
Die Richtung des Zusammenhangs (positiv, negativ)
Erster Schritt: Graphische Darstellung (z.B. Streudiagramm ), um
einen (subjektiven!) Eindruck über den Zusammenhang zu erhalten,
Abweichungen von der Linearität lassen sich erkennen
Zweiter Schritt: Berechnung des Korrelationskoeffizienten
Pearson‘s correlation (setzt normalverteilte Variablen voraus
Feststellung z.B. über Boxplots, Q-Q-plots)
Spearman rank correlation oder Kendalls Tau für ordinale oder
nicht normalverteilte Variablen, letzterer wird eher für kleine
Stichprobenumfänge empfohlen.
Korrelationsanalyse
Wir erwarten einen linearen Zusammenhang zwischen „gew“ und
„groes“ des „test“ Datensatzes.
Um diese Vermutung zu untersuchen, fertigen wir zuerst ein
Streudiagramm an:
scatterplot(test$groes, test$gew, smooth=F)
Dieses bestätigt subjektiv unsere Vermutung. Zur Auswahl des
geeigneten Verfahrens zur Berechnung der Korrelation muss man
noch untersuchen, ob die Variablen normalverteilt sind (Methode
wie gehabt: Boxplots und Shapiro-Wilk Test).
In unserem Fall würde man anhand des geringen
Stichprobenumfangs (n=10) ohnehin die nicht-parametrische
Variante wählen, kann sich also diese Untersuchung sparen.
Korrelationsanalyse
Dann berechnen wir den Korrelationskoeffizienten:
cor.test(test$groes, test$gew, method=„kendall“)
Man erhält ein tau von 0.719, also liegt eine starke positive
Korrelation zwischen der Größe und dem Gewicht der Probanden
vor, die auf dem 1% Niveau statistisch signifikant ist (p=0.004).
Übung: Berechnen Sie die Korrelation zwischen der Zahnlänge (len)
und der Vitamin C –Dosis (dose) bei dem ToothGrowth-Datensatz
Regressionsanalyse
Eine Regression ist eine mathematische Beschreibung einer
Korrelation/ eines Zusammenhangs.
Häufig werden lineare Regressionen verwendet
y=mx+b+ԑ
mit m=Steigung
b= Achsenabschnitt
x= Regressor
ԑ= Residuum
Die „Least-Square-Methode“ minimiert die Quadratsumme
der Residuen. Die Residuen sollten voneinander unabhängig
und normalverteilt sein sowie gleiche Varianzen haben. Die
Güte der Anpassung des Modells an die Daten wird durch
R² bestimmt.
Regressionsanalyse
Beispiel: Laden Sie den Datensatz „Ferkel.sav“ (spss.get(),
Paket Hmisc). Wir möchten herausfinden, ob es möglich ist,
anhand des Anfangsgewichts das Endgewicht der Ferkel/
Schweine zu bestimmen.
Ein Streudiagramm für kg_Einstallung und kg_Ausstallung sowie
eine Korrelation bestätigen, dass ein starker Zusammenhang
besteht (Pearsonscher Korrelationskoeffizient = 0.78).
Die lineare Regression wird durchgeführt über:
reg.ferkel <- lm(ferkel$kg.Ausst ~ ferkel$kg.Einst)
und erhalten folgende Ausgabe:
Coefficients: (Intercept) ferkel$kg.Einst
7.996
2.130
also ergibt sich für die Geradengleichung (y=mx+b)
kg.Ausst = 2.130*kg.Einst + 7.996
Regressionsanalyse
Im nächsten Schritt bestimmen wir die Güte des Modells:
summary(reg.ferkel)
Die lineare Regression erzeugt den folgenden Output:
Call:
lm(formula = ferkel$kg.Ausst ~ ferkel$kg.Einst)
Residuals:
Gewicht (kg) bei Ausstallung
Min
1Q Median
3Q
-7.9525 -1.8026 0.0778 1.9757
Max
9.6040
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)
7.9963
1.3846
5.775 3.86e-08 ***
ferkel$kg.Einst
2.1304
0.1353 15.746 < 2e-16 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.988 on 161 degrees of freedom
(13 observations deleted due to missingness)
Multiple R-squared: 0.6063,
Adjusted R-squared: 0.6039
F-statistic: 247.9 on 1 and 161 DF, p-value: < 2.2e-16
Regressionsanalyse
Diese Ausgabe gibt uns die Information, dass das R² 0.60 beträgt, das heißt,
60% der Gesamtvarianz wird durch dieses Modell erklärt. Die erklärende
Variable kg.Einst erklärt einen signifikanten Anteil des Regressionsmodells
(p<0.001).
Um herauszufinden, ob das Regressionsmodell geeignet ist um den Zusammenhang zwischen den zwei Variablen zu beschreiben, sollten die Residuen
1) voneinander unabhängig und
2) normalverteilt sein und
3) die gleiche Varianz haben.
Um 1) zu testen, erzeugt man ein Residuendiagramm und überprüft visuell,
ob ein Muster erkennbar ist.
plot(reg.ferkel$fitted.values, reg.ferkel$residuals)
abline(h=0) erzeugt eine Nulllinie
Regressionsanalyse
Anhand der Grafik lässt sich kein
Muster in den Residuen erkennen,
daher ist 1) erfüllt.
Um 2)(Normalverteilung) zu beweisen,
kann ein Q-Q-plot erzeugt werden
qqnorm(reg.ferkel$residuals)
qqline(reg.ferkel$residuals)
Man kann keine nennenswerte Abweichung von der Normalverteilung erkennen. Der Shapiro Wilk Test
shapiro.test
(reg.ferkel$residuals)$p.value
bestätigt dies mit einem p-Wert
von 0.13594.
Regressionsanalyse
Um 3) (gleiche Varianzen) zu beweisen, werden die standardisierten
Residuen in einem Diagramm verwendet (mean=1, sd=0) :
plot(reg.ferkel$fitted.values,
rstandard(reg.ferkel), ylim=c(-3,3))
Beachten: der Zugriff auf die rstandard Werte ist unterschiedlich!!!
Zusätzlich sollten zwei Orientierungslinien auf der Höhe von 2 und -2
gezeichnet werden (daher musste der ylim auf -3 und 3 gesetzt werden):
lty=2 erzeugt eine gestrichelte Linie
abline(h=c(2,-2), lty=2)
Warum „2“?  nach Falk et al. (2002)* treten Werte mit einer Abweichung vom
Mittelwert >2*sd mit einer Wahrscheinlichkeit von 5% auf.
*Falk, M., Marohn, F. and Tewes, B. (2002): Foundations of Statistical Analyses and
Applications with SAS, Birkhäuser Verlag, Basel.
Regressionsanalyse
Nur wenige Punkte liegen
außerhalb der Linien (<5%).
Es ist eine gleichmäßige Punktwolke zu erkennen, was auf
homogene Varianzen schließen
lässt.
Daher kann unser Modell im
Prinzip als geeignet betrachtet
werden, den Zusammenhang
zwischen dem Einstallungsund dem Ausstallungsgewicht
zu beschreiben. Das R² von 0,60
ist allerdings etwas unbefriedigend! D.h. für eine Vorhersage wäre es
zu ungenau, da weitere Faktoren einen erheblichen Einfluss haben.
Regressionsanalyse
Übung: Laden Sie den Testdatensatz „Davis“ (Paket „car“).
Inspizieren Sie die Daten sorgfältig!
1. Zeigen Sie, dass ein linearer Zusammenhang zwischen der
Größe und dem Gewicht besteht.
- Streudiagramm
- Normalverteilte Variablen?
- p-Wert
2. Führen Sie anhand der Daten eine lineare Regression durch.
- Streudiagramm (wie oben)
- Regressionsmodell
- Residuenanalyse auf Unabhängigkeit
Normalverteilung
Homogene Varianzen
Lösung
Im Streudiagramm der Daten werden Sie einen extremen Ausreißer
entdecken. Beim Inspizieren der Daten fällt
auf, dass diese Person ein Gewicht von 166 kg
bei einer Größe von 57 cm aufweist, was
natürlich unmöglich ist. Da das „reported
weight“ (repwt) 56 kg betrug und die „reported
height“ (repht) 163 cm, kann man von einer
Vertauschung der Daten ausgehen.
Daher kann man in diesem Fall die Werte
austauschen. Das neue Streudiagramm sieht
deutlich sinnvoller aus .
Um zu untersuchen, ob die Variablen Gewicht
(weight) und Größe (height) normalverteilt
sind, kann man z.B. durch Q-Q-plots feststellen
(nächste Seite).
Lösung
Anhand des Q-Q-plots der Größe kann man
keine Abweichung von der Normalverteilung feststellen. Der Shapiro-Wilk-Test
bestätigt diese Annahme (p=0.1697).
Für die Variable „weight“ zeigt der Q-Q-plot
eine Abweichung von der Normalverteilung,
der Shapiro-Wilk-Test bestätigt dies
(p=8.434e-07).
Da die Voraussetzung der Normalverteilung
nicht gegeben ist, kann der Test nach
„Pearson“ nicht angewendet werden,
stattdessen wird der „Spearman‘s“ Test
verwendet. Ergebnis: rho= 0.79  eine
starke positive Korrelation zwischen der
Größe und dem Gewicht liegt vor.
Lösung
Lineare Regression der Größe und des Gewichts:
Residuals:
Min
1Q
Median
3Q
Max
-18.3492 -3.7151 -0.2466
3.5349 20.8802
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 136.83054
2.02039
67.72
<2e-16 ***
weight
0.51696
0.03034
17.04
<2e-16 ***
--Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.702 on 198 degrees of freedom
Multiple R-squared: 0.5946,
Adjusted R-squared: 0.5925
F-statistic: 290.4 on 1 and 198 DF, p-value: < 2.2e-16
Regressionsmodell height = 0.51696*weight + 136.83054
R²= 0.5946, besagt, dass fast 60% der Größe einer Person durch dessen
Gewicht erklärt werden.
Lösung
Die Güte des Modells muss überprüft werden:
1. Unabhängigkeit der Residuen: kein Muster
erkennbar.
2. Normalverteilung der Residuen: die visuelle
Inspektion des Boxplots zeigt keine Abweichung
von der Normalverteilung (nur einige Ausreißer),
der Shapiro-Wilk Test bestätigt dies
(p= 0.2317838).
3. Varianzen der Variablen
sind gleich : Ausreißer <5%
und die Punkte sind annähernd gleich verteilt,
Daher kann die Gleichheit
der Varianzen angenommen werden.
Herunterladen