解题步骤:描述性统计——正态性检验———(符合的话)皮尔逊 (不符合的话)斯皮尔曼——假设检验是否显著
皮尔逊 person相关系数和斯皮尔曼spearman等级相关系数,它们可用来衡量两个变量之间的相关性的大小,根据数据满足的不同条件,我们要选择不同的相关系数进行计算和分析(建模论文中最容易用错的方法)。

1、相关概念

总体:所要考察对象的全部个体叫做总体。
样本:从总体所抽取的一部分个体叫总体的一个样本。
使用样本数据的样本均值和样本标准差来估计总体平均水平和偏离程度。

2、皮尔逊Person相关系数

1、相关系数和协方差

根据两组数据可知两总体均值,进而可以得出总体协方差。x,y变化一致,成正相关,方向相反成负相关。协方差可与用来反映相关性。

注意:但协方差的大小和两个变量的量纲有关,因此不适合做比较。
person相关系数就是用来消除量纲的影响,即将x和y标准化后的协方差。

2、person相关系数


可理解为数据X与Y的协方差/(X的标准差 *Y的标准差)

3、相关系数大小解释

(1)、当相关系数为0时,X和Y两变量无关系。
(2)、当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。
(3)、当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。
相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。

4、理解误区

只能用来衡量两个变量线性相关程度的指标。也就是说必须确认这两个变量是线性相关,然后这个相关系数才能告诉你这两变量的相关程度如何。
一些特殊情况:

5、person相关系数适用范围

两个变量之间是线性关系,那么皮尔逊相关系数绝对值大就是相关性强。
如果不知道是什么关系的情况下,即使算出相关系数,也不能说明他们相关,一定要画出散点图来看。

例题:现有某中学八年级所有女学生的体测样本数据,请见下表,试计算各变量之间的皮尔逊相关系数。并分析数据之间的相关关系及显著性水平。

步骤一:通过spss做出数据的两两之间的散点图,观察数据间是否存在线性关系

spss操作方法:图形 - 旧对话框 - 散点图/点图 - 矩阵散点图

分析:直观上看(肺活量,50米跑)之间具有一定的线性关系
步骤二:皮尔逊相关系数计算
将数据导入matlab中,即在matlab工作区中-新建-变量命名为Test,另存为‘physical fitness test.mat’文件,通过matlab的load命令将数据加载入工作区中。

matlab计算皮尔逊相关系数代码如下:

clear;clc
load 'physical fitness test.mat'  %文件名如果有空格隔开,那么需要加引号
%% 计算各列之间的相关系数
% 在计算皮尔逊相关系数之前,一定要做出散点图来看两组变量之间是否有线性关系
% 这里使用Spss比较方便: 图形 - 旧对话框 - 散点图/点图 - 矩阵散点图

[R,p] = corrcoef(Test) % correlation coefficient

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7


步骤三:
按照之前R和P的联合分析来看,以三个R和P的联合数据匹配分析举例来看:
(1,3)即(身高,肺活量)的R=-0.2177且P=0.0000
由R即皮尔逊相关系数大小为负可知,身高和肺活量呈负相关;又P<0.05,相关性显著,即在当前的样本下可以明显的观察到两变量的呈负相关,两个变量的相关有统计学意义
(3,4)即(肺活量,50米跑)的R=0.2898且P=0.0000
由R即皮尔逊相关系数大小为正可知,肺活量和50米跑呈正相关;又P<0.05,相关性显著,即在当前的样本下可以明显的观察到两变量的呈正相关,两个变量的相关有统计学意义。
(1,5)即(身高,立定跳远)的R=0.0440且p=0.2859
因为P>0.1,所以身高和立定跳远无线性关系,可能为其他非线性关系,即使R为正。

2、皮尔逊相关系数假设检验

方法一
第一步:提出原假设和备择假设
第二步:在原假设成立的情况下,构造符合某一分布的统计量
对于皮尔逊相关系数r而言,可以构造统计量t,是自由度为n-2的t分布
第三步:将要检验的值,代入统计量中得到一个检验值
第四步:画出该分布的概率密度,给出置信区间,找到临界值,画出统计量的接受域和拒绝域。
第五步:看计算出来的检验值是落在拒绝域还是接受域,并下结论。

%% 假设检验部分
x = -4:0.1:4;
y = tpdf(x,28);  %求t分布的概率密度值 28是自由度
figure(1)
plot(x,y,'-')
grid on  % 在画出的图上加上网格线
hold on  % 保留原来的图,以便继续在上面操作
% matlab可以求出临界值,函数如下
tinv(0.975,28)    %    2.0484
% 这个函数是累积密度函数cdf的反函数
plot([-2.048,-2.048],[0,tpdf(-2.048,28)],'r-')
plot([2.048,2.048],[0,tpdf(2.048,28)],'r-')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

方法二:p值判断法
p值=检验值大于边界值的数值
双侧检验是单侧检验的两倍
比较p值和0.05的关系,大于接受h0,小于拒绝h0

%% 计算p值
x = -4:0.1:4;
y = tpdf(x,28);
figure(2)
plot(x,y,'-')
grid on
hold on
% 画线段的方法
plot([-3.055,-3.055],[0,tpdf(-3.055,28)],'r-')
plot([3.055,3.055],[0,tpdf(3.055,28)],'r-')
disp('该检验值对应的p值为:')
disp((1-tcdf(3.055,28))*2)  %双侧检验的p值要乘以2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

计算出数据的R值和p值,根据p值标星

%% 计算各列之间的相关系数以及p值
[R,P] = corrcoef(Test)
% 在EXCEL表格中给数据右上角标上显著性符号吧
P < 0.01  % 标记3颗星的位置
(P < 0.05) .* (P > 0.01)  % 标记2颗星的位置
(P < 0.1) .* (P > 0.05) % % 标记1颗星的位置
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

皮尔逊相关系数假设检验条件
1.数据来自于正态分布的总体
2.数据之间不能差异太大
3.每组样本之间独立抽样

3、数据正态分布检验

1、正态分布JB检验(大样本 n>30)

正态分布偏度为0,峰度为3
计算偏度和峰度代码

% 正态分布的偏度和峰度
x = normrnd(2,3,100,1);   % 生成100*1的随机向量,每个元素是均值为2,标准差为3的正态分布
skewness(x)  %偏度
kurtosis(x)  %峰度
  • 1
  • 2
  • 3
  • 4

JB统计量服从自由度为2的卡方分布
步骤一:做假设和备则假设
步骤二:计算偏度和峰度,得到检验值,并计算对应的p值
步骤三:p与0.05比较,小于拒绝原假设

% 检验第一列数据是否为正态分布
[h,p] = jbtest(Test(:,1),0.05)
[h,p] = jbtest(Test(:,1),0.01)

% 用循环检验所有列的数据
n_c = size(Test,2); % number of column 数据的列数
H = zeros(1,6); % 初始化节省时间和消耗
P = zeros(1,6);
for i = 1:n_c
[h,p] = jbtest(Test(:,i),0.05);
H(i)=h;
P(i)=p;
end
disp(H)
disp(P)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

2、夏皮洛威尔克检验(小样本3~50)spss

3、Q-Q图

在统计学中,Q‐Q图(Q代表分位数Quantile)是一种通过比较两个概 率分布的分位数对这两个概率分布进行比较的概率图方法。
首先选定分位数的对应概率区间集合,在此概率区间上,点(x,y)对应 于第一个分布的一个分位数x和第二个分布在和x相同概率区间上相同的分 位数。
这里,我们选择正态分布和要检验的随机变量,并对其做出QQ图, 可想而知,如果要检验的随机变量是正态分布,那么QQ图就是一条直线。
要利用Q‐Q图鉴别样本数据是否近似于正态分布,只需看Q‐Q图上的点 是否近似地在一条直线附近。(要求数据量非常大)

% Q-Q图
qqplot(Test(:,1))
  • 1
  • 2

3、斯皮尔曼spearman相关系数

公式如下:

例子:
有这样一组数据,X和Y,计算斯皮尔曼相关系数:
1).计算X和Y的等级

x=3的等级,是3在所有取值中从小到大排列的位置,为2,依次类推。在根据斯皮尔曼相关系数公式求解相关系数。

2).根据斯皮尔曼相关系数公式计算结果

另外一种spearman相关系数定义
斯皮尔曼相关系数被定义成等级之间的皮尔逊相关系数。matlab使用的是这种斯皮尔曼相关系数的定义。

%% 斯皮尔曼相关系数
X = [3 8 4 7 2]'  % 一定要是列向量哦,一撇'表示求转置
Y = [5 10 9 10 6]'
% 第一种计算方法
1-6*(1+0.25+0.25+1)/5/24

% 第二种计算方法
coeff = corr(X , Y , ‘type’ , ‘Spearman’)
% 等价于:
RX = [2 5 3 4 1]
RY = [1 4.5 3 4.5 2]
R = corrcoef(RX,RY)

% 计算矩阵各列的斯皮尔曼相关系数
R = corr(Test, ‘type’ , ‘Spearman’)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

斯皮尔曼相关系数的假设检验
小样本情况,n小于30,直接查临界值表即可
大样本情况

四、皮尔逊相关系数VS斯皮尔曼相关系数

斯皮尔曼相关系数和皮尔逊相关系数选择:

1.连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用 spearman相关系数也可以, 就是效率没有pearson相关系数高。

2.上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。

3.两个定序数据之间也用spearman相关系数,不能用pearson相关系数。

定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。 例如:优、良、差; 我们可以用1表示差、2表示良、3表示优,但请注意,用2除以1得出的2并不代表任何含义。定序数据最重要的意义代表了一组数据中的某种逻辑顺序。

皮尔逊相关系数和斯皮尔曼相关系数相关推荐

  1. 利用协方差,皮尔逊相关系数和斯皮尔曼相关系数确定变量间的关系

    利用协方差,皮尔逊相关系数和斯皮尔曼相关系数确定变量间的关系 https://www.toutiao.com/i6550915552490029576/ 数据集中的变量之间可能存在复杂且未知的关系.重 ...

  2. 相关系数和相关性分析(上):皮尔逊相关系数、斯皮尔曼相关系数

    专注系列化.高质量的R语言教程 推文索引 | 联系小编 | 付费合集 我们最常用的相关系数是皮尔逊(Pearson)相关系数,也叫简单相关系数,用来衡量两个配对连续变量的线性相关程度.此外,还有斯皮尔 ...

  3. java 皮尔逊相关系数_皮尔逊相关系数

    皮尔逊相关系数又称为简单相关系数,英文名称:pearson correlation coefficient,它描述了两个定距变量间联系的紧密程度(线性关系).样本的简单相关系数一般用R表示,计算公式为 ...

  4. 数学建模之皮尔逊相关系数

    皮尔逊相关系数 ☆这里的相关系数只是用来衡量两个变量线性相关程度的指标:也就是说,你必须先确认这两个变量是线性相关的,然后这个相关系数才能告诉你他俩相关程度如何. 一.定义和表达式 二.容易忽视和犯错 ...

  5. ML之PPMCC:PPMCC皮尔逊相关系数(Pearson correlation coefficient)、Spearman相关系数的简介、案例应用之详细攻略

    ML之PPMCC:PPMCC皮尔逊相关系数(Pearson correlation coefficient).Spearman相关系数的简介.案例应用之详细攻略 目录 PPMCC皮尔逊相关系数的简介 ...

  6. 计算相关系数 皮尔逊相关系数 Pearson、Spearman

    数据探索 计算相关系数 为了更加准确地描述变量之间的线性相关程度,可以通过计算相关系统来进行相关分析. 在二元变量的相关分析过程中比较常用的有Pearson相关系数,Spearman秩相关系数和判定系 ...

  7. python怎么计算相关系数_Python三种方法计算皮尔逊相关系数

    1.皮尔逊相关系数在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlat ...

  8. 【统计学】三大相关系数之皮尔逊相关系数(person correlation coefficient)

    统计学中的三大相关性系数:pearson, spearman, kendall,他们反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1. 0表示两个变量不相关,正值表示正相关,负值表示 ...

  9. Python三种方法计算皮尔逊相关系数以及实现给定数据集,返回数据集中每个特征和标签的相关系数

    特征预处理完之后,我们需要选择有意义的特征作为输入机器学习的算法和模型进行训练 在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数( ...

  10. ML之FE:PCC皮尔逊相关系数(Pearson correlation coefficient)的简介、案例应用(与spearman相关系数对比及其代码实现)之详细攻略

    ML之FE:PCC皮尔逊相关系数(Pearson correlation coefficient)的简介.案例应用(与spearman相关系数对比及其代码实现)之详细攻略 目录 PCC/PPMCC皮尔 ...

最新文章

  1. 实验详解——parted单磁盘分区并进行配额
  2. log4j 调试时候配置
  3. Java集合---HashSet的源码分析
  4. SAP License:SAP上线期初导入方法
  5. 克服大数据集群的挑战
  6. vs2010 “SetScrollSizes”: 找不到标识符
  7. oracle vm 4.3.12,Oracle VM VirtualBox 4.3.12_ZZZZ这个程序肿么卸载啊,卸载不了
  8. 【转】winrar命令行详解
  9. double bottoms
  10. 解析:深度学习框架Caffe源码
  11. 机器学习笔记 - 简单了解模式识别
  12. QT实现USB热插拔监控
  13. bzoj 4238: 电压 dfs树
  14. lol怎么显示连接服务器失败怎么回事,lol为什么有网无法连接服务器失败
  15. 三战南京大学计算机学硕上岸,初试403经验贴
  16. 跟Aivaliotis学习Nginx--[1.0.0]Nginx设计背景
  17. 十六进制转换十进制算法
  18. ANTMINER KA3 波卡链Polkadot绝对王者
  19. Google 2016面试题
  20. 亚马逊测评,提示listing被限流了,问题出在哪里?

热门文章

  1. python导出代码_python导出源代码 python编程
  2. thinkpad 机身清理
  3. win10 如何设置眼睛保护色(绿色)
  4. 站在知乎肩上-做更强的自己(2)
  5. 小米 note3 android,小米Note3将更新MIUI10:基于安卓8.1 速度提升明显手感更加丝滑...
  6. qt5.14(vc2015 x64位)的安装配置和vc2015上qobjectdefs的c2134和QColor的c2661编译问题解决
  7. QT 加载周立功CAN卡库
  8. RH850中断使用方法
  9. 计算机上安装了更新ie版本,电脑ie浏览器版本过低怎么升级方法
  10. HDU4282 A very hard mathematic problem 快速幂