目录:

  1. 斯皮尔曼相关系数简介
  2. 斯皮尔曼相关系数计算
  3. 斯皮尔曼相关系数假设检验
    2.1 小样本假设检验
    2.2. 大样本假设检验
  4. 总结

0. 斯皮尔曼相关系数简介

斯皮尔曼相关系数(Spearman)也被叫做斯皮尔曼等级相关系数,同样用于衡量两个变量之间的相关性,在之前对皮尔逊相关系数的介绍中,我们提到了在进行皮尔逊相关系数运算的时候需要确定数据是否符合正态分布等等,较为麻烦,同时不满足正态性的数据难道就没有办法判断相关性了吗?离散的数据如何判断相关性呢?因此有人提出了另一种方法,即用数据的大小顺序来代替数值本身。

这种替代方法,本身也就是一个消除量纲的过程,我们提到了从协方差到皮尔逊相关的过程中,需要消除量纲,同样的从另一个角度出发,斯皮尔曼相关系数使用排序的方法消除量纲,在相关性分析中,用数据大小的排序代替原始的数据,也起到了消除量纲的作用。同时在分级数据比如优,良,中的等级数据中,我们适合使用斯皮尔曼相关系数。

连续数据,满足正态分布,判断是否具有线性的相关性的时候使用皮尔逊相关系数较为合适,如果不满足条件的话,我们应该使用斯皮尔曼相关系数。

1. 斯皮尔曼相关系数计算

我们举一个身高和睡眠时间的例子来说明斯皮尔曼相关系数的计算方法,第一步我们需要将数据从小打到大的排列顺序并给出所属的等级,当两个数据的数值相等的时候,我们计算数值等级的平均值作为等级数,比如身高栏中,身高栏的160有两个,应该排第三名和第四名,平均下来的等级应该是3.5。同理,我们也将睡眠时间的等级进行排序,得到等级大小。之后我们计算两组数据的等级差记为d用于计算斯皮尔曼相关系数。

斯皮尔曼相关系数的具体计算方法如下:

其中n是样本的数量,d代表数据x和y之间的等级差。在matlab中,为了计算斯皮尔曼相关系数我们可以直接使用corr指令。具体形式如下:

corr(x, y, ’type’, ’Spearman’)

2. 斯皮尔曼相关系数假设检验

和皮尔逊相关系数一样,在斯皮尔曼相关系数的计算中,得到了数值我们也无法知晓到底相关系数多大才是相关性强,多小才是相关性弱,为了表明强弱关系,我们需要引入假设检验的方法。

2.1 小样本假设检验
斯皮尔曼相关系数的假设检验分为两类,一个是小样本的情况,即样本的数量小于30的情况下时,可以直接使用查表的方式进行验证。虽然在不是那么严格的情况下,我们的样本数量大于30的时候也可以参考表格。

当我们的相关系数大于等于表中的临界值的时候。我们认为相关系数是有显著性差异的,即有相关性,相关性不为0。

2.2. 大样本假设检验
在大样本的情况下,我们可以通过构建统计量的方式进行假设检验,大牛们总结了在以下的统计量是符合正态分布的。因此当样本数量大于30的时候我们可以用如下的方法构建统计量,计算p值

在matlab中,如果是双侧检验的话我们的p值计算方式如下:

P = (1-normcfd(x))*2;

其中x就是我们构建的统计量,r乘样本数减一开根号。在得到的p值中,如果p值大于0.05,则没有显著性差异,也就是说没有理由认为显著性差异存在,即没有相关性。如果p值小于0.05的话,我们可以认为存在显著性的差异。

3. 总结

斯皮尔曼相关系数,也叫做斯皮尔曼等级相关系数,就是因为他通过等级排序的方式将数值转化为了等级排序,可以方便的应用在非正态性的数据,或者是评级的数据中,用于相关性的检验。如果说数据满足正态分布,而且连续,那么还是建议用散点图,加上皮尔逊相关系数以及假设检验的方式判断数据之间的相关性。

数学建模方法——斯皮尔曼相关系数及其显著性检验 (Spearman’s correlation coefficient for ranked data)相关推荐

  1. 数学建模matlab imread,《matlab数学建模方法与实践》第三章 数据的处理

    3.1数据的获取 3.1.1从Excel中读取数据 a= xlsread('路径',n(sheetn),'A(n-1):Bn(读入的数据范围)') 3.1.2从TXT中读取数据 3.1.2.1.1 同 ...

  2. matlab数学建模方法与实践 笔记1:快速入门

    入门案例 1.导入数据 2.数据探索 3.多项式拟合 4.发布功能 5.数据类型 6.全部代码 代码在Cha2文件夹下 1.导入数据 2.数据探索 3.多项式拟合 4.发布功能 5.数据类型 6.全部 ...

  3. 数学建模方法-灰色预测法

    一.引言 大家好,今天是第三天,前两篇博文用到的数学建模方法应用的数学知识还比较少,在这一篇章,需要的数学知识变多了,大致需要一些高等数学中导数部分的知识,大家如果忘了的话记得自己去补哈.好言归正传, ...

  4. 数学建模方法 —【06】拟合方法之curve_fit

    拟合方法--curve_fit 今天来说说curve_fit拟合方法,在前面的博文中,我也介绍了其他两种拟合方法以及拟合优度的计算,有兴趣的读者可以看看: 数学建模方法-[03]拟合优度的计算(pyt ...

  5. matlab快速入门案例及常用技巧 | 《matlab数学建模方法与实践(第三版)》学习笔记

    目录 快速入门案例: 解决流程: 具体实现: 一.获取数据 二.数据探索和建模 三.分享结果 常用技巧 一.常用标点功能 二.常用操作指令 三.指令编辑操作键 四.matlab数据类型 五.开发模式 ...

  6. matlab建模总结,MATLAB 数学建模方法与实践(第 3 版)

    本书从数学建模的角度介绍了 MATLAB 的应用,涵盖了绝大部分数学建模问题的 MATLAB 求解方法.全书共 5 篇.第一篇是基础篇,介绍基本概念,包括 MATLAB 在数学建模中的地位.数学模型的 ...

  7. 数学建模方法(1)引言

    参考资料:<数学建模方法及其应用>by 韩中庚 解放军信息工程大学 https://wwb.lanzoul.com/iuDWt08191yj 密码:bztd 数学建模的步骤 数学建模的过程 ...

  8. 数学建模方法总结(matlab)

    1. 前言 在这篇文章中,我会把我所接触的数学建模的知识的代码分享给大家,有的是我自己写的,更多的是网上借鉴并修改为可执行可用的代码 需要说明的是,我不太了解其中的数学实现的具体方法和原理,我只分享源 ...

  9. 数学建模:6 相关系数

    目录 选择哪个相关系数 总步骤 皮尔逊相关系数.假设检验 总体皮尔逊Pearson相关系数 样本皮尔逊Pearson相关系数 皮尔逊相关系数注意点 对相关系数大小的解释 皮尔逊相关系数假设检验的条件 ...

  10. 数学建模常用方法 | matlab代码 | 二十三种数学建模方法 |2022赛前突击 |模型代码 |比赛比用、简单高效| 分享

    为是赛前突击,所以就不过多的介绍理论知识了,直接上案例,matlab代码 更加详细例题解析: 公众h:露露IT 目录 1.类比法 2.二分法 3.量纲分析法 4.图论法 5.差分法 6.变分法 7.数 ...

最新文章

  1. Mysql中大表添加索引的办法
  2. Winfrom devexpress 通用权限框架
  3. linux下软链接与硬链接
  4. 团队编程项目作业2-团队编程项目开发环境搭建过程
  5. Cheat Engine教程关卡密码
  6. Pocket PC 2003 SE设备仿真器网络设置
  7. SAP CRM呼叫中心end按钮的实现逻辑
  8. [pytorch、学习] - 3.10 多重感知机的简洁实现
  9. java制作图形界面数据库_java图形界面以及链接数据库
  10. 张正友相机标定法--相机去畸变(C++)
  11. 快闪视频快影_快闪的12个步骤!
  12. VMware vSphere7 with Tanzu 安装方案
  13. 华为社会招聘面试流程
  14. 统驭科目(Reconciliation account)
  15. Mac如何安装MySQL和Navicat
  16. 十大智能家居系统解决方案
  17. 如何用java制作二维码
  18. ShopWind 开源电商系统 V3.4.3 发布,uni-app 商城案例,PC+APP+H5 + 小程序
  19. 【竞赛篇-新苗申报立项】浙江省新苗人才计划申报经验
  20. java入门之控制台输入人数成绩计算及格率(将成绩存入数组)与打印九九乘法表

热门文章

  1. 机器学习实战之KNN实现mnist手写数字分类
  2. 五款不错的Web前端开发工具,对小白来说完全够用了!
  3. awz3格式转epub格式转mobi格式
  4. android条码扫描串口,串口条码扫描器的正确安装方法[图解]
  5. Mathematic笔记
  6. QTP教程02 - 对象库及原理透析
  7. 简单小爬虫爬取招标信息
  8. 北京筑龙出席安徽省《电子招标投标办法》修订意见研讨会并发言
  9. javashop源码百度云,java电商系统源码分享,Javashop多用户商城源码
  10. 【Word】如何实现特殊数字 带圈数字