相关性是衡量两个变量之间关系的统计术语。如果关系是字符串,则意味着一个变量的变化以可预测的方式反映了另一个变量的变化,那么我们说这些变量是相关的。此外,第一变量的变化可引起第二变量的正或负变化。因此,它们被认为是正相关或负相关的。理想地,相关系数的值在-1至+1之间变化。
如果值是+1或接近+1,那么我们说变量是正相关的。它们同时沿同一方向变化。
如果该值是-1或接近-1,那么我们说变量是负相关的。它们同时沿相反的方向变化。
如果该值为0或接近0,那么我们说变量不相关。
有多种方法可以测量相关系数。它们可作为numpy或scipy.stats中的函数使用。下面我们将看到它们的用法。
Spearman的相关性是测量线性相关变量之间的关系的程度。它基于scipy.stats包用于生成结果的公式。它是用于找到相关性的最广泛使用的公式。
在下面的示例中,我们采用了两个变量,它们的值是使用numpy.randon()函数生成的。然后应用spearmanr()获得最终结果。
from numpy.random import randn from numpy.random import seed from scipy.stats import spearmanr seed(1) data_input1 = 20 * randn(1000) + 100 data_input2 = data_input1 + (10 * randn(1000) + 50) correlation = spearmanr(data_input1, data_input2) print(correlation)
输出结果
运行上面的代码给我们以下结果-
SpearmanrResult(correlation=0.8724050484050484, pvalue=1.58425746359e-312)
皮尔逊相关性是衡量线性相关变量之间关系程度的另一种方法。它基于scipy.stats包用于生成结果的公式。
在下面的示例中,我们采用了两个变量,它们的值是使用numpy.randon()funcntion生成的。然后应用pearsonr()获得最终结果。
from numpy.random import randn from numpy.random import seed from scipy.stats import pearsonr seed(1) data1 = 20 * randn(1000) + 100 data2 = data1 + (10 * randn(1000) + 50) correlation, _ = pearsonr(data1, data2) print('Pearsons correlation: %.3f' % correlation)
输出结果
运行上面的代码给我们以下结果-
Pearsons correlation: 0.888