数据科学 - 统计学 相关性与因果关系
相关性不意味着因果关系
相关性衡量两个变量之间的数值关系。
高相关系数(接近 1),并不意味着我们能够肯定地得出两个变量之间存在实际关系的结论。
一个经典的例子
- 在夏季,海滩上冰淇淋的销量会增加
- 同时,溺水事故也随之增加
这是否意味着冰淇淋销量的增加是溺水事故增加的直接原因?
Python 中的海滩示例
在这里,我们为您构建了一个虚构的数据集以供尝试
示例
import pandas as pd
import matplotlib.pyplot as plt
Drowning_Accident = [20,40,60,80,100,120,140,160,180,200]
Ice_Cream_Sale = [20,40,60,80,100,120,140,160,180,200]
Drowning = {"Drowning_Accident": [20,40,60,80,100,120,140,160,180,200],
"Ice_Cream_Sale": [20,40,60,80,100,120,140,160,180,200]}
Drowning = pd.DataFrame(data=Drowning)
Drowning.plot(x="Ice_Cream_Sale", y="Drowning_Accident", kind="scatter")
plt.show()
correlation_beach = Drowning.corr()
print(correlation_beach)
自己尝试 »
输出
相关性与因果关系 - 海滩示例
换句话说:我们可以使用冰淇淋销量来预测溺水事故吗?
答案是 - 可能不行。
这两个变量很可能是偶然地相互关联的。
那么是什么导致了溺水呢?
- 游泳技能不熟练
- 海浪
- 抽筋
- 癫痫发作
- 缺乏监管
- 酒精(误)用
- 等等。
让我们反过来思考
低相关系数(接近零)是否意味着 x 的变化不会影响 y?
回到问题
- 由于相关系数低,我们能否得出平均脉搏率不影响卡路里燃烧的结论?
答案是否定的。
相关性和因果关系之间存在重要的区别
- 相关性是一个衡量数据相关程度的数值
- 因果关系是指 x 导致 y 的结论。
提示:在进行预测时,始终要批判性地思考因果关系的概念!