Review Lesson 14 自动摘要
review的代码及注释
Lesson 15 相关分析
相关性系数(correlation coefficient)
相关系数是变量间关联程度的最基本测量度之一
相关分析(correlation analysis)
是研究现象之间是否存在某种依存关系,并对具体有依存关系的现象探讨其相关方向以及相关程度,是研究随机变量之间的相关关系的一种统计方法
相关系数基本特征
方向(direction)
正相关(positive correlation):两个变量变化方向相同
负相关(negative correlation):两个变量变化方向相反
量级(magnitude)
低度相关 0 <= |r| < 0.3
中度相关 0.3 <= |r| < 0.8
高度相关 0.8 <= |r| <= 1
计算相关系数公式
协方差的公式为 S_{xy}=\sum_i^N \frac{(x_i-\mu_x)(y_i - \mu_y)}{N-1} 相关系数的公式为 r = \frac{S_{xy}}{S_x S_y},其中Sx,Sy分别表示x和y的标准差。
如果用之前学过的z分数表示,则为:
r-coefficient.pngr: 相关系数
Zx: 变量x的Z分数
Zy: 变量y的Z分数
N: X和Y取值的配对个数
代码实现相关系数的计算
#均值
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));
r
#直接调用Python的内置的方法计算,返回的是相关系数2D Array
numpy.corrcoef(X, Y)
#使用pandas包的DF内置方法计算,返回相关系数矩阵
import pandas;
data = pandas.DataFrame({
'X': X,
'Y': Y
})
data.corr()
安斯库姆四重奏(anscombe’s quartet)
这是个相关性分析的陷阱
数据可视化里最经典的案例:四组不同的数据做线性相关,得到相关系数一样(0.816)但实际作图可以看出很大差异。
在四幅图中,由第一组数据绘制的图表(左上图)是看起来最“正常”的,可以看出两个随机变量之间的相关性。从第二组数据的图表(右上图)则可以明显地看出两个随机变量间的关系是非线性的。第三组中(左下图),虽然存在着线性关系,但由于一个离群值的存在,改变了线性回归线,也使得相关系数从1降至0.81。最后,在第四个例子中(右下图),尽管两个随机变量间没有线性关系,但仅仅由于一个离群值的存在就使得相关系数变得很高。
网友评论