正态分布拟合
来源:互联网 发布:z blog源码 编辑:程序博客网 时间:2024/04/30 03:49
当我们有了一个矩阵,如何判断矩阵里面的元素是否满足正态分布,以及如何绘制图像和求参数。我根据自己最近使用matlab的一些体会,将大致方法写下。
1、矩阵元素转化成行向量 reshape()函数
example:
A =
1 2 3
4 5 6
7 8 9
>> B=reshape(A,1,9) %1,9指的是行向量的格式1x9
B =
1 4 7 2 5 8 3 6 9
2、初步检验一组数据是否满足正态分布,可用normplot()直观观察,
example:
A =
2 3 4 6 77 8 8 99 9 9 45
normplot(A) %若点基本上与所给出的直线重合,则基本上满足正态分布
3、进一步检测一组数据是否满足正态分布时,可以用jbtest()函数:
example:
A =
2 3 4 6 77 8 8 99 9 9 45
>> alpha=0.05;%显著性水平设置为0.05
[h,p,jbstat,critval] = jbtest(A,alpha) % h=0,表明接受假设,即满足正态分布,h=1,则不满足;
% 当p>alpha才满足正态分布,当测试值jbstat<临界值critval才满足正态分布
运行结果如下:
h =
1
p =
3.5393
critval =
2.7016
从结果可知,A不满足正态分布。
4、假设已知某组数据满足正态分布,那么要得到X~(mu,sigma^2)的数学期望mu,标准差sigma可以利用normfit();
example:
A =
459 362 624 542 509 584 433 748 815 505
>> [mu,sigma,muci,sigmaci]=normfit(A,0.05) %0.05即为我们自己设置的显著性水平alpha, 返回的mu为数学期望,sigma为标准差,
% muci为数学期望mu的置信区间,sigmaci为标准差sigma的置信区间
5、怎么绘制正态分布的密度函数图呢?
方法有多种:
a、已知了mu,sigma,可以使用函数normpdf(A,mu,sigma)可以求出各个数据的概率,再利用plot()将密度曲线图绘出
example:
A=
459 362 624 542 509 584 433 748 815 505
>> A=sort(A);%先进行从小到大排序
mu=600;sigma=196;%从上文已求出mu=600; sigma=196
B=normpdf(A,mu,sigma);
example:
capaplot(A,[0,1000])%[ ]里面的区间为自己指定的,这里指定为0~1000
当然还有其他的方法,这里不一一介绍了。
1、矩阵元素转化成行向量 reshape()函数
example:
A =
1 2 3
4 5 6
7 8 9
>> B=reshape(A,1,9) %1,9指的是行向量的格式1x9
B =
1 4 7 2 5 8 3 6 9
2、初步检验一组数据是否满足正态分布,可用normplot()直观观察,
example:
A =
2 3 4 6 77 8 8 99 9 9 45
normplot(A) %若点基本上与所给出的直线重合,则基本上满足正态分布
3、进一步检测一组数据是否满足正态分布时,可以用jbtest()函数:
example:
A =
2 3 4 6 77 8 8 99 9 9 45
>> alpha=0.05;%显著性水平设置为0.05
[h,p,jbstat,critval] = jbtest(A,alpha) % h=0,表明接受假设,即满足正态分布,h=1,则不满足;
% 当p>alpha才满足正态分布,当测试值jbstat<临界值critval才满足正态分布
运行结果如下:
h =
1
p =
0.0319
jbstat =
3.5393
critval =
2.7016
3.5393
critval =
2.7016
从结果可知,A不满足正态分布。
4、假设已知某组数据满足正态分布,那么要得到X~(mu,sigma^2)的数学期望mu,标准差sigma可以利用normfit();
example:
A =
459 362 624 542 509 584 433 748 815 505
>> [mu,sigma,muci,sigmaci]=normfit(A,0.05) %0.05即为我们自己设置的显著性水平alpha, 返回的mu为数学期望,sigma为标准差,
% muci为数学期望mu的置信区间,sigmaci为标准差sigma的置信区间
5、怎么绘制正态分布的密度函数图呢?
方法有多种:
a、已知了mu,sigma,可以使用函数normpdf(A,mu,sigma)可以求出各个数据的概率,再利用plot()将密度曲线图绘出
example:
A=
459 362 624 542 509 584 433 748 815 505
>> A=sort(A);%先进行从小到大排序
mu=600;sigma=196;%从上文已求出mu=600; sigma=196
B=normpdf(A,mu,sigma);
plot(A,B,'-r*')
example:
capaplot(A,[0,1000])%[ ]里面的区间为自己指定的,这里指定为0~1000
当然还有其他的方法,这里不一一介绍了。
0 0
- 正态分布拟合
- Matlab 正态分布 拟合
- matlab 拟合正态分布
- 从np.random.normal()到正态分布的拟合
- 从np.random.normal()到正态分布的拟合
- 从np.random.normal()到正态分布的拟合
- 正态分布
- 正态分布
- 正态分布
- 正态分布
- 正态分布
- 正态分布
- 正态分布
- matlab如何绘制统计分析图(正态分布,柱形图,散点图)和matlab cftool拟合工具
- 拟合
- 拟合
- 拟合
- Excel在统计分析中的应用—第九章—非参数检验-x2检验-正态分布拟合优度检验
- Decoupled deep neural network for semi-supervised semantic segmentation 笔记
- Select函数详解及原理
- ViewFlipper的学习
- iOS 快速开发电商平台
- Android onClick事件改进
- 正态分布拟合
- apache负载均衡之策略
- FFmpeg 编译(1)--多模块版(多个so文件)
- shell学习第一天
- Java命令
- Linux Java Tomcat catalina.out log4j 乱码
- 网站API——柱状图
- PAT (Advanced Level) Practise 1130 Infix Expression (25)
- HDUoj 1242 Rescue ( BFS+优先队列