数据科学- 统计相关性

相关性

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

我们提到函数的目的是通过将输入 (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()

Output:

Correlation Coefficient = 1

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



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

Correlation Coefficient = -1

我们在这里绘制了虚构数据。 x 轴代表在培训课程之前我们工作的小时数。 y 轴是 Calorie_Burnage。

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

这里的相关系数是-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()