数据科学 - 统计相关性
相关性
相关性衡量两个变量之间的关系。
我们提到函数的目的是通过将输入 (x) 转换为输出 (f(x)) 来预测值。我们也可以说函数利用两个变量之间的关系进行预测。
相关系数
相关系数衡量两个变量之间的关系。
相关系数永远不会小于 -1 或大于 1。
- 1 = 变量之间存在完美的线性关系(例如平均脉搏与卡路里燃烧量)
- 0 = 变量之间不存在线性关系
- -1 = 变量之间存在完美的负线性关系(例如,工作时间越少,训练期间的卡路里燃烧量越高)
完美线性关系示例(相关系数 = 1)
我们将使用散点图来可视化平均脉搏和卡路里燃烧量之间的关系(我们使用了包含 10 个观测值的小型运动手表数据集)。
这次我们想要散点图,所以我们将 kind 更改为“scatter”
示例
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='scatter')
plt.show()
自己尝试 »
输出
正如我们之前看到的,平均脉搏和卡路里燃烧量之间存在完美的线性关系。
完美负线性关系示例(相关系数 = -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)
在这里,我们绘制了 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()
自己尝试 »