精华内容
下载资源
问答
  • 相关系数的显著性检验
    2022-06-23 21:16:56

    [r,p]=corr(x,y)

    r 为相关系数,p为概率,p<.05、01分别为显著和极显著的线性关系。

    更多相关内容
  • 可以查询相关性是否显著,比如掌握样本数,得到的相关系数可以通过检查该表推断显著性
  • 心理统计学基础讲义 第六章 平均数差异、相关系数显著性检验.pdf
  • 0. 皮尔逊相关系数简介 相关系数是衡量两个数据相关关系的指标,两个数据相关在某种程度上可以帮助人们理解事物的变化规律。例如在商品推荐中,我们已知一个用户A的购买喜好,同时发现另一个用户B的购买数据和A...

    目录:

    1. 皮尔逊相关系数简介
    2. 皮尔逊相关系数
      1.1. 皮尔逊相关系数注意事项——要配合散点图
    3. 皮尔逊相关系显著性检验的条件
      2.1. Jarque-Bera检验 JB检验
      2.2. shapior-wilk 检验(matlab实现)
      2.3. Q-Q图
    4. 皮尔逊相关系数显著性检验方法
    5. 总结

    0. 皮尔逊相关系数简介

    相关系数是衡量两个数据相关关系的指标,两个数据相关在某种程度上可以帮助人们理解事物的变化规律。例如在商品推荐中,我们已知一个用户A的购买喜好,同时发现另一个用户B的购买数据和A相关性很高,那么我们可以根据A的喜好去给B推荐相关的产品,等等。皮尔逊相关系数(Pearson correlation coefficient)就是最为常用的用来衡量两个变量线性相关关系的指标,有了指标就有评分的依据,然而评分多高代表二者相关,评分多低代表二者无关呢?为了回答这个问题,我们常把皮尔逊相关系数和显著性检验共同使用以评价是不是二者有明显的相关性。

    1. 皮尔逊相关系数

    对皮尔逊相关系数的理解可以从很多个角度来进行,有人从协方差矩阵的角度思考,有人从向量cosine夹角的角度思考,这几种方式只要能让你对皮尔逊相关有感性的理解就可以。我们假设两组数据X和Y,每个都包含n个元素,计算二者协方差的方法就可以记为

    在这里插入图片描述
    其中E(X)和E(Y)分别代表二者的期望,也就是平均值。我们看分子部分,在分子中,当总体的一个值小x比X的平均值大,而且小y也比Y的平均值大的时候,分子就是正的,或者二者都小于平均值的时候,分子也是正的。当二者不都大于或者小于平均值的时候,分子就是负的。这里我们就可以感性的理解,如果数据杂乱,正负抵消,那么这个协方差就很小,就谈不上二者相关;如果两个变量相关,整个协方差就是很大的正值或者负值。然而从这里,我们也看出一些问题,就是这里面二者都是带有量纲的数据,假如说x都是0.01左右的数据,y都是1000左右的数据,那么整个的协方差就很容易被这么大的y带跑偏,为了解决这个量纲的问题,我们就消除量纲,从而得到一个无量纲的量,也就是皮尔逊相关系数了。方法就是除以二者的方差(可以看作每个x和y都经历了减均值除方差的归一化操作,消除了量纲)

    在这里插入图片描述
    在matlab中只需要一行代码即可搞定,即:

    r1=corr(x,y,'type','pearson');
    

    得到的皮尔逊相关系数都是在-1到1之间的,其中接近于1说明二者正相关,接近于-1说明二者负相关,越接近于0就说明二者越不相关。为了感性的理解皮尔逊相关系数,我们有如下的图示,来说明不同的数据分布对应的皮尔逊相关系数的大小:
    在这里插入图片描述

    1.1. 皮尔逊相关系数注意事项——一定要配合散点图
    为了说明皮尔逊相关系数的一些注意事项,我这里看下图,在下图的四个例子中,他们的相关系数都是一样的,左上角是一个正常的图,右上角明显符合二次函数的相关不符合线性相关,左下角存在一个噪声点,如果没有噪声点的存在将是很完美的相性相关,右下角同样存在离群点。这四个例子的皮尔逊相关系数完全一致,然而相关性千差万别,所以说我们在应用皮尔逊相关系数进行相关性判断的时候,一定要注意以下的几点:
    在这里插入图片描述

    • 皮尔逊相关系数是用于衡量线性相关关系的,因此,在数据的分布不清楚的情况下,直接比较皮尔逊相关系数不能说明任何问题,就算是皮尔逊相关系数大(非线性相关也会使皮尔逊相关系数很大),也不能说明两个变量线性相关,我们必须画出散点图进行比较。
    • 如果二者确实是线性关系,则皮尔逊相关系数大,就说明了确实更加的线性相关。
    • 离群点对于皮尔逊相关系数的影响很大,可以根据情况思考是否要将其剔除。
    • 就算皮尔逊相关系数是0也不能说明其完全不相关,可能是非线性相关的。

    (啥也说明不了,要你有何用!!!)所以我们要强调的是,在进行相关性的分析时一定要配合散点图,否则是无效的(扪心自问一下,是不是你也曾经犯过错误)。皮尔逊相关系数可以给我们提供一个数值,有一些做法是将其分级,比如说大小在多少之间就代表其是相关的(比如0.7到1及-0.7到-1代表很相关),等等。然而这样的比较虽然有一定的说服力但是始终有些主观。所以在一些应用中,比起直接比较相关性大小,往往我们更关注皮尔逊相关系数的显著性,所以这里就踏上了显著性检验之旅。

    回顾一下,我们这里主要讲解了皮尔逊相关系数的计算方法和一种理解方法,同时强调了皮尔逊相关系一定要和散点图共使用。

    2. 皮尔逊相关系显著性检验的条件
    皮尔逊相关系数的假设检验部分用到的是t检验的方法,而t检验的方法需要样本满足一定的前提条件,所以为了检验皮尔逊相关系数是否说明了显著性的相性相关,我们首先要检验数据是否满足了可以进行显著性检验的条件,这里条件有三条

    • 实验数据是成对的来自正态分布的总体。正态性是很多需要假设检验的前提条件,但是在很多的应用中并没有被严格的验证数据是否满足正态分布。
    • 实验数据之间的差距不能太大。我们之前降到了一些噪声点,离群的点是会对其相关系数造成较大影响的,所以说需要对噪声点进行修正或者剔除
    • 每组样本都是独立抽样的。独立抽样也是很多假设检验的前提条件。

    2.1. Jarque-Bera检验 JB检验
    JB检验是依靠偏度(skewness)和峰度(kurtosis)进行正态性检验的,需要注意的是JB检验适合大样本的情况,即我们的样本数量大于30的时候才可以使用。我们知道标准的正态分布是一个草帽形状的(或者叫啥墨西哥什么帽形状的)当草帽的尖尖向x轴负方向偏就叫做正偏斜,x轴正方向就叫做负偏斜。草帽在y方向被压扁了就叫做平峰,草帽被拉长了就叫做尖峰。这就是偏度和峰度的粗糙解释。其中偏度的定义是:
    在这里插入图片描述

    在matlab中用

    skewness(x);
    

    来计算,其中正态分布的偏度为0。峰度的定义为:
    在这里插入图片描述
    在matlab中用kurtosis(x); 来计算,其中正太分布的峰度根据公式的不同,值分别为3或者0。Matlab是用第一种方法来计算的。

    为了检验是否是满足正态分布,我们同样使用假设检验的方法,第一步就是构建统计量,JB统计量的构造方法如下:
    在这里插入图片描述
    有人证明出当我们的被验证数据是正态分布的话,那么我们的JB检验结果应该服从自由度为2的卡方分布。在这里,我们首先进行原假设和备择假设的设定,原假设H0:被检测数据符合正态分布,备择假设是H1:被检测数据不符合正态分布。在matlab中,我们使用jbtest命令来对进行jb检测,语句为

    [h,p] = jbetst(x,alpha);
    

    其中阿尔法的常见用值为0.05。所以大家也不需要自己计算偏度和峰度啥的。当结果h为1的时候,我们拒绝原假设的说法,接受备择假设的说法;当h为0的时候,我们没有理由拒绝原假设。也就是说当h为0的时候我们就认为整个的数据还是满足正态分布的。

    鉴于假设检验是数理统计中单独的一个大章节,一句话两句话讲不明白,我们这里就主要强调如何正确的使用,就不详细讲如何进行假设检验了。

    2.2. shapior-wilk 检验(matlab实现)
    Shapior 检验主要应用于小样本的情况下,即在样本量在3到50之间的时候进行的检验。同样的也是一个假设检验的过程,在matlab中需要调用统计学工具箱才可以进行进一步的验证,没有直接的指令。matlab中可以使用以下的方法进行shapior-wilk检验,首先要在命令行汇总输入如下的代码,其中A就是要检测的数据,可以自由变更,注意是命令窗口,command window:

    A = [1,2,2.5,3,3.5,4];  
    S = sym(A);  
    note = mupad % 在这里会跳出一个mupad窗口,先最小化,然后输入下面的setVar
    setVar(note, 'S', S)
    

    上面四行输入后,在mupad里面输入如下的指令即可得到最终的结果

    S2:=coerce(S,DOM_LIST)
    B:=stats::swGOFT(S2[1])
    

    在这里插入图片描述

    在结果中p值就是我们的求得的p值,如果p值小于0.05,则说明拒绝原假设,也就是数据不符合正态分布,而如果大于0.05就说明没有理由拒绝数据符合正态分布。

    注:这里的mupad其实和mathematica类似(我之前的博客写过mathematica的教程,说实话写这个博客之前我真的不知道有mupad的存在,好惭愧),每条指令前面都有一个系统给的方括号(不要自己打方括号),如果方括号不小心被自己删除了可以点击菜单栏中的insert->calculation添加,一行写完打回车,命令就会自动执行,一次貌似只能一行,如果执行有问题(一般不会有问题),也可以点击菜单栏中的Notebook->evaluate 运行。

    2.3. Q-Q图
    Q-Q图也是一种检验方法,但是较为主观,而且要求数据量很大,通常可能需要有大于一百个数据,做出的图像才好看。Q-Q图的使用方法很简单就是qqplot(x); 其中x为你要进行检验的数据。画出图像如大部分点都在对角线上就可以说明数据符合正态分布。

    回顾一下,在进行皮尔逊相关系数的显著性检验之前,我们需要验证数据是否满足正态性(除非和正太分布差距特别大,否则一般都是满足的)。我们这里讲解了三种正态性的验证方法,一个是Jarque-Bera检验 JB检验,一个是shapior-wilk 检验,一个是Q-Q图检验,值得注意的是,当样本量在3-50之间对的时候,应当使用shapior-wilk检验,当数据量大于30可以使用JB检验,当数据量更大可以使用JB检验或者Q-Q图检验,但还是更加推荐使用JB检验。

    3. 皮尔逊相关系数显著性检验方法

    当被检测样本基本满足皮尔逊相关检测的条件的时候,我们就可以皮尔逊相关系数进行显著性检验了。这里又有很多数学家证明了皮尔逊相关系数可以构建一个统计量t,构造方式如下:
    在这里插入图片描述
    其中n为样本的数量,r就是我们计算得到的皮尔逊相关系数,这个统计量被证明是符合自由度为t-2的t分布的。这里我们就可以使用t分布进行相关性的检验。

    在t检验中,我们的原假设H0:r=0,即没有线性相关关系,备择假设H1:r不等于0,即存在线性相关关系。
    我们首先计算出上面构造出来的t值,之后在matlab中使用如下的公式计算p值,即

    p = (1-tcdf(t,n-2))*2  %双侧需要乘2
    

    其中n为样本数量。当p值小于0.01,在99%的置信水平上拒绝原假设,接受备择假设,(即,样本有线性相关性,而且非常显著);当p小于0.05的时候,在95%的置信水平上拒绝原假设,接受备择假设(即,样本有线性相关性,较为显著)。当然,在一些时候也可以将p值放宽到0.1,毕竟对于这个阈值的界定方式还存在着一定的争议,但是绝大部分的研究还是以0.05为分界的。

    回顾一下,这里介绍了在满足正态性条件的情况下,如何对皮尔逊系数进行显著性的检验。

    4. 总结
    皮尔逊系数很常用,如何用对要留心,用时搭配散点图,不能随便比数值。假设检验服人心,用前一定要小心,满足条件再进行,否则用错哭唧唧。

    展开全文
  • 计算相关系数进行显著性检验

    千次阅读 2021-11-26 15:34:15
    某地区粮食产量与受灾面积的历年数据见(实验1数据中的“题目1”sheet),试计算二者之间的相关系数,并对相关系数进行显著性检验(α =0.05) 1. import numpy as np 2. 3. x_simple=np.array([251,801,200...
    1. 某地区粮食产量与受灾面积的历年数据见(实验1数据中的“题目1”sheet),试计算二者之间的相关系数,并对相关系数进行显著性检验(α =0.05) 

     

    1.	import numpy as np  
    2.	  
    3.	x_simple=np.array([251,801,200,409,415,502,314,1101,980,1124])  
    4.	y_simple=np.array([52,101,65,88,90,98,120,150,140,120])  
    5.	  
    6.	#计算相关系数函数  
    7.	my_rho = np.corrcoef(x_simple, y_simple)  
    8.	print(my_rho)  
    

     粮食产量与受灾面积之间的相关系数为:0.80300252。

     在表中,f称为自由度,其数值位f=n-2=8,n为样本数,n=10;α =0.05时查上表可知:r0.05=0.6319。p{|0.80300252|>r0.05}=α 即所计算的相关系数0.80300252的绝对值大于α=0.05 水平下的临界值0.6319时,两要素不相关的记录的可能性只有0.05。因此,粮食产量与受灾面积现状显著相关。

    展开全文
  • 同样用于衡量两个变量之间的相关性,在之前对皮尔逊相关系数的介绍中,我们提到了在进行皮尔逊相关系数运算的时候需要确定数据是否符合正态分布等等,较为麻烦,同时不满足正态的数据难道就没有办法判断相关性了吗...

    目录:

    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. 总结

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

    展开全文
  • 问题遇到的现象和发生背景 请问皮尔森相关系数的p值公式是什么,在matlab里的函数又是什么呢 问题相关代码,请勿粘贴截图 运行结果及报错内容 我的解答思路和尝试过的方法 我想要达到的结果
  • grey.cov() #协方差 grey.corr() # 相关系数 import scipy.stats as stats # 显著性检验 第一个pearsonr相关系数 第二个值p-value stats.pearsonr(grey['star_rating'], grey['polarity']) Out[53]:(0....
  • 以及显著检验 协方差 要理解 Pearson 相关系数,首先要理解协方差(Covariance)。方差大家可能比较熟悉,方差表示某个变量偏离均值的波动情况;而协方差表示的是两个变量 X,Y 的相互关系,其计算公式为: X=Y时...
  • 相关性的显著性检验

    千次阅读 2022-01-19 01:43:55
    3、相关性的显著性检验(包括了检验预期寿命和谋杀率的Pearson相关系数为0的假设、相关矩阵的显著性检验) > #计算协方差和方差 > states <- state.x77[,1:6] > cov(states) Population Income Il
  • 运用Python的数组和矩阵操作模拟验证一阶自回归模型中,自回归系数OLS估计量的有限样本偏差问题。
  • 通过与老师商议讨论重新制定了原始数据表,而在筛选过程中,有一个步骤是独立性检验,我们通过...我们打算对这52个指标都进行相关系数的计算和显著性检验,首先我们可以取一个3*12的有原始数据的表进行计算,A=raw...
  • 相关系数(回归系数)检验其实在(2)中已经提到了相关系数和回归系数,在计算过程中,直接返回了对应的p-value,因此可以直接使用p-value。1.相关系数from scipy.stats import pearsonrr,p = pearsonr(x, y)2.线性回归...
  • 相关关系的显著性检验

    千次阅读 2017-07-26 00:08:00
    r 的显著性检验 如果 r 服从正态分布,可以用正态分布来检验,但 根据上述有很大的风险,所以通常采用 t 检验,该检验可以用与小样本,也可以用于大样本 a、第一步:提出假设 H0 ...
  • 相关分析在科研过程中常常会碰到,表征了一种两个因素间的相关程度,其值的大小只能说明相关性的强弱。比如当我们有2000-2015年的NPP数据和2000-2015年的降水数据时,我们想查看两者在空间上随时间变化的相关性。...
  • 本文主要讨论Python实现一元回归的线性拟合、最小二乘法估计回归参数和显著性检验(t检验和p值).一元线性回归模型是描述两个变量之间相关关系的最简单的回归模型. 通常人们对所要研究的问题首先要收集与它有关的n组...
  • R语言 相关性的显著性检验

    千次阅读 2021-12-18 10:36:29
    在计算好相关系数以后,如何对它们进行统计显著性检验呢?常用的原假设为变量间不相关 (即总体的相关系数为0)。你可以使用cor.test()函数对单个的Pearson、Spearman和Kendall相关系数进行检验。简化后的使用格式为...
  • 方差相关系数及比率的显著性检验PPT学习教案.pptx
  • 学习地理建模时总是遇到显著性检验,这里记录一下。
  • R 相关与相关性的显著性检验

    万次阅读 2018-04-11 15:04:52
    1.数据说明R语言的自带的数据包中states.x77(关于美国50个州的某些数据)第1至6列的50份数据从统计的角度以及R语言的角度进行分析,看看R语言是怎么做相关分析的,同时怎么看分析出的结果 首先我们观察一下states....
  • if ~k fprintf('\r\r警告:通过一一对所有变量做显著性检验,已剔除所有变量!'); break; end beta_mao=beta_mao-beta_mao(beta_index)/cii(beta_index)*cij(beta_index,:); beta_mao(beta_index)=[]; % 这样更改...
  • 文章目录 十一、回归方程与回归系数显著性检验 1.平方和分解 2.回归方程的假设检验 3.中心化的等价形式 4.回归系数的假设检验 5.回归方程的预报精度 回顾总结 十一、回归方程与回归系数显著性检验 回归方程的...
  • 总所周知,Pearson相关系数在计算完毕时也能够返回一个显著性p值,帮助我们判断相关系数是否可信。那么,这么p值是如何得到的?背后的思想是什么?实际上,是巧妙地构造了一个以 r 为自变量的统计量,并使它服从 t ...
  • 有4个类别,所以有3个系数——每一个都是非常显著的。我还想看看这一趋势在所有三个类别中的重要。根据我(有限)的理解,这通常是通过Wald检验并将所有系数与0进行比较来完成的。在如何使用Statsmodels实现这一点...
  • 回归方程与回归系数显著性检验 2. statsmodels 库 statsmodels库可以用来做逻辑回归、线性回归。并且会在summary中给出显著性检验的结果。 statsmodels例子 最终我们想要的就是如下图的报告。 3. 计算过程 ...
  • SciPy依赖于Numpy,SciPy包含的功能:最优化、线性代数、...本文主要介绍Python SciPy 统计显著性检验(Statistical Significance Tests)。 原文地址:Python SciPy 统计显著性检验(Statistical Significance Tests) ...
  • 1、回归方程的显著性检验(1) 回归平方和与剩余平方和建立回归方程以后, 回归效果如何呢?因变量与自变量是否确实存在线性关系呢?这是需要进行统计检验才能加以肯定或否定, 为此, 我们要进一步研究因变量取值的变化...
  • 多元线性回归及显著性检验Matlab程序完美版 一说明 1本程序是硕士教材数理统计杨虎刘琼钟波 编著 例4.4.1P133Matlab编程解答程序教材上例题只做了回归方程显著性分析和一次回归系数显著性分析剔除x1后没有再检验x2和...
  • NCL回归系数显著性检验打点

    万次阅读 2019-02-14 23:17:46
    之前做回归以后,再做显著性检验的时候出现诸多问题,最主要的问题是显著性检验后的区域明显错误。实际上,(我做的是一元回归)应该在回归系数大的地方容易通过检验,回归系数小的地方通不过检验,且我认为通过检验...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,690
精华内容 5,476
关键字:

相关系数的显著性检验

友情链接: aa.rar