数据科学 - 统计相关性


相关性

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

我们提到函数的目的是通过将输入 (x) 转换为输出 (f(x)) 来预测值。我们也可以说函数利用两个变量之间的关系进行预测。


相关系数

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

相关系数永远不能小于-1或大于1。

  • 1 = 变量之间存在完美的线性关系(例如 Average_Pulse 与 Calorie_Burnage)
  • 0 = 变量之间不存在线性关系
  • -1 = 变量之间存在完美的负线性关系(例如,工作时间较少,会导致训练期间消耗更多卡路里)

完美线性关系示例(相关系数 = 1)

我们将使用散点图来可视化 Average_Pulse 和 Calorie_Burnage 之间的关系(我们使用了运动手表的小数据集,有 10 个观察值)。

这次我们想要散点图,因此我们将 kind 更改为 "scatter":

示例

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='scatter')
plt.show()
亲自试一试 »

输出:

Correlation Coefficient = 1

正如我们之前看到的,Average_Pulse 和 Calorie_Burnage 之间存在完美的线性关系。



完美负线性关系示例(相关系数 = -1)

Correlation Coefficient = -1

我们在这里绘制了虚构数据。 x 轴代表培训课程之前我们的工作时间。 y 轴是卡路里消耗量。

如果我们工作时间较长,我们的卡路里消耗往往会较低,因为我们在训练前就已经筋疲力尽了。

这里的相关系数为-1。

示例

import pandas as pd
import matplotlib.pyplot as plt

negative_corr = {'Hours_Work_Before_Training': [10,9,8,7,6,5,4,3,2,1],
'Calorie_Burnage': [220,240,260,280,300,320,340,360,380,400]}
negative_corr = pd.DataFrame(data=negative_corr)

negative_corr.plot(x ='Hours_Work_Before_Training', y='Calorie_Burnage', kind='scatter')
plt.show()
亲自试一试 »

非线性关系示例(相关系数 = 0)

Correlation Coefficient = 0

在这里,我们绘制了来自 full_health_data 集的 Max_Pulse 与 Duration 的关系图。

正如您所看到的,两个变量之间不存在线性关系。这意味着较长的训练不会导致较高的 Max_Pulse。

这里的相关系数为0。

示例

import matplotlib.pyplot as plt

full_health_data.plot(x ='Duration', y='Max_Pulse', kind='scatter')
plt.show()
亲自试一试 »