Pertanyaan saya muncul dari diskusi dengan @whuber di komentar pertanyaan yang berbeda .
Secara khusus, komentar @whuber adalah sebagai berikut:
Salah satu alasan yang mungkin mengejutkan Anda adalah bahwa asumsi yang mendasari uji korelasi dan uji kemiringan regresi berbeda - jadi bahkan ketika kita memahami bahwa korelasi dan kemiringan benar-benar mengukur hal yang sama, mengapa nilai-p mereka harus sama? Itu menunjukkan bagaimana masalah ini lebih dalam dari sekadar apakah dan harus sama secara numerik.β
Ini membuat saya berpikir tentang hal itu dan saya menemukan berbagai jawaban menarik. Sebagai contoh, saya menemukan pertanyaan ini " Asumsi koefisien korelasi " tetapi tidak dapat melihat bagaimana ini akan mengklarifikasi komentar di atas.
Saya menemukan jawaban yang lebih menarik tentang hubungan Pearson dan slope dalam regresi linier sederhana (lihat di sini dan di sini misalnya) tetapi tidak satupun dari mereka yang menjawab apa yang dimaksud @whuber dalam komentarnya (setidaknya tidak jelas untuk saya).β
Pertanyaan 1: Apa asumsi yang mendasari uji korelasi dan uji kemiringan regresi?
Untuk pertanyaan ke-2 saya, pertimbangkan output berikut dalam 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
Dan output dari cor.test()
fungsi:
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
Seperti yang bisa dilihat oleh lm()
dan cov.test()
output, Pearson koefisien korelasi dan estimasi slope ( β 1 ) sebagian besar berbeda, 0,96 vs 0,485, masing-masing, tetapi t-nilai dan p-nilai yang sama.
Kemudian saya juga mencoba melihat apakah saya bisa menghitung nilai-t untuk dan β 1 , yang sama meskipun r dan β 1 berbeda. Dan di situlah saya terjebak, setidaknya untuk r :
Hitung kemiringan ( ) dalam regresi linier sederhana menggunakan total jumlah kuadrat x dan 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))
Hitung estimasi kuadrat-terkecil dari kemiringan regresi, (ada bukti tentang hal ini dalam Crawley's R Book edisi 1 , halaman 393):
b1 <- ss.xy/ss.x
b1
# [1] 0.4848781
Hitung kesalahan standar untuk :
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
Dan nilai-t dan nilai-p untuk :
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
Apa yang saya tidak tahu pada titik ini, dan ini adalah Pertanyaan 2 , adalah, bagaimana cara menghitung nilai-t yang sama menggunakan bukannya β 1 (mungkin dalam langkah-langkah bayi)?
Saya berasumsi bahwa karena cor.test()
hipotesis alternatif 's adalah apakah benar korelasi tidak sama dengan 0 (lihat cor.test()
output di atas), aku akan mengharapkan sesuatu seperti Pearson koefisien korelasi dibagi dengan 'standard error dari koefisien korelasi Pearson'(mirip dengan atas)?! Tapi apa kesalahan standar itu dan mengapa?b1/se.b1
Mungkin ini ada hubungannya dengan asumsi yang disebutkan di atas yang mendasari uji korelasi dan uji kemiringan regresi ?!
EDIT (27-Jul-2017): While @whuber memberikan penjelasan yang sangat terperinci untuk Pertanyaan 1 (dan sebagian Pertanyaan 2 , lihat komentar di bawah jawabannya), saya melakukan penggalian lebih lanjut dan menemukan bahwa dua pos ini (di sini dan di sini ) melakukan menunjukkan kesalahan standar khusus untuk , yang berfungsi baik untuk menjawab Pertanyaan 2 , yaitu mereproduksi nilai-t yang diberikan r :
r <- 0.9603906
# n <- 16
r.se <- sqrt((1-r^2)/(n-2))
r/r.se
# [1] 12.8956