热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

结合R语言学习多元统计分析1——相关系数及其检验

结合R语言学习多元统计分析1——相关系数及其检验简单相关系数的计算数理相关知识代码实现相关系数的假设检验数理基础代码实现多元相关系数实验使用的数据代码实现总结参考文献简单相关系数的计算 数理相关知识

结合R语言学习多元统计分析1——相关系数及其检验

  • 简单相关系数的计算
    • 数理相关知识
    • 代码实现
  • 相关系数的假设检验
    • 数理基础
    • 代码实现
  • 多元相关系数实验
    • 使用的数据
    • 代码实现
  • 总结
  • 参考文献


简单相关系数的计算

数理相关知识

对于连续无序变量x、y,计算其相关性通常采用皮尔森相关系数,其表达式为
ρ=cov(x,y)var(x)var(y)=σxyσx2σy2\rho=\frac{cov(x, y)}{\sqrt{var(x)var(y)}}=\frac{\sigma_{xy}}{\sqrt{\sigma_x^{2}\sigma_y^{2}}}ρ=var(x)var(y)

cov(x,y)=σx2σy2

σxy
在实际操作中,总体的方差标准差、两个变量间的协方差并不是已知,而是未知,所以通常利用样本的Pearson相关系数:
r=sxysx2sy2=∑(x−x‾)(y−y‾)∑(x−x‾)2(y−y‾)2r=\frac{s_{xy}}{\sqrt{s_x^{2}s_y^{2}}}=\frac{\sum{(x-\overline x)(y-\overline y)}}{\sqrt{\sum{(x-\overline x)^{2}(y-\overline y)^{2}}}}r=sx2sy2

sxy=(xx)2(yy)2

(xx)(yy)
其中sxys_{xy}sxy是变量xxx与变量yyy的样本协方差,sx2s_x^{2}sx2是变量xxx的样本方差,sy2s_y^{2}sy2是变量yyy的样本协方差。
在多元统计中(假设有n个系数、p个变量),由于不同变量之间的对比有更多的可能,相关系数就成了一个n∗pn*pnp的相关系数矩阵,其具体形式如下:
r=(1ρ12…ρ1pρ211…⋮⋮⋮⋱⋮ρn1ρn2…1)=D−12SD−12r=\begin{pmatrix} 1&\rho_{12}&\dots&\rho_{1p}\\ \rho_{21}&1&\dots& \vdots\\ \vdots&\vdots&\ddots&\vdots\\ \rho_{n1}&\rho_{n2}&\dots&1 \end{pmatrix} =D^{-{1\over2}}SD^{-{1\over2}}r=1ρ21ρn1ρ121ρn2ρ1p1=D21SD21
其中D为变量的标准差:
D=(σ120…00σ22…00…⋱00……σn2)D=\begin{pmatrix} \sigma_1^{2}&0&\dots&0\\ 0&\sigma_2^{2}&\dots&0\\ 0&\dots&\ddots&0\\ 0&\dots&\dots&\sigma_n^{2} \end{pmatrix}D=σ120000σ22000σn2

代码实现

在利用R语言求相关系数时,通常使用cor函数:


cor(x,y=NULL,method=c(“pearson”, “kendall”, “spearman”)|

其中x为数值向量、矩阵或数据框;y为空或数值向量、矩阵或数据框
method表示三种相关系数的计算方法,从左到右依次是:皮尔森相关系数、kendall秩相关系数、斯皮尔曼相关系数。R语言默认为pearson相关系数,即本文介绍的相关系数。



相关系数的假设检验

数理基础

相关系数与其它统计指标一样,有抽样误差,从同一总体抽取的大小相同的样本,其相关系数也不一定一致,要判断不等于0的r值来自ρ=0\rho=0ρ=0的总体样本还是ρ≠0\rho\ne0ρ=0的总体,必须进行显著性检验。对样本相关系数r进行t检验的步骤为:

  1. 建立检验假设,H0:ρ=0H_0:\rho=0H0:ρ=0,H1:ρ≠0H_1:\rho\ne0H1:ρ=0
  2. 计算相关系数r的t值:
    tr=r−01−r2n−2t_r=\frac{r-0}{ \sqrt{\frac{1-r^{2}}{n-2}} }tr=n21r2

    r0
    3.计算t值和p值,解释结果并作出结论。


代码实现

t统计量的计算:

n=length(x1) #计算向量的长度
tr=r/sqrt(1-r^2)/(n-2)) #相关系数假设检验t统计量


cor.test(x,y,alternative=c(“two.sided”,“less”,"greater),
method=c(“pearson”,“kendall”,“spearman”),…)

其中,x、y时长度相同的数据向量,alternative时备择假设,“two.sided”是双侧检验,“greater”是右侧检验,“less”是左侧检验。
method是计算方法。



多元相关系数实验

使用的数据

一家保险公司十分关心其总公司营业部加班的程度,决定认真调查以下现状。经过10周的时间,手机了该公司每周加班工作时间y(小时)的数据何签发的新保单数目x(张),数据见下表:

12345678910
x825215107055048092013503256701215
y3.5142134.51.535

(1)绘制散点图,并以此判断x与y之间是否大致呈线性关系。
(2)计算x与y的相关系数并检验1

代码实现

data=read.table("clipboard",header = T)
plot(data)
#生成的图表示x与y大致呈线性关系
#但是数据太少了,并不可以十分武断
r=cor(data$x,data$y)
#计算x与y的相关系数矩阵
n=length(data$x)
#计算样本的个数
tr=(r-0)/sqrt((1-r^2)/(n-2))
cor.test(data$x,data$y)
#从结果来看,其中p值是小于0.05的,由此拒绝原假设,即总体相关系数并不为0

总结

事实上,样本相关系数的假设检验并不常用。因为大部分的数据值之间的相关系数都难以等于零。

参考文献

[1]王斌会, 多元统计分析及R语言建模[M], 广东:暨南大学出版社, 2019.
[2]hhhhhliu, markdown编辑希腊字母[OB], CSDN, 不想按格式来了你点这个超链接吧.



  1. 本题引用自参考文献[1] ↩︎



推荐阅读
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • mysqldinitializeconsole失败_mysql03误删除了所有用户解决办法
    误删除了所有用户解决办法第一种方法(企业常用)1.将数据库down掉[rootdb03mysql]#etcinit.dmysqldstopShuttingdownMySQL..SU ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • Question该提问来源于开源项目:react-native-device-info/react-native-device-info ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • C#设计模式之八装饰模式(Decorator Pattern)【结构型】
    一、引言今天我们要讲【结构型】设计模式的第三个模式,该模式是【装饰模式】,英文名称:DecoratorPattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理 ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • uboot与linux驱动1.uboot本身是裸机程序(1)在裸机中本来是没有驱动概念的(狭义的驱动概念是指在操作系统中用来具体操控硬 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • Ihaveaforminadirectivetemplate:我在指令模板中有一个表单:<formn ... [详细]
  • 表达式树摘录(1)
    本文主要讲述ConstantExpression介绍表示具有常量值的表达式。ParameterExpression介绍表示命名的参数表达式。UnaryExpression介绍表示包 ... [详细]
author-avatar
单色设计
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有