天天看点

Python 数据分析实例——相关分析

作者:昌华量化
Python 数据分析实例——相关分析

相关系数是变量间关联程度的基本测度之一,如果我们想知道两个变量之间的相关性,就可以计算相关系数进行判定。相关系数的基本特征说明如下。

方向:

· 正相关:两个变量变化方向相同。

· 负相关:两个变量变化方向相反。

量级(Magnitude):

· 低度相关:0≤|r|< 0.3。

· 中度相关:0.3≤|r|< 0.8。

· 高度相关:0.8≤|r|< 1。

散点图:

在进行相关分析之前,通常会绘制散点图来观察变量之间的相关性,如果这些数据在二维坐标轴中构成的数据点分布在一条直线的周围,就说明变量间存在线性相关关系。

1.Python计算相关系数

Python 数据分析实例——相关分析

其中:

· r:相关系数。

· ZX:变量X的z分数。

· ZY:变量Y的z分数。

· N:X和Y取值的配对个数。

2.场景案例

我们知道影响金融产品销量的因素很多。作为用户来讲,最直接的参考指标一定是产品的利率,金融机构为了吸引更多的用户能够持有或购买某项金融产品,往往会推出加息活动,那么加息活动这个变量与实际销量之间是否存在相关关系?

【例1】

Python 数据分析实例——相关分析

计算相关系数的Python代码如下:

import numpy
X = [52,19,7,33,2]
Y = [162,61,22,100,6]

#均值
XMean = numpy.mean(X)
YMean = numpy.mean(Y)

#标准差
XSD = numpy.std(X)
YSD = numpy.std(Y)

#z分数
ZX = (X-XMean)/XSD
ZY = (Y-YMean)/YSD
#相关系数
r = numpy.sum(ZX*ZY)/(len(X))
print(ZX,ZY)
print(r)           

输出:

[ 1.61684964 -0.19798159 -0.85792022  0.57194681 -1.13289465] [ 1.63073842
-0.16342912 -0.85622649 0.52936824 -1.14045105]
0.999674032661831           

则得到结果:

Python 数据分析实例——相关分析