赞
踩
对已有的一些列数据进行分析,想得到该数据的分布和统计特性,如概率密度函数,概率分布,累计概率密度等等。
例如,已有一段时间的声音测量数据,求该数据的分布特性,并给出噪声的95%置信区间统计参数以表征该声音监测数据的总体水平。
Matlab自带了22个内置的概率分布例如概率密度类pdf,累积分布函数类cdf,概率图等,当然前提是安装Statistics and Machine Learning Toolbox™,matlab提供了应用程序可以直接调用,也可以用代码自己写。离散分布主要分为以下即大类,具体可以查看matlab官网资料
3.1 加载声音原始数据
声音数据是一维度列数据,直接用area绘制面积图:
- % 原始曲线
- figure
- area(noiseday);
- axis([0 599 0 80])
- xlabel('datapoint');
- ylabel('noise dB')
- title('day noise');
3.2 数据分布拟合
第一种方法,这里用ksdensity函数实现,ksdensity函数时核心平滑密度函数,可以直接返回各个点的概率。
- [f,xi]=ksdensity(data);
- plot(xi,f);
可以看到,该声音的分布近似正态分布。
第二种方法,采用matlab的工具箱实现->APP->Distribution Fitter
导入数据:
数据显示类别可以选择当前数据的显示类型:density(PDF),cumulative probability(CDF),Quantile probability, probability plot等。这里我们选择density。
添加一个概率拟合 New Fit,选择正态分布拟合Normal.
显示类别选择概率图,数据越靠近直线,说明越符合正态分布。以下结果表明总体上还是很符合正态分布(存在干扰数据)。
3.3 计算95%置信区间
通过拟合可以发现数据是符合正态分布,因此可以采用normfit函数求置信区间。具体用法:
- [mu,sigma,muci,sigmaci]= normfit(noiseday,a);
-
- mu: 均值
- sigma: 标准差
- muci:1-a 区间内的均值
- sigmaci:1-a 区间内的标准差
因此,设置a=0.05可以求得95%置信区间内的数据分布
表1-1 95%置信区间的声音数据分布
分布均值 | 46.5124 |
分布标准差 | 2.7061 |
分布均值的95%置信区间 | [46.2303,46.7944] |
分布标准差的95%置信区间 | [2.5218,2.9223] |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。