数据科学- 统计相关性与因果性
相关性并不意味着因果关系
相关性衡量两个变量之间的数值关系。
高相关系数(接近 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)
亲自试一试 »
Output:
相关性与因果性 - 海滩示例
换句话说:我们可以使用冰淇淋销售来预测溺水事故吗?
答案是 - 可能不会。
这两个变量很可能意外地相互关联。
那么溺水的原因是什么?
- 不熟练的游泳运动员
- 波浪
- 抽筋
- 癫痫症
- 缺乏监督
- 饮酒(误用)
- 等等
让我们反转论点:
低相关系数(接近于零)是否意味着 x 的变化不会影响 y?
回到问题:
- 我们能否得出结论,Average_Pulse 不会因为相关系数低而影响 Calorie_Burnage?
答案是否定的。
相关性和因果性之间有一个重要区别:
- 相关性是衡量数据相关程度的数字
- 因果关系是 x 导致 y 的结论。
因此,在我们进行预测时,批判性地反思因果关系的概念很重要!