美文网首页
Python学习笔记-3群18组-杜杜狼-2017.8.10

Python学习笔记-3群18组-杜杜狼-2017.8.10

作者: 渡笃狼 | 来源:发表于2017-08-11 01:07 被阅读12次

    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.png

    r: 相关系数
    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。最后,在第四个例子中(右下图),尽管两个随机变量间没有线性关系,但仅仅由于一个离群值的存在就使得相关系数变得很高。

    相关文章

      网友评论

          本文标题:Python学习笔记-3群18组-杜杜狼-2017.8.10

          本文链接:https://www.haomeiwen.com/subject/wfnkrxtx.html