如何从pandas.corr()中(反向)查找其他值的范围?

0 投票
1 回答
69 浏览
提问于 2025-04-14 16:41

虽然这个话题很有趣,但我很难找到pandas.DataFrame.corr()的实际应用。

            age   weight   height       IQ
age        1.00     0.25     0.42     0.33
weight     0.25     1.00     0.82     0.69
height     0.42     0.82     1.00     0.08
IQ         0.33     0.69     0.08     1.00

假设我们有年龄、体重和身高的数据,怎么才能在这个相关性为0.33的情况下找到智商的范围呢?

或者,假设我们有年龄、体重、身高和智商的数据,怎么才能找到这些数据之间的相关性数值——也就是说,怎么找到每个数据之间的具体相关性值(这些值最终汇总成这个相关性图)?

另外,我也想知道,专家们是如何在实际情况下有意义地应用这些相关性数据的。

谢谢!

我试着搜索过了。

我并不想建立预测模型,我特别想了解pandas.DataFrame.corr()

1 个回答

1

我们再来看一个例子:

在这个表格中,相关系数是 0.82,这说明变量 '身高''体重' 之间有很强的关联性,也就是说,身高高的人通常体重也高;身高低的人体重也往往低。

相反,变量 '智商''体重' 之间的关联几乎可以忽略不计(0.08)。这意味着智商高的人,体重并不一定高或低。

如何在这个给定的相关系数0.33中找到智商的范围?

从这些数字中,你无法反推出底层数据的值范围。

如何找到每个单独数据的相关值(这些数据汇总成最终的相关性图)?

没有所谓的单独相关值,因为相关性是考虑整个变量(也就是你数据表中的一列),所以它只在汇总层面上有效。你不能仅仅通过一对值(比如1.80米和75公斤)来计算相关值。

我想知道专家们是如何在实际应用中有意义地使用这些相关数据的。

相关矩阵可以给我们一个关于变量的初步了解。这在处理多个线性回归时可能非常重要。因为在这种情况下,假设独立(预测)变量之间不应该有相关性。为了解决这个问题,需要逐步去掉一些变量。在这个特定的场景中,相关表(以及其他工具,比如 方差膨胀因子,VIF)可以帮助我们逐步检查独立变量是否仍然相关。

虽然相关系数能提供数据的见解,是一个很好的起点,但请记住,相关性(也叫 关联性,即“A和B同时发生”)并不一定意味着 因果关系(即“A是因为B发生的”)。可能还有其他因素会影响结果,仅仅依靠相关性可能会导致错误的结论。

撰写回答