Matlab统计分析-相关系数

2023-10-29

统计分析-相关系数

相关系数 (pearson与spearman)

皮尔逊 person相关系数和斯皮尔曼spearman等级相关系数,它们可用来衡量两个变量之间的**(线性)**相关性的大小,根据数据满足的不同条件,我们要选择不同的相关系数进行计算和分析。

基础概念

  1. 总体:所要考察对象的全部个体叫做总体.
    我们总是希望得到总体数据的一些特征(例如均值方差等)
  2. 样本:从总体中所抽取的一部分个体叫做总体的一个样本.
  3. 统计量:计算这些抽取的样本的统计量来估计总体的统计量
    例如使用样本均值、样本标准差来估计总体的均值(平均水平)和总体的标准差(偏离程度)
  4. 相关关系刻画的是直线相关性

相关系数计算公式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

易错点

在这里插入图片描述

总结

(1)如果两个变量本身就是线性的关系,那么皮尔逊相关系数绝对值大的就是相关性强,小的就是相关性弱;
(2)在不确定两个变量是什么关系的情况下,即使算出皮尔逊相关系数,发现很大,也不能说明那两个变量线性相关,甚至不能说他们相关,我们一定要画出散点图来看才行。

相关系数大小

在这里插入图片描述

描述性统计量

对于数学分析类型的数据进行处理时间,都可以进行描述性统计量计算一波。
在这里插入图片描述

%描述性统计量的计算
MIN = min(Test); % 每一列的最小值
MAX = max(Test); % 每一列的最大值
MEAN = mean(Test); % 每一列的均值
MEDIAN = median(Test); %每一列的中位数
SKEWNESS = skewness(Test); %每一列的偏度
KURTOSIS = kurtosis(Test); %每一列的峰度
STD = std(Test); % 每一列的标准差
RESULT = [MIN;MAX;MEAN;MEDIAN;SKEWNESS;KURTOSIS;STD]
%将这些统计量放到一个矩阵中表示
matlab corrcoef函数

在这里插入图片描述

假设检验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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. 使用normplot()对于数据进行简单拟合,观察数据分布情况。
    (如果发现散点基本都可以在红色的直线附近,说明这组数据有很大的可能性符合正态分布,只能说可能性满足正态分布,
    但是还是需要通过lillietest函数或jbtest函数进行正态分布的拟合优度测试去说明情况)
    在这里插入图片描述
%% 正态分布检验
m=[1006.1,1014,1001.6,996.4,997.8,981.6,996.4,991.9,993.3,1000.6,987.3,1015.6,981.6,996.2,999.2,994.5,1005.9,1001.9,986.4,1007.6,1001.4,1014.6,1010.2,993.9,1001.4]

normplot(m)

[H,P,LSTAT,CV] = lillietest(m,0.05)
[h,p,jbstat,critval] = jbtest(m,0.05)

%{
lillietest
H = 0
P = 0.5000
LSTAT = 0.1028
CV =  0.1730

jbtest
h= 0
p = 0.5000
jbstat = 0.3112
critval = 4.1494

H=0说明接受假设,该组数据符合正态分布;P=0.5说明符合正态分布的概率很大;
LSTAT小于接受假设的临界值0.173,因此接受假设。
(如果LSTAT大于接受假设的临界值0.173,因此不能接受假设,拒绝假设。)

[h,p]=lillietest(X)
返回值h:   只有01两种情况,h=0假设符合正态分布,h=1假设不符合正态分布
返回值p:   方差概率,也可以说事情的发生概率,p<0.05(显著性水平通常取0.05,还有0.0250.01三种情况)为不可能事件,拒绝;p>0.05,接受
参数X:     检测的数据
%}
%% 正态分布检验
% 正态分布的偏度和峰度
x = normrnd(2,3,100,1);   % 生成100*1的随机向量,每个元素是均值为2,标准差为3的正态分布
skewness(x)  %偏度 0.1387
kurtosis(x)  %峰度 3.0816
qqplot(x)

在这里插入图片描述

%% 正态分布JB检验
%{
    MATLAB中进行JB检验的语法:[h,p] = jbtest(x,alpha)
    当输出h等于1时,表示拒绝原假设;h等于0则代表不能拒绝原假设。
    alpha就是显著性水平,一般取0.05,此时置信水平为10.05=0.95
    x就是我们要检验的随机变量,注意这里的x只能是向量。
    检验值p,判断是否满足条件
%}
%% 正态分布检验
% 检验第一列数据是否为正态分布
[h,p] = jbtest(Test(:,1),0.05)
% 用循环检验所有列的数据
n_c = size(Test,2); % number of column 数据的列数
H = zeros(1,6); %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)

斯皮尔曼系数

在这里插入图片描述
使用Matlab自带函数计算斯皮尔曼等级相关系数时,需要保证X、Y均为列向量;

%% 斯皮尔曼相关系数
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. 连续数据,正态分布,线性关系,使用pearson相关系数。上述条件不满足,就使用spearman相关系数。(spearman相关系数使用范围比较大)
  2. 相关系数是描述变量之间的线性关系,系数大小,不一定能说明说明
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab统计分析-相关系数 的相关文章

  • 一次分配多个字段的聪明方法?

    由于遗留函数调用 我有时被迫编写像这样的丑陋的包装器 function return someWrapper someField a someField a b someField b and so on realistically it
  • FFT 的功率谱密度

    我有一段代码可以获取部分信号的 FFT 现在我正在尝试获取 PSD Fs 44100 cj sqrt 1 T 6 dt 1 Fs left test 1 right test 2 time 45 interval 636 w range t
  • MATLAB中如何画水平线和垂直线?

    我目前正在尝试在 MATLAB 中绘制简单的垂直线和水平线 例如 我想绘制线 y 245 我该怎么做呢 MATLAB 根据您提供的向量逐点进行绘图 因此 要创建一条水平线 您需要改变x同时保持y对于垂直线恒定 反之亦然 xh 0 10 yh
  • 按元素出现的频率对数组元素进行排序

    是否可以在 matlab octave 中使用sort函数根据元素的相对频率对数组进行排序 例如数组 m 4 4 4 10 10 10 4 4 5 应该产生这个数组 5 10 10 10 4 4 4 4 4 5是出现频率较低的元素 位于顶部
  • 扩展 MATLAB 函数名称的最大长度

    我编写了一个 MATLAB 程序 可以动态创建自定义 MATLAB 函数 并使用以下命令在其他 MATLAB 实例中启动它们unix命令 我使用这个程序来自动化 fMRI 神经影像分析 使用 SPM8 for MATLAB 一切正常 但是
  • 两个 y 轴与相同的 x 轴[重复]

    这个问题在这里已经有答案了 可能的重复 在单个图中绘制 4 条曲线 具有 3 个 y 轴 https stackoverflow com questions 1719048 plotting 4 curves in a single plo
  • MATLAB 滚动图

    我有一个脑电图数据库 我想绘制它 数据库是一个19 1000 134的矩阵 其中 19 是通道数 在第一种方法中 我只使用一个渠道 1000 个样本大小 采样率为 500 Hz 时为 1000 个点 即 2 秒数据 134 epochs的数
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • Simulink 仿真引擎如何工作?

    我想了解 Simulink 仿真引擎的工作原理 它是否使用离散事件模拟机制 那么如何处理连续时间 它是否依赖于基于静态循环的代码生成 或者 在第一个周期之前 它会计算出块的执行顺序 从不需要任何其他块输入的块开始 每个周期 它都会根据输入和
  • 如何在 Matlab 中对数组应用低通或高通滤波器?

    有没有一种简单的方法可以将低通或高通滤波器应用于 MATLAB 中的数组 我对 MATLAB 的强大功能 或数学的复杂性 有点不知所措 需要一个简单的函数或一些指导 因为我无法从文档或网络搜索中找到答案 看着那 这filter http w
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • 有没有办法在matlab中进行隐式微分

    我经常使用 matlab 来帮助我解决数学问题 现在我正在寻找一种在 matlab 中进行隐式微分的方法 例如 我想区分y 3 sin x cos y exp x 0关于dy dx 我知道如何使用数学方法通常做到这一点 但我一直在努力寻找使
  • 在 Matlab 中高效获取像素坐标

    我想在 Matlab 中创建一个函数 给定一个图像 该函数将允许人们通过单击图像中的像素来选择该像素并返回该像素的坐标 理想情况下 人们能够连续单击图像中的多个像素 并且该函数会将所有相应的坐标存储在一个矩阵中 有没有办法在Matlab中做
  • 如何在文本集中创建所有字符组合?

    例如 我有这样的文本集 第 1 栏 a b 第 2 栏 l m n 第 3 栏 v w x y 我想将它们组合起来以获得如下输出 alv alw alx aly amv amw amx amy 这将输出 24 种文本组合 如果我只使用前两列
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • 了解 fminunc 参数和匿名函数、函数处理程序

    请多多包涵 问题在最后 我试图找出 fminunc 调用方式的差异 这个问题源于 Andrew Ng 在他的 Coursera 机器学习课程中的第 3 周材料 我正在回答这个问题 Matlab Andrew Ng 机器学习课程中 t cos
  • MATLAB 中的霍夫变换

    有谁知道如何使用霍夫变换来检测二值图像中最强的线 A zeros 7 7 A 6 10 18 24 36 38 41 1 使用 rho theta 格式 其中 theta 以 45 为步长 从 45 到 90 以及如何在 MATLAB 中显
  • 给定协方差矩阵,在Matlab中生成高斯随机变量

    Given a M x M期望的协方差 R 以及所需数量的样本向量 N计算一个N x M高斯随机向量 X在普通 MATLAB 中 即不能使用r mvnrnd MU SIGMA cases 不太确定如何解决这个问题 通常你需要一个协方差并且意

随机推荐

  • 找不到BufferedImage这个Class的解决方法

    找不到BufferedImage这个Class的解决方法 环境 1 RedHat AS5 64位 2 WebSphere6 0 32位版本 正文 发现原来在RedHat AS4 32位系统上跑的程序不能在64位RedHat AS5中运行 系
  • 你还在 Docker 中跑 MySQL?恭喜你,好下岗了!

    上一篇 一个90后员工猝死的全过程 0 2T架构师学习资料干货分享 来源 toutiao com i6675622107390411276 容器的定义 容器是为了解决 在切换运行环境时 如何保证软件能够正常运行 这一问题 目前 容器和 Do
  • PyTorch 入坑七:模块与nn.Module学习

    PyTorch 入坑七 模型创建概述 PyTorch中的模块 torch模块 torch Tensor模块 torch sparse模块 torch cuda模块 torch nn模块 torch nn Parameter torch nn
  • 电脑开机不启动原因

    现象 长时间不关机 息屏后无法唤醒 电源指示灯亮 但是是黑屏 拔电重开 还是黑屏 显示器提示进入节电模 首先怀疑是内存条松了 或者接触不良 本人机器这边解决步骤如下 1 拔插内存条 开机试试 2 内存条换位置 开机试试 3 先取下一条内存条
  • conda install 和 pip install的区别

    目录 前言 一 范围不同 二 使用条件不同 三 对虚拟环境的管理能力不同 四 可使用包的数量不同 前言 conda和pip一般被认为是几乎相同的 但这两个工具虽然功能存在部分重叠 但其设计的目的是不同的 一 范围不同 Anaconda是一个
  • PCA、聚类、LFDA 和 MDS 相关绘图 iris (R语言)

    本文档使用 ggplot2 和解释了 PCA 聚类 LFDA 和 MDS 相关绘图 ggfortify 绘制 PCA 主成分分析 ggfortify 让我们 ggplot2 知道如何解释 PCA 对象 加载后 ggfortify 您可以gg
  • SpringBoot2的异常处理、Aop(事务)、拦截器

    目录 一 异常处理 一 ControllerAdvice ExceptionHandler 注解处理异常 二 自定义 HandlerExceptionResolver 类处理异常 二 事务Aop的相关使用 主要说明事务的使用方式 一 事务的
  • 项目安全问题-SM4加解密

    本篇建议与下方链接文章一起观看 http t csdn cn tjmeS 项目安全问题一直被人们研究 当前端路径上通过 status这种拼接参数时 参数的值在浏览器路径栏上非常醒目 是很容易被人恶意修改的 比如该用户并没有编辑权限 但有心之
  • 启动tomcat 服务报 The file is absent or does not have execute permission

    原因 部分文件没有可以执行的权限 1 在linu上部署好tomcat后 准备启动时报错 Cannot find bin catalina sh The file is absent or does not have execute perm
  • Linux自动化运维工具ansible详解

    文章目录 认识ansible ansible的组成 ansible的相关文件 ansible的使用 ansible的常用模块 1 copy模块 2 fetch模块 3 command模块 4 shell 模块 5 file模块 6 cron
  • 域用户访问samba共享提示“指定的网络密码不正确”

    samba默认工作组为WORKGROUP 导致windows无法访问 提示 指定的网络密码不正确 为了解决这个问题 只需要删除注册表中的一项就可以了 win r 输入regedit 回车 找到HKEY LOCAL MACHINE SYSTE
  • 单片机基础

    今天 我给大家更新一个新的模块 单片机 单片机是一个将运算单元 ALU 控制单元 寄存器组 存储器 ROM RAM I O接口 系统总线 定时 计数器集成一起 是一种集成电路芯片 在一块集成电路芯片上 集成了CPU ROM RAM I O接
  • 扯一扯HTTPS单向认证、双向认证、抓包原理、反抓包策略

    HTTP HyperText Transfer Protocol 超文本传输协议 被用于在Web浏览器和网站服务器之间传递信息 在TCP IP中处于应用层 这里提一下TCP IP的分层共分为四层 应用层 传输层 网络层 数据链路层 分层的目
  • 染色法判定二分图 — DFS深搜 +BFS宽搜

    染色法判定二分图 DFS深搜 题目描述 给定一个 n n n 个点 m m m 条边的无向图 图中可能存在重边和自环 请你判断这个图是否是二分图 输入格式 第一行包含两个整数
  • linux删除文件夹下所有文件

    看到了一遍文章 便突发奇想的想起Linux中删除目录下的所有文件的方法 整理了几个 如有不足 还望读者不吝赐教 删除当前目录下的文件 1 rm f 最经典的方法 删除当前目录下的所有类型的文件 2 find type f delete或fi
  • 为什么运放输入端串联一个隔直电容后输出没有波形?------关于隔直电路的简要理解

    文章目录 前言 一 常见的错误隔直电路 二 正确的隔直电路 前言 在看实验室学弟做电路的时候 他们单片机输出的正弦波要经过一个用NE5532做的跟随器 这里单片机产生的正弦波自带1 8V的直流偏置 测试发现 这里的偏置会严重影响NE5532
  • Micropython应用篇一--下载文件到F407VE Black开发板及开发板启动Flash选取

    Micropython应用篇一 下载文件到F407VE Black开发板及开发板启动选取 各位客官老爷们 咱又见面了 本来准备直接上例程来着 但由于怕各位老爷们对STM32的熟悉程度不一致 所以来一篇关于程序烧录及开发板启动 25Q128
  • 关于select中DISTINCT的技巧和使用

    偶然在一个论坛看到了一个关于DISTINCT的技巧和用法 是一个版主写的 觉得可能会对一些人有帮助 所以转载而来 方便大家 以下是转载内容 单表的唯一查询用 distinct多表的唯一查询用 group by在使用mysql时 有时需要查询
  • Windows下安装Python

    Python环境的配置 Windows 1 打开Python官网 Python官网 2 点击Downloads 3 点击Windows 来到如下界面 4 任选一个版本 点进去 拉到最底部 选择带有 Windows installer 的项进
  • Matlab统计分析-相关系数

    统计分析 相关系数 相关系数 pearson与spearman 皮尔逊 person相关系数和斯皮尔曼spearman等级相关系数 它们可用来衡量两个变量之间的 线性 相关性的大小 根据数据满足的不同条件 我们要选择不同的相关系数进行计算和