五、计算简单相关系数
相关系数(correlation coefficient)是反映两个变量之间关系的量化指标。这个统计值得值域范围是-1到1。当关心的是一个变量发生变化时,另一个变量如何变化, 可以采用计算相关系数的办法。相关反映变量间关系的动态性质。如果变量变化方向相同,相关是正相关(positive correction);如果变量变化方向相反,相关是负相关(negative correlation)。简单皮尔逊积矩相关系数的计算公式:
相关系数真正有意义的部分是测量一个变量与另一个共变的变量之间的距离。用python计算的示例,直接用scipy.stats.stats的pearsonr函数,也可以自己实现计算过程。
import scipy.stats.stats as stats
x=[2,4,5,6,4,7,8,5,6,7]
y=[3,2,6,5,3,6,5,4,4,5]
r=stats.pearsonr(x,y)[0]
print r
输出
0.69213308132
一种简单直观的表示相关的方式是建立所谓的散点图(scatterplot),上述例子散点图。
import matplotlib.pylab as plt
x=[2,4,5,6,4,7,8,5,6,7]
y=[3,2,6,5,3,6,5,4,4,5]
plt.xlim(0,9)
plt.ylim(1,7)
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.plot(x,y,'ro')
plt.show()
输出
不是所有的相关都是线性相关(linear correlation),比如年龄和记忆力之间的相关,少年时期,很强的正相关;青年和中年时期,没什么变化;老年时期,记忆力开始衰退。
如果有两个以上的变量,可以用相关矩阵来说明相关。如下例,矩阵中有4个变量,对应每一对变量都有一个系数,这个矩阵中有6个相关系数。
收入 |