Câu hỏi của tôi nảy sinh từ một cuộc thảo luận với @whuber trong các bình luận của một câu hỏi khác .
Cụ thể, nhận xét của @whuber như sau:
Một lý do có thể làm bạn ngạc nhiên là các giả định trong thử nghiệm tương quan và thử nghiệm độ dốc hồi quy là khác nhau - vì vậy ngay cả khi chúng ta hiểu rằng mối tương quan và độ dốc thực sự đo lường cùng một thứ, tại sao giá trị p của chúng phải giống nhau? Điều đó cho thấy những vấn đề này đi sâu hơn đơn giản là liệu và có nên bằng nhau về số hay không.
Điều này khiến tôi suy nghĩ về nó và tôi đã bắt gặp rất nhiều câu trả lời thú vị. Ví dụ: tôi đã tìm thấy câu hỏi này " Giả định về hệ số tương quan " nhưng không thể thấy điều này sẽ làm rõ nhận xét ở trên như thế nào.
Tôi đã tìm thấy nhiều câu trả lời thú vị hơn về mối quan hệ của Pearson và độ dốc trong một hồi quy tuyến tính đơn giản ( ví dụ ở đây và ở đây ) nhưng không ai trong số họ dường như trả lời những gì @whuber đang đề cập trong bình luận của mình (ít nhất là không rõ ràng với tôi).
Câu 1: Các giả định làm cơ sở cho kiểm tra tương quan và kiểm tra độ dốc hồi quy là gì?
Đối với câu hỏi thứ 2 của tôi, hãy xem xét các kết quả đầu ra sau 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
Và đầu ra của cor.test()
hàm:
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
Như có thể thấy bởi đầu ra lm()
và cov.test()
đầu ra, hệ số tương quan của Pearson và ước tính độ dốc ( ) phần lớn khác nhau, tương ứng là 0,96 so với 0,485, nhưng giá trị t và giá trị p là như nhau.
Sau đó, tôi cũng đã thử xem liệu tôi có thể tính giá trị t cho và , mặc dù và khác nhau. Và đó là nơi tôi bị mắc kẹt, ít nhất là cho :
Tính độ dốc ( ) trong hồi quy tuyến tính đơn giản bằng tổng tổng bình phương của và :
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))
Tính toán ước lượng bình phương nhỏ nhất của độ dốc hồi quy, (có bằng chứng về điều này trong ấn bản R Book 1 của Crawley , trang 393):
b1 <- ss.xy/ss.x
b1
# [1] 0.4848781
Tính sai số chuẩn cho :
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
Và t-giá trị và giá trị p cho :
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
Điều tôi không biết vào thời điểm này, và đây là Câu hỏi 2 , là, làm thế nào để tính cùng một giá trị t bằng cách sử dụng thay vì β 1 (có lẽ trong các bước bé)?
Tôi giả sử rằng cor.test()
giả thuyết thay thế là liệu tương quan thực sự không bằng 0 (xem cor.test()
đầu ra ở trên), tôi sẽ mong đợi một cái gì đó giống như hệ số tương quan Pearson chia cho "lỗi tiêu chuẩn của hệ số tương quan Pearson" (tương tự như ở trên)?! Nhưng lỗi tiêu chuẩn đó sẽ là gì và tại sao?b1/se.b1
Có lẽ điều này có liên quan đến các giả định đã nói ở trên về một bài kiểm tra tương quan và bài kiểm tra độ dốc hồi quy ?!
EDIT (27-tháng 7-2017): Trong khi @whuber cung cấp một lời giải thích rất chi tiết cho Câu hỏi 1 (và một phần Câu hỏi 2 , xem các bình luận dưới câu trả lời của anh ấy), tôi đã đào sâu thêm và thấy rằng hai bài đăng này ( ở đây và ở đây ) hiển thị một lỗi tiêu chuẩn cụ thể cho , hoạt động tốt để trả lời Câu hỏi 2 , nghĩa là tái tạo giá trị t đã cho r :
r <- 0.9603906
# n <- 16
r.se <- sqrt((1-r^2)/(n-2))
r/r.se
# [1] 12.8956