相关分析

转自:http://blog.csdn.net/dmwithr/article/details/17077455

1 相关分析简介

  1. 相关分析简介
    • 现代自然科学研究, 经济检验, 企业管理等活动中普遍存在相互影响的关系
      • 函数关系是严格的确定对应关系,
      • 相关关系-是一种不要求确定性对应, 具有一定随机性的关系
    • 相关分析用来研究变量间相关关系
  2. 相关关系的种类
    • 按照相关关系的表现形态来划分, 可以分为线性相关和非线性相关
    • 按变量之间相互关系的方向, 分为正相关和负相关
    • 按变量之间相关的程度划分, 可以分为完全相关, 不相关, 和不完全相关
  3. 相关分析的主要内容

    相关分析是对相关关系密切程度的研究, 相关分析的主要内容为

    • 确定现象之间有无相关关系、
    • 确定相关关系的表现形式
    • 确定相关关系的密切程度和方向

      相关分析常通过图形 (散点图) 和数值 (相关系数) 两种方法来揭示事物之间统计关系的强弱 程度

  4. 绘制散点图

    scatter.png

2 Pearson相关分析

  1. Pearson 相关分析系数

    在相关分析中, 对于两个数值型变量, 通常采用Pearson相关系数来度量两 个变量之间的相关性,设  X=(x1,x2,,xn)  ,  Y=(y1,y2,,yn)  ,则变量  X  和  Y  的Pearson相关系数定义 为

    r(X,Y)=i=1n(xix¯)(yiy¯)i=1n(xix¯)2i=1n(yiy¯)2

    其中  x¯=1ni=1nxi, y¯=1ni=1nyi  为  X,Y  的均值

  2. Pearson 相关系数的含义和相关性是否显著的检验
    • Pearson 相关系数实际是两个中心化之后的两个变量的夹角余弦
    • 当两个变量完全正相关时(两向量方向完全相同), r=1
    • 若两个变量完全负相关, r=-1
    • 若两个变量无关(相互垂直), r=0
    • 在两个变量不相关的原假设下, 可以证明:
    t=rn21r2n-2

    据此可以检验两个变量之间的相关性是否显著

    • 缺点:如果X和Y为有序的等级变量, 此时数值上的加减没有意义, Pearson相关系数失去意 义, 为此我们考虑基于秩次的 Spearman 相关系数

3 Spearman相关分析

  1. Spearman 相关系数
    • Spearman相关系数常用来度量定序型变量之间的线性相关关系
    • 该系数的设计思想与Pearson简单相关系数完全相同
    • 由于变量不是定距型数据, 不能直接采用原始数据进行计算, 而是利用数据的秩
    • 所谓秩是指  xi  在  x1,,xn  中按照一定的准则排序的顺序
    • Spearman 相关系数的计算是将上述秩次带入到pearson 相关系数的计算公式中
  2. 变量的秩次
    • 利用两变量的秩次大小作线性相关分析, 对原始变量的分布不作要求.
    • 设  X=(x1,x2,,xn)  和  Y=(y1,y2,,yn)  为两个属性变量, 分别对A和 B从小到大进行排序, 求出秩次, 记为  UX, VY
    • 例如 X=(1,5,7,3,4), 1排在第一位, 秩为1, 5 排在第4位, 秩为4, 可 得 $UX$=(1,4,5,2,3),
  3. Spearman相关系数 的具体计算
    • 分别求出变量X 和 变量 Y 的秩次, 分别记为  UY=(U1,,Un),VY=(V1,,Vn) ,是取值 1,,n  的数值变量
    • 计算  UX,VY  的 Pearson相关系数, 即为 变量  X  和 Y  的 Spearman相关系数
      ρ(X,Y)=r(UX,VY)=i=1n(Uin+12)(Vin+12)i=1n(Uin+12)2i=1n(Vin+12)2=16i=1n(UiVi)2/(n(n21))
  4. Spearman 等级相关系数的含义
    • 当两变量完全正相关时, 有  UiVi=0,i=1,,n i=1n(UiVi)2=0  ,此时  ρ=1
    • 两变量完全负相关时, 有  Ui+Vi=n+1  ,此时  i=1n(UiVi)2  达到最大值, 此时  ρ=1
    • 当两个变量相关性较弱时, 变量秩的变化不具有同步性,  ρ  趋向于0
  5. 用Spearman秩相关系数进行统计推断

    在原假设成立, 即两变量相互独立时, 可以得出Spearman秩相关系数的分布

    • 样本量较少时, Spearman相关系数服从 Spearman分布
    • 大样本情况下
      Z=ρn1N(0,1)
    • 可以通过计算Spearman秩相关系数和对应的尾概率确定两个变量的相关性是否显著

4 Kendall  τ  相关分析

  1. Kendall  τ  相关系数
    • Kendall  τ  系数采用非参数检验方法度量定序变量之间的线性相关关系
    • 利用变量秩计算一致对(同序对) 数目  U  和非一致对(异序对) 数目  V  来生成
    • 显然, 如果两变量具有较强的正相关, 则一致对数目  U  较大, 非一致对数目  V  较小 , 负相关时情况恰好相反
  2. 采用kendall 相关系数进行相关性推断
    • kendall  τ  统计量的数字定义为
      τ=(UV)2n(n1)
      • 小样本情况下,  τ  服从 Kendall  τ  分布
      • 大样本情况下, 采用的检验统计量为:
        Z=τ9n(n1)2(2n+5)

        可以证明,  ZN(0,1)

5 相关分析的R实现

  1. 数据

    30名初中生的身高, 体重, 胸围, 坐高数据如下 求相关系数

    身高 体重 胸围 腰围
    148 41 72 78
    139 34 71 76
    160 49 77 86
    149 36 67 79
    159 45 80 86
    142 31 66 76
    153 43 76 83
    150 43 77 79
    151 42 77 80
    139 31 68 74
  2. pearson 相关系数的计算
    options(digits=3)
    student<-read.table(file="data/student.csv",sep=",",header=F)
    names(student)<-c("sg","tz","xw","zg")
    cor(student)
    
          sg    tz    xw    zg
    sg 1.000 0.863 0.732 0.920
    tz 0.863 1.000 0.897 0.883
    xw 0.732 0.897 1.000 0.783
    zg 0.920 0.883 0.783 1.000
    
  3. Pearson相关系数的检验
    sg<-student$sg
    tz<-student$tz
    cor.test(sg,tz,method="pearson")
    
    	Pearson's product-moment correlation
    
    data:  sg and tz
    t = 9.05, df = 28, p-value = 8.394e-10
    alternative hypothesis: true correlation is not equal to 0
    95 percent confidence interval:
     0.730 0.933
    sample estimates:
      cor
    0.863
    
  4. Spearman 相关系数的计算
    cor(student,method="spearman")
    
          sg    tz    xw    zg
    sg 1.000 0.852 0.746 0.949
    tz 0.852 1.000 0.897 0.894
    xw 0.746 0.897 1.000 0.813
    zg 0.949 0.894 0.813 1.000
    
  5. Spearman 相关系数的检验
    cor.test(student$sg,student$tz,method="spearman")
    
    	Spearman's rank correlation rho
    
    data:  student$sg and student$tz
    S = 664, p-value = 2.3e-09
    alternative hypothesis: true rho is not equal to 0
    sample estimates:
      rho
    0.852
    
    警告信息:
    In cor.test.default(student$sg, student$tz, method = "spearman") :
      无法给连结計算精確p值
    
  6. Kendall tau 相关系数
    cor(student,method="kendall")
    
          sg    tz    xw    zg
    sg 1.000 0.676 0.560 0.841
    tz 0.676 1.000 0.752 0.745
    xw 0.560 0.752 1.000 0.659
    zg 0.841 0.745 0.659 1.000
    

6 相关分析实现(Using Matlab)

  1. corr 函数说明
    1. corr 计算线性相关系数和秩相关系数
    2. RHO=corr(X) 返回 P ×P 矩阵, 矩阵元素为相应变量的先关系数
    3. RHO=corr(X,Y,...) 返回 P1-by-P2 矩阵, 矩阵元素对应 N-by-P1 and N-by-P2 matrices X and Y.
    4. [RHO,PVAL]=corr(...) 也返回 PVAL为检验向量不相关的 p-values 构成的矩阵, 若PVAL(i,j) 小于 0.05, 说明 RHO(i,j) 显著地偏离 0
    5. [...]=corr(...,'PARAM1',VAL1,'PARAM2',VAL2,...) 常见的参数如下
      • 相关系数类型 'type'
        1. 'Pearson' (默认值)计算Pearson 线性相关系数
        2. 'Kendall' 计算 Kendall's tau 相关系数
        3. 'Spearman' 计算 Spearman's rho.
      • 假设检验类型 'tail' 设定对立假设'both': 双边检验(默认值)  ρ0  , 'right' , 右边检验 ρ>0  , 'left', 左边检验  ρ<0
  2. 数据

    30名初中生的身高, 体重, 胸围, 坐高数据如下 求相关系数

    身高 体重 胸围 腰围
    148 41 72 78
    139 34 71 76
    160 49 77 86
    149 36 67 79
    159 45 80 86
    142 31 66 76
    153 43 76 83
    150 43 77 79
    151 42 77 80
    139 31 68 74
  3. matlab 命令
    student=csvread('data/student.csv');
    [pearson,pval]=corr(student)
    [spearman,pval]=corr(student,'type','Spearman')
    [kendall,pval]=corr(student,'type','Kendall')
    
  4. pearson 相关系数
    pearson =
    
        1.0000    0.8632    0.7321    0.9205
        0.8632    1.0000    0.8965    0.8827
        0.7321    0.8965    1.0000    0.7829
        0.9205    0.8827    0.7829    1.0000
    
    
    pval =
    
        1.0000    0.0000    0.0000    0.0000
        0.0000    1.0000    0.0000    0.0000
        0.0000    0.0000    1.0000    0.0000
        0.0000    0.0000    0.0000    1.0000
    
  5. Spearman 系数
    spearman =
    
        1.0000    0.8522    0.7458    0.9490
        0.8522    1.0000    0.8967    0.8944
        0.7458    0.8967    1.0000    0.8129
        0.9490    0.8944    0.8129    1.0000
    
    
    pval =
    
        1.0000    0.0000    0.0000    0.0000
        0.0000    1.0000    0.0000    0.0000
        0.0000    0.0000    1.0000    0.0000
        0.0000    0.0000    0.0000    1.0000
    
  6. Kendall  τ  系数
    kendall =
    
        1.0000    0.6762    0.5598    0.8408
        0.6762    1.0000    0.7515    0.7452
        0.5598    0.7515    1.0000    0.6594
        0.8408    0.7452    0.6594    1.0000
    
    
    PVAL =
    
        1.0000    0.0000    0.0000    0.0000
        0.0000    1.0000    0.0000    0.0000
        0.0000    0.0000    1.0000    0.0000
        0.0000    0.0000    0.0000    1.000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值