机器学习-入门

【概念】一篇入门之-相关系数与相关系数矩阵

作者 : 老饼 发表日期 : 2022-10-05 15:26:52 更新日期 : 2024-11-22 16:15:04
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



相关系数是数据分析中常用的一个系数,它的取值范围为-1到1,常用于检查变量间是否正负相关

本文介绍相关系数的计算公式、相关系数的意义,以及相关系数矩阵的意义及其计算方法

通过本文,可以快速了解相关系数、相关系数矩阵分别是什么,有什么用,以及如何计算




     01. 什么是相关系数     



本节初步介绍相关系数的计算公式和相关系数的意义




     相关系数是什么    


相关系数是统计学中用于度量变量与变量之间的相关程度的一个指标
 相关系数r的计算公式为:
 
 其中, 
x'和y'实际是将原始x,y标准化为标准差为1,均值为0的数据

  从公式可以看到,相关系数就是将 x 和 y进行标准化后,再对应相乘的总和
  ✍️相关系数的意义    
从相关系数的公式可知,当x=y时,相关系数为1,当x=-y时,相关系数为-1
相关系数取值范围在【-1,1】之间,它主要用于检测变量之间的线性相关性
 相关系数r的意义如下:
👉1. 相关系数r越接近  1,说明变量之间越正相关  
👉2. 相关系数r越接近-1,说明变量之间越负相关  
👉3. 相关系数r越接近  0,说明变量之间不相关     
总的来说,相关系数r的绝对值越大,相关性越强,|r|越小则相关性越弱




    相关系数与协方差的关系    


协方差通过除以标准差将输出归一化到【-1,1】之间, 就是相关系数
推导如下:

  
因此,相关系数也可以简单地理解为“标准化的协方差”







     02. 什么是相关系数矩阵     



本节讲解什么是相关系数矩阵,以及相关系数矩阵的计算方法




     相关系数矩阵    


多个变量时,变量间两两之间的相关系数,就组成了相关系数矩阵
通过相关系数矩阵,可以比较一目了然看到变量间的相关性
  通过下图可以清晰了解相关系数矩阵是个什么东东:   
 什么是相关系数矩阵 
     相关系数矩阵的计算公式    相关系数矩阵的计算公式如下:
  1.先将X里每个变量进行标准化:                             
 
 2.然后用标准化数据计算相关系数矩阵                      
  
 说明:本公式不是数学上的严谨公式,更偏向于编程时的公式形式,仅供参考
#---python求相关系数矩阵---
import numpy as np 
X   = np.array([[1,2,3],[2,3,3],[5,2,4],[6,8,3],[9,0,9]])  # 原始数据
Xm  = X.mean(axis = 0)                                     # 原始数据各列的均值
std = np.sqrt(sum((X-Xm)*(X-Xm)))                          # 原始数据各列的标准差
Xn  = (X - Xm)/std                                         # 原始数据各列标准化
R   = Xn.T@Xn                                              # 相关系数矩阵
print('\n相关系数矩阵R:\n',R)                               # 打印相关系数矩阵





好了,相关系数的计算公式、意义和代码实现就介绍到这里了~






 End 




联系老饼