[英]How to interpret correlation coefficient
我試圖在我的因變量和自變量之間找到R中的相關系數。
data("mtcars")
my_data <- mtcars[, c(1,3,4,5,6,7)]
res <- cor(my_data)
round(res, 2)
結果,我得到了一個相關矩陣,其中一些帶有+ ve或-ve。
例如:如果mpg和disp之間的相關系數為-0.85,我怎么知道哪個變量在減少而一個在增加?
考慮這一點的另一種方法是,相關系數為-0.85告訴您,每個變量的一個標准偏差增加(減少)與另一個變量的0.85標准偏差減少(增加)相關。 您可以使用以下代碼以圖形方式查看此內容。
黑線是disp
與mpg
回歸的回歸線。 這與相關系數有關,因為回歸斜率等於相關系數乘以disp
的標准偏差除以mpg
的標准偏差。 (如果我們切換了x和y變量並執行lm(mpg ~ disp, data=mtcars)
,則回歸斜率將是相關系數乘以mpg
的標准偏差除以disp
的標准偏差。)
plot(mtcars$mpg, mtcars$disp)
abline(lm(disp ~ mpg, data=mtcars))
abline(v=mean(mtcars$mpg) + c(0, sd(mtcars$mpg)), col="red", lty="11")
abline(h=mean(mtcars$disp) + c(0, cor(mtcars$mpg, mtcars$disp)*sd(mtcars$disp)), col="red", lty="11")
您可以標准化兩個變量(即縮放值,以便它們以遠離均值的標准偏差為單位),這可能會使關系更清晰。 現在,相關系數和回歸斜率完全相同,因為兩個變量都已縮放為相同單位。 請注意, mpgS
中的1標准偏差變化與mpgS
中的-0.85標准偏差變化dispS
:
# Standardized versions of mpg and disp
mtcars$mpgS = (mtcars$mpg - mean(mtcars$mpg))/sd(mtcars$mpg)
mtcars$dispS = (mtcars$disp - mean(mtcars$disp))/sd(mtcars$disp)
plot(mtcars$mpgS, mtcars$dispS)
abline(lm(dispS ~ mpgS, data=mtcars))
abline(v=c(0,1), col="red", lty="11")
abline(h=c(0, cor(mtcars$mpg, mtcars$disp)), col="red", lty="11")
您還可以反轉圖中的mpg
和disp
角色,結果是等效的:
plot(mtcars$dispS, mtcars$mpgS)
abline(lm(mpgS ~ dispS, data=mtcars))
abline(v=c(0,1), col="red", lty="11")
abline(h=c(0, cor(mtcars$mpg, mtcars$disp)), col="red", lty="11")
請記住,相關系數所隱含的關系是基於線性關系的假設,如圖中的回歸線所體現。 如果實際數據中的關系不是線性的(如此處所示),則相關系數(或等效地,單個變量回歸)可能無法很好地預測自變量的值。
考慮以下腳本,該腳本僅比較mpg
和disp
:
res1 <- cor(mtcars$mpg, mtcars$disp)
res2 <- cor(mtcars$disp, mtcars$mpg)
round(res1, 2)
round(res2, 2)
兩個調用的輸出為-0.85
。 換句話說,相關系數的性質與一個變量相對於另一個變量的順序無關。 相反,負相關系數意味着隨着mpg
增加, disp
趨於減少。 而且我們還可以說,由於這句話disp
增加, mpg
趨於下降。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.