Press "Enter" to skip to content

相关性介绍

学习相关性的基础知识以及在数据科学和机器学习中的应用

相关性介绍 数据科学 第1张

阅读本文后,读者将学到以下内容:

  • 相关性的定义
  • 正相关性
  • 负相关性
  • 不相关性
  • 相关性的数学定义
  • Python实现相关系数
  • 协方差矩阵
  • Python实现协方差矩阵

相关性

相关性衡量两个变量的共同移动程度。

正相关性

如果变量Y随着变量X的增加而增加,则XY呈正相关关系,如下所示:相关性介绍 数据科学 第2张

负相关性

如果变量Y随着变量X的增加而减少,则XY呈负相关关系,如下所示:

相关性介绍 数据科学 第3张

不相关性

XY之间没有明显的关系时,我们称XY为不相关,如下所示:

相关性介绍 数据科学 第4张

相关性的数学定义

XY是给定的两个特征,如下所示:

X = (X1 , X2 , . . ., Xn ) Y = (Y1 , Y2 , . . ., Yn )

XY之间的相关系数为:

相关性介绍 数据科学 第5张

其中,mu和sigma分别表示均值和标准差,Xstd是变量X的标准化特征。相关系数是XY的标准化特征的向量点积(标量积)。相关系数的取值范围在-1到1之间。接近1的值表示强正相关,接近-1的值表示强负相关,接近零的值表示低相关或不相关。

Python实现相关系数

import numpy as np

import matplotlib.pyplot as plt

n = 100

X = np.random.uniform(1,10,n)

Y = np.random.uniform(1,10,n)

plt.scatter(X,Y)

plt.show()

相关性介绍 数据科学 第6张

X_std = (X - np.mean(X))/np.std(X)

Y_std = (Y - np.mean(Y))/np.std(Y)

np.dot(X_std, Y_std)/n

0.2756215872210571

# 使用numpy

np.corrcoef(X, Y)

array([[1.        , 0.27562159],
       [0.27562159, 1.        ]])

协方差矩阵

协方差矩阵是数据科学和机器学习中非常有用的矩阵。它提供了有关数据集中特征之间共同移动(相关性)的信息。协方差矩阵为:

相关性介绍 数据科学 第7张

其中mu和sigma表示给定特征的均值和标准差。这里n是数据集中的观测次数,j和k的下标取值为1、2、3……m,其中m是数据集中的特征数量。例如,如果一个数据集有4个特征和100个观测值,则n=100,m=4,因此协方差矩阵将是一个4×4矩阵。对角线元素都为1,因为它们表示特征与自身之间的相关性,根据定义等于1。

Python实现协方差矩阵

假设我想计算4个科技股票(AAPL、TSLA、GOOGL和AMZN)在1000天内的相关性程度。我们的数据集有m=4个特征和n=1000个观测值。协方差矩阵将是一个4 x 4矩阵,如下图所示。

相关性介绍 数据科学 第8张 科技股票之间的协方差矩阵。作者提供的图片。

上述图像的代码可以在这里找到:Essential Linear Algebra for Data Science and Machine Learning 。

摘要

总之,我们回顾了相关性的基础知识。相关性定义了两个变量之间的协同运动程度。相关系数的取值范围为-1到1。接近零的值意味着低相关性或不相关性。 Benjamin O. Tayo是一位物理学家、数据科学教育家和作家,也是DataScienceHub的所有者。以前,Benjamin在俄克拉荷马中央大学、大峡谷大学和匹兹堡州立大学教授工程和物理学。

Leave a Reply

Your email address will not be published. Required fields are marked *