Meine Frage entstand aus einer Diskussion mit @whuber in den Kommentaren einer anderen Frage .
Konkret lautete der Kommentar von @whuber wie folgt:
Ein Grund dafür könnte sein, dass die Annahmen, die einem Korrelationstest und einem Regressionssteigungstest zugrunde liegen, unterschiedlich sind. Selbst wenn wir verstehen, dass Korrelation und Steigung wirklich dasselbe messen, warum sollten ihre p-Werte dann gleich sein? Das zeigt, wie diese Probleme tiefer gehen als nur, ob und numerisch gleich sein sollten.β
Dies brachte mich zum Nachdenken und ich fand eine Vielzahl interessanter Antworten. Zum Beispiel fand ich diese Frage " Annahmen des Korrelationskoeffizienten ", kann aber nicht sehen, wie dies den obigen Kommentar verdeutlichen würde.
Ich habe in einer einfachen linearen Regression (siehe hier und hier zum Beispiel) interessantere Antworten über die Beziehung von Pearson's und der Steigung aber keine scheint zu beantworten, worauf sich @whuber in seinem Kommentar bezog (zumindest nicht offensichtlich) mir).β
Frage 1: Welche Annahmen liegen einem Korrelationstest und einem Regressionstest zugrunde?
Berücksichtigen Sie für meine zweite Frage die folgenden Ausgaben in R
:
model <- lm(Employed ~ Population, data = longley)
summary(model)
Call:
lm(formula = Employed ~ Population, data = longley)
Residuals:
Min 1Q Median 3Q Max
-1.4362 -0.9740 0.2021 0.5531 1.9048
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.3807 4.4224 1.895 0.0789 .
Population 0.4849 0.0376 12.896 3.69e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.013 on 14 degrees of freedom
Multiple R-squared: 0.9224, Adjusted R-squared: 0.9168
F-statistic: 166.3 on 1 and 14 DF, p-value: 3.693e-09
Und die Ausgabe der cor.test()
Funktion:
with(longley, cor.test(Population, Employed))
Pearson's product-moment correlation
data: Population and Employed
t = 12.8956, df = 14, p-value = 3.693e-09
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.8869236 0.9864676
sample estimates:
cor
0.9603906
Wie aus der ersichtlich ist , lm()
und cov.test()
Ausgabe der Korrelationskoeffizient Pearson und die Steigungsschätzung ( ) sind stark unterschiedlich, 0,96 vs. 0,485 bzw. aber der T-Wert und die p-Werte gleich sind.β 1
Dann habe ich auch versucht, herauszufinden, ob ich den t-Wert für und berechnen kann , die identisch sind, obwohl und unterschiedlich sind. Und da bleibe ich stecken, zumindest für :β 1 r β 1 r
Berechnen Sie die Steigung ( ) in einer einfachen linearen Regression mit den Gesamtsummen der Quadrate von und : x y
x <- longley$Population; y <- longley$Employed
xbar <- mean(x); ybar <- mean(y)
ss.x <- sum((x-xbar)^2)
ss.y <- sum((y-ybar)^2)
ss.xy <- sum((x-xbar)*(y-ybar))
Berechnen Sie die Schätzung der kleinsten Quadrate der Regressionssteigung (ein Beweis dafür ist in Crawleys R Book 1st Edition , Seite 393, zu finden):
b1 <- ss.xy/ss.x
b1
# [1] 0.4848781
Berechnen Sie den Standardfehler für :
ss.residual <- sum((y-model$fitted)^2)
n <- length(x) # SAMPLE SIZE
k <- length(model$coef) # NUMBER OF MODEL PARAMETER (i.e. b0 and b1)
df.residual <- n-k
ms.residual <- ss.residual/df.residual # RESIDUAL MEAN SQUARE
se.b1 <- sqrt(ms.residual/ss.x)
se.b1
# [1] 0.03760029
Und der t-Wert und der p-Wert für :
t.b1 <- b1/se.b1
p.b1 <- 2*pt(-abs(t.b1), df=n-2)
t.b1
# [1] 12.89559
p.b1
# [1] 3.693245e-09
Was ich an dieser Stelle nicht weiß, und dies ist Frage 2 , ist, wie man den gleichen t-Wert mit anstelle von β 1 berechnet (vielleicht in kleinen Schritten)?
Ich gehe davon aus, dass ich, da cor.test()
die alternative Hypothese lautet, ob die wahre Korrelation ungleich 0 ist (siehe cor.test()
Ausgabe oben), so etwas wie den Pearson - Korrelationskoeffizienten dividiert durch den "Standardfehler des Pearson - Korrelationskoeffizienten" erwarten würde (ähnlich dem über)?! Aber was wäre dieser Standardfehler und warum?b1/se.b1
Vielleicht hat dies etwas mit den oben genannten Annahmen zu tun, die einem Korrelationstest und einem Regressionssteigungstest zugrunde liegen ?!
BEARBEITEN (27. Juli 2017): Während @whuber eine sehr ausführliche Erklärung für Frage 1 (und teilweise Frage 2 , siehe Kommentare unter seiner Antwort) lieferte , habe ich einige weitere Untersuchungen durchgeführt und festgestellt, dass diese beiden Beiträge ( hier und hier ) zutreffen zeigen einen spezifischen Standardfehler für , der gut funktioniert, um Frage 2 zu beantworten , dh den t-Wert zu reproduzieren, der r gegeben ist :
r <- 0.9603906
# n <- 16
r.se <- sqrt((1-r^2)/(n-2))
r/r.se
# [1] 12.8956