查看: 783|回复: 2|关注: 0

[已答复] Matlab 频率直方图 做分布拟合

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2019-3-14 23:40:57 | 显示全部楼层 |阅读模式
我现在有一组产量的统计数据,希望做出频率直方图,并作威布尔、伽马分布和对数正态分布的拟合曲线,并作K-S检验。
我初学Matlab,之前缺少做分布拟合方面的经验,只是试着做过产量直线滑动平均的数据处理,现在到这一筹莫展,昨天网上试着弄了正态分布的拟合,其他的还望大神能解答一下,十分感谢!
统计数据如下:cl=[1260,1332,1198,1343,1338,1348,1365,1399,1293,1251,1188,1370,1413,1454,1422,1314,1411];

下图是自己做的正态分布拟合

自己做的正态分布的,[y,x]=hist(cl,7);

自己做的正态分布的,[y,x]=hist(cl,7);

论坛优秀回答者

权威

9151 麦片

财富积分



11

主题

1万

帖子

1994

最佳答案
  • 关注者: 518
发表于 2019-3-15 08:13:04 | 显示全部楼层
本帖最后由 jingzhaos 于 2019-3-15 08:14 编辑

那么少的数据用直方图很难看出来服从什么分布。这些数据,效果最好的应该是威布尔分布。
用AD检验就可做。但如果是伽玛分布,AD检验做不了,就需要用其他方式如KS了,但K_S检验需要理论分布的参数已知,不能估计,否则效果并不好。

  1. [h p ad cv]=adtest(cl,'distribution','weibull')
  2. [h p ad cv]=adtest(cl,'distribution','logn')
  3. [h p ad cv]=adtest(cl,'distribution','norm')
复制代码
  1. P=gamfit(cl)  %用估计的方式,实际上是不推荐的
  2. gamCDF=[cl', cdf('gamma',cl',P(1),P(2))]
  3. [h p ks cv]= kstest(cl,'CDF', gamCDF)
复制代码

论坛优秀回答者

中级

932 麦片

财富积分


5001500


0

主题

2356

帖子

202

最佳答案
  • 关注者: 133
发表于 2019-3-15 11:52:07 | 显示全部楼层
四种分布示对比意图,2参数Weibull效果最好。
c138.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表