相关性分析和假设检验

  • 相关性系数的作用
  • Pearson相关系数
  • 判断线性关系
  • 插播:spss中的描述性统计
  • 计算相关性
  • 对皮尔逊系数进行假设检验
    • 条件
    • 步骤
  • MATLAB获取P(没用)
    • SPSS自动生成
  • 正态分布判定
    • 偏度和峰度
    • JBJBJB检验(大样本>=30)
    • Shapiro‐wilk夏皮洛‐威尔克检验(小样本3≤n≤50)&Q-Q图
  • 斯皮尔曼spearman相关系数
    • 定义&含义
    • 假设检验方法
  • 两种假设检验的选择

相关性系数的作用

相关性系数是研究变量之间线性相关程度的量。

我的理解:

在分析数据时,我们往往想知道我们的结果量和什么指标相关性较强,例如假设身高和饮食运动相关,倒是如果我们想知道这两个变量和哪个和对于身高更有影响力,我们就需要使用一个评价指标进行判段,若运动正相关系数大,那么我们就应该更加关注运动量来达到我们张身高的需求。

Pearson相关系数

对于两个数据样本X:{X1,X2...Xn},Y:{Y1,Y2,...Yn}X:\{X_1,X_2...X_n\},Y:\{Y_1,Y_2,...Y_n\}X:{X1​,X2​...Xn​},Y:{Y1​,Y2​,...Yn​}

总体均值:
E(X)=∑i=1nXin,E(Y)=∑i=1nYinE(X)=\frac{\sum_{i=1}^{n} X_{i}}{n}, E(Y)=\frac{\sum_{i=1}^{n} Y_{i}}{n}E(X)=n∑i=1n​Xi​​,E(Y)=n∑i=1n​Yi​​

总体样本标准差:衡量数据之间的离散程度

σX=∑i=1n(Xi−E(X))2n,σY=∑i=1n(Yi−E(Y))2n\sigma_{X}=\sqrt{\frac{\sum_{i=1}^{n}\left(X_{i}-E(X)\right)^{2}}{n}}, \sigma_{Y}=\sqrt{\frac{\sum_{i=1}^{n}\left(Y_{i}-E(Y)\right)^{2}}{n}}σX​=n∑i=1n​(Xi​−E(X))2​​,σY​=n∑i=1n​(Yi​−E(Y))2​​

总体协方差:当关系为线性关系时,衡量参数之间的变化方向,值的大小受标准差影响。
Cov⁡(X,Y)=∑i=1n(Xi−E(X))(Yi−E(Y))n\operatorname{Cov}(X, Y)=\frac{\sum_{i=1}^{n}\left(X_{i}-E(X)\right)\left(Y_{i}-E(Y)\right)}{n}Cov(X,Y)=n∑i=1n​(Xi​−E(X))(Yi​−E(Y))​

总体Pearson相关系数:在协方差基础之上除以方差相当于归一化
ρXY=Cov⁡(X,Y)σXσY=∑i=1n(Xi−E(X))σX(Yi−E(Y))σYn\rho_{X Y}=\frac{\operatorname{Cov}(X, Y)}{\sigma_{X} \sigma_{Y}}=\frac{\sum_{i=1}^{n} \frac{\left(X_{i}-E(X)\right)}{\sigma_{X}} \frac{\left(Y_{i}-E(Y)\right)}{\sigma_{Y}}}{n}ρXY​=σX​σY​Cov(X,Y)​=n∑i=1n​σX​(Xi​−E(X))​σY​(Yi​−E(Y))​​

Pearson相关系数性质:也就是说当ρXY\rho_{X Y}ρXY​正就是正相关,负就是负相关。根据值不同相关程度也不同

可以证明, ∣ρXY∣≤1,且当 Y=aX+b时, ρXY={1,a>0−1,a<0\text { 可以证明, }\left|\rho_{X Y}\right| \leq 1, \text { 且当 } Y=a X+b \text { 时, } \rho_{X Y}=\left\{\begin{array}{cc} 1, & a>0 \\ -1, & a<0 \end{array}\right. 可以证明, ∣ρXY​∣≤1, 且当 Y=aX+b 时, ρXY​={1,−1,​a>0a<0​

实际上对于样本协方差和总体样本协方差有一些不同,标准差相差n−1n\frac{n-1}{n}nn−1​倍,不在解释,属于概率论基础知识。

判断线性关系

我们知道,只有在两个变量之间存在线性关系时,才能使用Pearson系数,所以说数据是否为线性关系非常重要。
为什么非要线性关系呢?直观的看一下:

当数据非线性时,虽然Pearson相关系数较大,但是我们的线性关系并未很好的解释两个变量之间的关系,出现Pearson相关系数虚高的情况,我们的Pearson相关系数仅仅是为了解释线性关系变量之间的线性程度,所以说我们必须首先知道它们的关系是线性的。

另外:并不是Pearson相关系数低就代表数据之间没有联系,而是可能存在其他关系,比如下图存在二次关系:

所以说我们如何判断数据之间是否存在线性关系,可以使用画图的方式大致查看:
在spss中导入数据然后如下点击,然后选择矩阵散点图,就可以生成每个关系之间的数据散点图了


右点图片可以进行编辑图片操作。

插播:spss中的描述性统计



计算相关性

数据A是:

R=corrcoef(A);
name={'身高','体重','肺活量','50米跑','立定跳远','坐位体前屈'};
heatmap(name,name,R,'Colormap',parula);

对皮尔逊系数进行假设检验

条件

第一, 实验数据通常假设是成对的来自于正态分布的总体。
第二, 实验数据之间的差距不能太大。皮尔逊相关性系数受异常值的影响比较
大。
第三:每组样本之间是独立抽样的。构造t统计量时需要用到。

步骤

第一步:提出原假设 H0H_{0}H0​ 和备择假设 H1H_{1}H1​ (两个假设是截然相反的哦) 假设我们计算出了一个皮尔逊相关系数 rrr , 我们想检验它是否显著的异于 0 .那么我们可以这样设定原假设和备择假设: H0:r=0,H1:r≠0H_{0}: r=0, H_{1}: r \neq 0H0​:r=0,H1​:r​=0
第二步: 在原假设成立的条件下, 利用我们要检验的量构造出一个符合某一分布的统计量 (注 1: 统计量相当于我们要检验的量的一个函数, 里面不能有其他的随机变量)
(注 2 : 这里的分布一般有四种: 标准正态分布、 t 分布、 χ2\chi^{2}χ2 分布和 F 分布) 对于皮尔逊相关系数 r 而言, 在满足一定条件下, 我们可以构造统计量:t=rn−21−r2t=r \sqrt{\frac{n-2}{1-r^{2}}}t=r1−r2n−2​​ , 可以证明 ttt 是服从自由度为 n−2n-2n−2 的 ttt 分布

第三步:将我们要检验的这个值带入这个统计量中, 可以得到一个特定的值(检验值)。 假设我们现在计算出来的相关系数为 0.5 , 样本为 30 , 那么我们可以得到t∗=0.530−21−0.52=3.05505t^{*}=0.5 \sqrt{\frac{30-2}{1-0.5^{2}}}=3.05505t∗=0.51−0.5230−2​​=3.05505
第四步: 由于我们知道统计量的分布情况, 因此我们可以画出该分布的概率密度函数 pdfp d fpdf , 并给定 一个置信水平, 根据这个置信水平查表找到临界值, 并画出检验统计量的接受域和拒绝域。 例如, 我们知道上述统计量服从自由度为 28的t28 的 t28的t 分布, 其概率密度函数图形如下:

第五步:看我们计算出来的检验值是落在了拒绝域还是接受域, 并下结论。 因为我们得到的 t∗=3.05505>2.048t^{*}=3.05505>2.048t∗=3.05505>2.048 , 因此我们可以下结论: 在 95%95 \%95% 的置信水平上, 我们拒绝原假设 H0:r=0H_{0}: r=0H0​:r=0 ,因此 rrr 是显著的不为 000 的。

MATLAB获取P(没用)

[R,P]=corrcoef(A);

P就是我们的p值,对应于在正太分布外的概率。

拒绝原假设就是在正太分布外围

SPSS自动生成

在spss中分析–>相关–>双变量中存在显著性相关性

相关性结果(星号标出):

正态分布判定

偏度和峰度

JBJBJB检验(大样本>=30)

[h,p] = jbtest(A(:,1),0.05)
% 用循环检验所有列的数据
n_c = size(A,2); % number of column 数据的列数
H = zeros(1,n_c);
P = zeros(1,n_c);
for i = 1:n_c[h,p] = jbtest(A(:,i),0.05);H(i)=h;P(i)=p;
end
disp(H);% [1     1     1     1     1     1]
disp(P);% [0.0110    0.0010    0.0136    0.0010    0.0010    0.0393]

均为1,表示接受了原假设,满足正态分布

Shapiro‐wilk夏皮洛‐威尔克检验(小样本3≤n≤50)&Q-Q图

不找数据了,直接用大样本

直接输出统计栏情况(也输出Q-Q图,判断正态性)

Q-Q图:

斯皮尔曼spearman相关系数

定义&含义

定义: X 和 Y 为两组数据, 其斯皮尔曼 (等级) 相关系数:
1−6∑i=1ndi2n(n2−1)1-\frac{6\sum_{i=1}^{n} d_{i}^{2}}{n\left(n^{2}-1\right)}1−n(n2−1)6∑i=1n​di2​​

其中, did_{i}di​ 为 XiX_{i}Xi​ 和 YiY_{i}Yi​ 之间的等级差。(一个数的等级, 就是将它所在的一列数按照从小到大排序后, 这个数所在的位置) 可以证明: rsr_{s}rs​ 位于 −1和1-1 和 1−1和1 之间。

注:如果有的数值相同,则将它们所在的位置取算术平均。

MATLAB代码:

[R,P]=corr(A,'type','Spearman')

这个和皮尔逊相关系数相似,不过没有正态分布的限制条件。

假设检验方法

样本系数必须大于表中值才能得出显著结论

rsr_srs​就是斯皮尔曼相关系数,rsn−1r_s\sqrt{n-1}rs​n−1​就是z值,根据z值可以根据正态分布表算出p值。

1 - normcdf(z) * 2

就是 ppp 值, ppp值大于0.05,因此我们无法拒绝原假设。

实际上可以自动生成p值:

[R,P]=corr(A,'type','Spearman')

R是相关系数,P是p值R是相关系数,P是p值R是相关系数,P是p值

两种假设检验的选择

相关性分析和假设检验相关推荐

  1. python 相关性分析_数据分析---用Python进行相关性分析(兼谈假设检验)

    一.相关关系和相关系数 世上除了因果关系,还有相关关系. 有一个叫"相关系数"的指标来量化两个事物之间的相关程度. 其中相关系数用"r"表示,取值范围介于-1和 ...

  2. 几组数据的相关性python_数据分析---用Python进行相关性分析(兼谈假设检验)

    一.相关关系和相关系数 世上除了因果关系,还有相关关系. 有一个叫"相关系数"的指标来量化两个事物之间的相关程度. 其中相关系数用"r"表示,取值范围介于-1和 ...

  3. UA MATH571A 一元线性回归III 方差分析与相关性分析

    UA MATH571A 一元线性回归III 方差分析与相关性分析 ANOVA Table F检验 回归系数的F检验 F检验与t检验等价 广义线性检验方法 R2R^2R2 数值例子:女性肌肉量与年龄的关 ...

  4. 不同类型特征变量之间相关性分析

    站在2022的第一天想说点啥总结却迟迟不知道该如何下笔,年前的立的各种风控技能Flag还没一一勾除又有新的Flag要立,风控人不容易-不管怎样,学习总是必要的,今天带来番茄风控2022年第一篇实操干货 ...

  5. python相关性分析模型,相关性分析原理及Python实战

    本文阅读时间大概在8分钟. 相关性分析 我们常说的相关性分析是分析两个变量之间线性相关程度的方法,其相关性强度的度量即为相关性系数.现实中很多事物间都拥有或多或少的相关性,例如,房屋面积对价格的影响, ...

  6. 毕设论文数据分析记录-part2:相关性分析

    20220225-相关性分析 polyfit线性拟合后进行t检验判断线性关系显著水平-一阶差分去趋势 a=xlsread('gai-maizey.xls','gai-maizey'); a1=a(:, ...

  7. 三大相关性分析之python

    目录 1.简介 2.Pearson相关系数 算法详解 程序实现 3.Kendall相关系数 算法详解 程序实现 4.Spearman相关系数 算法详解 程序实现 1.简介 相关性分析是指对两个或多个具 ...

  8. 卡方检验--离散变量相关性分析--机器学习特征选择

    一.卡方检验理论 这部分来自<概率论与数理统计>.先从理论角度介绍卡方检验是什么. 卡方检验起始就是一种假设检验. 假定一个总体可以分成r类,从该总体获得了样本数据集.从该样本数据集出发, ...

  9. 数学建模--线性回归和线性相关性分析基于R语言

    线性相关性分析: x=c(171,175,159,155,152,158,154,164,168,166,159,164) y=c(57,64,41,38,35,44,41,51,57,49,47,4 ...

  10. R计算两列数据的相关系数_数据特征分析·相关性分析

    相关性分析 相关分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个因素的的相关密切程度,相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析. 1. 如何利用相关系数判断数据之间 ...

最新文章

  1. Android : 反射机制获取或设置系统属性(SystemProperties)
  2. Mac brew安装maven
  3. 应用服务器——JBoss架构分析
  4. python的类是什么意思_Python 各种下划线都是啥意思_、_xx、xx_、__xx、__xx__、_classname_...
  5. 11g下如何查询trace文件名
  6. ASP.NET Core管道深度剖析(4):管道是如何建立起来的?
  7. IOS – OpenGL ES 调节图像单色 GPUImageMonochromeFilter
  8. Android精讲--界面编程2(布局管理器)
  9. 一起谈.NET技术,asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别...
  10. openocd调试Linux内核,如何结合Eclipse+OpenOCD+arm-none-eabi-gdb实现可视化在线调试ARM Cortex M7内核?...
  11. 3d slicer matlab,基于3D+slicer的医学影像分割算法及其应用研究.pdf
  12. java项目打包windows服务
  13. win10触屏输入法_Win10触摸键盘怎么使用手写板功能输入?
  14. 清远市高中计算机考试时间,2017年清远市中考体育考试安排
  15. 数据可视化之matplotlib实战:plt.pie() 绘制内嵌环形饼图
  16. Mac sublime3 在localhsot 上打开项目文件
  17. 品牌对比 | 佰草集 VS 膜法世家
  18. 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d
  19. html5 m4a,Audio Unit播放aac/m4a/mp3等文件
  20. 诸神之眼-nmap详细使用介绍1!基础使用与主机发现篇! (*╹▽╹*) 信息收集 ~ 其二

热门文章

  1. js 调用jsp java代码_如何在 js 代码中使用 jsp 标签或 Java 代码
  2. DSP6678 中断程序
  3. 如何看oracle 删除完全,怎么查看以前Oracle卸载干净没?
  4. 记录工作时,优化程序代码二
  5. 关于PLC手册中的源型和漏型
  6. 更改手机或者电视的hosts文件
  7. eclipse导入android项目
  8. Windows Server 2012和2016从Evaluation评估版升级到正式版方法(附带产品密钥/key)
  9. 全功能短视频平台去水印解析页面源码
  10. 一篇非常 Nice 的 UmiJS 教程