gpt4 book ai didi

r - 如何解释相关系数

转载 作者:行者123 更新时间:2023-12-02 20:33:02 25 4
gpt4 key购买 nike

我正在尝试找出因变量和自变量之间的 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")

enter image description here

您可以对这两个变量进行标准化(即缩放值,使它们以远离平均值的标准差为单位),这可能会使关系更加清晰。现在相关系数和回归斜率完全相同,因为两个变量已缩放为相同的单位。请注意 mpgS 中的 1 个标准差变化与 dispS 中的 -0.85 标准差变化相关:

# 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")

enter image description here

您还可以反转 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")

enter image description here

请记住,相关系数隐含的关系基于线性关系的假设,如图中的回归线所示。如果实际数据中的关系不是线性的(正如此处的情况),相关系数(或等效的单变量回归)可能无法提供对自变量值的良好预测。

关于r - 如何解释相关系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48089011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com