如何从pandas.corr()中(反向)查找其他值的范围?
虽然这个话题很有趣,但我很难找到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 个回答
我们再来看一个例子:
在这个表格中,相关系数是 0.82
,这说明变量 '身高'
和 '体重'
之间有很强的关联性,也就是说,身高高的人通常体重也高;身高低的人体重也往往低。
相反,变量 '智商'
和 '体重'
之间的关联几乎可以忽略不计(0.08)。这意味着智商高的人,体重并不一定高或低。
如何在这个给定的相关系数0.33中找到智商的范围?
从这些数字中,你无法反推出底层数据的值范围。
如何找到每个单独数据的相关值(这些数据汇总成最终的相关性图)?
没有所谓的单独相关值,因为相关性是考虑整个变量(也就是你数据表中的一列),所以它只在汇总层面上有效。你不能仅仅通过一对值(比如1.80米和75公斤)来计算相关值。
我想知道专家们是如何在实际应用中有意义地使用这些相关数据的。
相关矩阵可以给我们一个关于变量的初步了解。这在处理多个线性回归时可能非常重要。因为在这种情况下,假设独立(预测)变量之间不应该有相关性。为了解决这个问题,需要逐步去掉一些变量。在这个特定的场景中,相关表(以及其他工具,比如 方差膨胀因子,VIF)可以帮助我们逐步检查独立变量是否仍然相关。
虽然相关系数能提供数据的见解,是一个很好的起点,但请记住,相关性(也叫 关联性,即“A和B同时发生”)并不一定意味着 因果关系(即“A是因为B发生的”)。可能还有其他因素会影响结果,仅仅依靠相关性可能会导致错误的结论。