判断数据是否服从某一分布(二)——简单易用fitdistrplus包
?
一、對數據的分布進行初步判斷
??? 1.1 原理
??????? 對于不同的分布,有特定的偏度(skewness)和峰度(kurtosis),正態分布、均勻分布、邏輯斯諦分布、指數分布的偏度和峰度都是特定的值,在偏度-峰度圖中是特定的點,而伽馬分布和對數正態分布在偏度-峰度圖中是一條直線,貝塔分布在偏度-峰度圖中是一片區域。因此可以通過未知分布的偏度峰度值(在圖中是一個觀察點),與各種分布的偏度峰度點(線、區域)進行對比,判斷未知分布數據大致可能的一個或幾個分布。
??? 1.2 R代碼
??????? library(fitdistrplus)
??????? descdist(data, discrete = FALSE, boot = NULL, method = "unbiased",
graph = TRUE, obs.col = "darkblue", obs.pch = 16, boot.col = "orange") #data就是輸入的數據,向量;discrete是否使離散的分布;boot,默認從數據的bootstrap樣品中得到偏度-峰度點;method,默認“unbiased樣品的無偏估計值,也可“sample",樣品值;graph,是否圖畫出來;obs.col,點的顏色;obs.pch,點的樣式;boot.col,點圖中bootstap樣品的顏色。
?
?二、進一步判斷數據對某分布的服從程度
??? 2.1 原理?
??????? 通過maximum likelihood (mle), moment matching (mme), quantile matching (qme) or maximizing goodness-of-fit estimation (mge)幾種方法將單變量分布擬合為非截尾數據。
??? 2.2 R代碼
?? ? ?? fitdist(data, distr, method = c("mle", "mme", "qme", "mge"),
start=NULL, fix.arg=NULL, discrete=FALSE, keepdata = TRUE, keepdata.nb=100, ...)? #data,輸入的數據;distr,待擬合的分布,偏度-峰度圖上出現的分布,也可以是自己寫的函數;method方法,默認mle(最大似然估計);start,如果有自己寫的分布并且需要填入起始變量值的話,start就是需要輸入的分布起始值;fix.arg,指定待擬合分布的參數;discrete是否是離散的分布;keepdata,確定返回的是數據集還是數據子集,默認返回數據集;keepdata.nb,如果keepdata值為FALSE,keppdata.nb的值決定長度大于多少的子集才返回。
?
三、實例
??? 例一
??????? 引入《判斷數據是否服從某一分布(一)》中例二。
?? 數據:
??? 某公司接到一次電話的時間間隔,30個數據(單位:分鐘):
???? 0.8 11.7? 2.8 11.9? 6.1? 1
???? 34.8? 3.8 5.2 15.0 10.3 12.3
???? 8.2 0.6 1.7 14.5? 8.3 28.9
???? 3.1 7.3 10.2? 8.9? 0.1 15.5
???? 5.7 0.7? 8.3? 0.9 40.7? 2.9
? 分析:
??? library(fitdistrplus)
??? x<-c(0.8,11.7,2.8,11.9,6.1,1,
?????????? 34.8,3.8,5.2,15.0,10.3,12.3,
?????????? 8.2,0.6,1.7,14.5,8.3,28.9,
?????????? 3.1,7.3,10.2,8.9,0.1,15.5,
?????????? 5.7,0.7,8.3,0.9,40.7,2.9)
??? descdist(x)
???
?由圖可知,觀察點接近的分布有gamma分布和指數分布。
?首先判斷數據對gamma分布的服從程度:
??? fitdist(x, "gamma")
?再判斷對指數分布的服從程度:
? ?? fitdist(x, "exp")
?
?
?由上述結果可知,指數分布的Std.Error(標準誤)更小。所以數據更服從指數分布。
?
?
?
?
?
?
?
?
?
?
?
?
?
參考文獻
https://cran.r-project.org/web/packages/fitdistrplus/fitdistrplus.pdf
轉載于:https://www.cnblogs.com/ywliao/p/6297162.html
總結
以上是生活随笔為你收集整理的判断数据是否服从某一分布(二)——简单易用fitdistrplus包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对OCR文字识别软件进行自动分析和识别设
- 下一篇: C宏系统缺陷