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


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

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

高相关系数(接近 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)
亲自试一试 »

输出:

Correlation vs. Causality

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

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

答案是——可能不会。

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

那么溺水的原因是什么?

  • 不熟练的游泳者
  • 波浪
  • 抽筋
  • 癫痫症
  • 缺乏监督
  • 酒精(误)使用
  • ETC。

让我们反过来论证:

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

回到问题:

  • 我们是否可以得出结论,由于相关系数较低,Average_Pulse 不会影响 Calorie_Burnage?

答案是不。

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

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

提示:在进行预测时始终批判性地反思因果关系的概念!