利用Matlab考察数据的边缘正态性 作Q_Q图
一、实验数据
需要考察多个变量的边缘正态性
二、考察边缘正态性
1.原理
可以通过对每个变量的样本观测值的边缘分布作Q_Q图和计算相关系数 r_Q 来考察。
Matlab自带有作Q_Q图的函数qqplot() ,但是并没有计算相关系数 r_Q 的函数。参考实用多元统计分析的4.6节,用其中作Q_Q图的步骤和 r_Q 的公式自编Matlab程序进行求解,并且封装成函数。自编程序中用到了Matlab的norminv(probability,mean,standard_dev)函数,令mean = 0,standard_dev = 1 可以得到对应概率probability的标准正态分布的下侧分位数。
function[r]= Q_Q (x)
x1=sort(x); %对原矩阵每列进行升序排列
[n,m]=size(x1); %返回维数
p=ones(n,1)./n; %生成相同维数的1/n矩阵for i=1:n %循环n个观测值p(i,1)=(i-0.5)*p(i,1); %构造p(j)矩阵
endq=ones(n,1);
for i=1:n %循环n个观测值q(i,1)=norminv(p(i,1),0,1); %得到标准正态分位数
endr=ones(1,m);
for i=1:m %循环m个变量,画m*2个Q-Q图subplot(m,2,2*i-1); %用2*i-1(奇数)选中左边一竖列plot(q,x1(:,i)); %用自己处理的数据画Q-Q图subplot(m,2,2*i); %用2*i(偶数)选中右边一竖列qqplot(x1(:,i)); %用matlab自带的qqplot命令画Q-Q图r(:,i)=corr(q,x1(:,i)); %计算rQ相关系数
end
2.结果
右边一列是用Matlab自带的qqplot() 画的,左边是自编程序画的。右边还有拟合的直线,画的也更好看,但是我Matlab入门还不会做拟合。
相关系数 r
可以观察到,相关系数r 依次降低,Q_Q图越来越不趋近于直线。
利用Matlab考察数据的边缘正态性 作Q_Q图相关推荐
- 如何检验数据样本的正态性?
正态分布是自然界中最常见的也是一种最重要的分布.因此,人们在使用统计分析方法时,总是乐于正态假定,但该假定是否成立,就需要进行正态性检验了. 定义: 指如果一组观测值来自正态总体.具有正态分布的特性, ...
- Origin如何进行数据描述以及正态性分析
Origin可以对一组数据,快速计算出其均值,标准差等统计数据,以方便进行数据分析.同时,很多的统计方法,如t检验和ANOVA,为了获得有效的结果,都要求数据从正态分布数据总体中取样获得.因此,对数据 ...
- 用 BOX-COX 变换进行数据正态性处理
笔者之前写了题为<用Python讲解偏度和峰度>的文章,在那篇文章里,笔者介绍了偏度.峰度以及如何基于二者进行数据正态性的判断,而今天笔者将介绍一下如何将数据进行正态性转换. 在我们进行数 ...
- 入门必学 | R语言数据的独立性,正态性及方差齐性检验
参数分析的三大前提检验 检验数据独立性的方法 Chisq检验 Fisher检验 Cochran-Mantel-Haenszel检验 检验数据正态性的方法 shapiro.test函数 qqnorm函数 ...
- bartlett方差齐性检验_R语言实用教程-数据正态性以及方差齐性检验
第一节:数据正态性分析 数据是不是正态分布是接下来选择正确的分析方法的基础.因为通常的方差分析用到的都要求是正态分布的数据(或者经过转换之后为正态的数据).而数据如果不满足正态性,那么通常要选择非参数 ...
- R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度
R语言回归模型构建.回归模型基本假设(正态性.线性.独立性.方差齐性).回归模型诊断.car包诊断回归模型.特殊观察样本分析.数据变换.模型比较.特征筛选.交叉验证.预测变量相对重要度 目录
- R语言Kolmogorov-Smirnov假设检验(正态性检验):检验数据的正态性
R语言Kolmogorov-Smirnov假设检验(正态性检验):检验数据的正态性 目录 R语言Kolmogorov-Smirnov假设检验(正态性检验):检验数据的正态性
- 利用MATLAB对数据进行切片并绘制图表
利用MATLAB对数据进行切片并绘制图表 文章目录 利用MATLAB对数据进行切片并绘制图表 1 读取txt文件 2 对矩阵进行切片,提取信息 3 使用MATLAB绘图 4 附录--完整代码 1 读取 ...
- 利用MatLab对数据进行插值计算(分段插值和三次样条插值)
利用MatLab对数据进行插值计算 分段线性插值 三次样条插值 例子 分段线性插值 应用的函数为: y=interp1(x0,y0,x)或y=interp1(x0,y0,x,'linear') 其中的 ...
最新文章
- matlab最大化函数,求助,最大化一个函数
- 美国多个城市禁止、我国却蓬勃发展的人脸识别是什么样子?
- 基于Springboot实现医院HIS信息管理系统
- Go连接MySql数据库too many connections
- MS SQL 获取字符串最后出现的字符串及位置
- C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决
- How to get list of all public urls which are using BSP UI technology
- 常见优化Sql查询性能的方法收集
- 数组:正整数数组分成2组使其和的差的绝对值最小
- 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解
- java查看已导入的证书_jdk导入证书
- lombok依赖包介绍
- 提高系统可用性的那些架构策略
- AudioToolbox之AudioQueue.h(二)Creating and Disposing of Audio Queues
- 恒生UFX交易接口基本介绍
- Unity 粒子系统参数一
- 1+X 网络系统 建设与运维(中级)实验
- 如何将音视频中的伴奏背景音乐和人声分离?
- javascript-obfuscator 代码混淆
- 生物信息学概论_生物信息学 | 技术与多学科融合,贝勒走在时代发展的前端