数据科学- 统计相关性与因果性

相关性并不意味着因果关系

相关性衡量两个变量之间的数值关系。

高相关系数(接近 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:

Correlation vs. Causality

相关性与因果性 - 海滩示例

换句话说:我们可以使用冰淇淋销售来预测溺水事故吗?

答案是 - 可能不会。

这两个变量很可能意外地相互关联。

那么溺水的原因是什么?

  • 不熟练的游泳运动员
  • 波浪
  • 抽筋
  • 癫痫症
  • 缺乏监督
  • 饮酒(误用)
  • 等等

让我们反转论点:

低相关系数(接近于零)是否意味着 x 的变化不会影响 y?

回到问题:

  • 我们能否得出结论,Average_Pulse 不会因为相关系数低而影响 Calorie_Burnage?

答案是否定的。

相关性和因果性之间有一个重要区别:

  • 相关性是衡量数据相关程度的数字
  • 因果关系是 x 导致 y 的结论。

因此,在我们进行预测时,批判性地反思因果关系的概念很重要!