Matlab中求数据概率分布的方法
一、問題描述
對已有的一些列數(shù)據(jù)進(jìn)行分析,想得到該數(shù)據(jù)的分布和統(tǒng)計特性,如概率密度函數(shù),概率分布,累計概率密度等等。
例如,已有一段時間的聲音測量數(shù)據(jù),求該數(shù)據(jù)的分布特性,并給出噪聲的95%置信區(qū)間統(tǒng)計參數(shù)以表征該聲音監(jiān)測數(shù)據(jù)的總體水平。
二、Matlab 統(tǒng)計分析工具箱
Matlab自帶了22個內(nèi)置的概率分布例如概率密度類pdf,累積分布函數(shù)類cdf,概率圖等,當(dāng)然前提是安裝Statistics and Machine Learning Toolbox?,matlab提供了應(yīng)用程序可以直接調(diào)用,也可以用代碼自己寫。離散分布主要分為以下即大類,具體可以查看matlab官網(wǎng)資料
- 二項分布
對數(shù)據(jù)進(jìn)行二項分布參數(shù)擬合,計算該分布或其逆分布,生成偽隨機樣本 - 幾何分布
計算幾何分布或其逆分布,生成偽隨機樣本 - 超幾何分布
計算超幾何分布或其逆分布,生成偽隨機樣本 - 多項分布
計算多項分布或其逆分布,生成偽隨機樣本 - 負(fù)二項分布
對數(shù)據(jù)進(jìn)行負(fù)二項分布參數(shù)擬合,計算負(fù)二項分布或其逆分布,生成偽隨機樣本 - 泊松分布
對數(shù)據(jù)進(jìn)行泊松分布參數(shù)擬合,計算泊松分布或其逆分布,生成偽隨機樣本 - 均勻分布(離散)
計算離散均勻分布或其逆分布,生成偽隨機樣本
三、具體方法
3.1 加載聲音原始數(shù)據(jù)
聲音數(shù)據(jù)是一維度列數(shù)據(jù),直接用area繪制面積圖:
% 原始曲線 figure area(noiseday); axis([0 599 0 80]) xlabel('datapoint'); ylabel('noise dB') title('day noise');3.2?數(shù)據(jù)分布擬合
第一種方法,這里用ksdensity函數(shù)實現(xiàn),ksdensity函數(shù)時核心平滑密度函數(shù),可以直接返回各個點的概率。
[f,xi]=ksdensity(data); plot(xi,f);可以看到,該聲音的分布近似正態(tài)分布。
第二種方法,采用matlab的工具箱實現(xiàn)->APP->Distribution Fitter
導(dǎo)入數(shù)據(jù):
數(shù)據(jù)顯示類別可以選擇當(dāng)前數(shù)據(jù)的顯示類型:density(PDF),cumulative probability(CDF),Quantile probability, probability plot等。這里我們選擇density。
添加一個概率擬合 New? Fit,選擇正態(tài)分布擬合Normal.
顯示類別選擇概率圖,數(shù)據(jù)越靠近直線,說明越符合正態(tài)分布。以下結(jié)果表明總體上還是很符合正態(tài)分布(存在干擾數(shù)據(jù))。
3.3 計算95%置信區(qū)間
通過擬合可以發(fā)現(xiàn)數(shù)據(jù)是符合正態(tài)分布,因此可以采用normfit函數(shù)求置信區(qū)間。具體用法:
[mu,sigma,muci,sigmaci]= normfit(noiseday,a);mu: 均值 sigma: 標(biāo)準(zhǔn)差 muci:1-a 區(qū)間內(nèi)的均值 sigmaci:1-a 區(qū)間內(nèi)的標(biāo)準(zhǔn)差因此,設(shè)置a=0.05可以求得95%置信區(qū)間內(nèi)的數(shù)據(jù)分布
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?表1-1? 95%置信區(qū)間的聲音數(shù)據(jù)分布
| 分布均值 | 46.5124 |
| 分布標(biāo)準(zhǔn)差 | 2.7061 |
| 分布均值的95%置信區(qū)間 | [46.2303,46.7944] |
| 分布標(biāo)準(zhǔn)差的95%置信區(qū)間 | [2.5218,2.9223] |
總結(jié)
以上是生活随笔為你收集整理的Matlab中求数据概率分布的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实时 摔倒识别 /运动分析/打架等异常行
- 下一篇: git推送指令配置_git 常用命令