判斷數據是否服從某一分布(二)


 

一、對數據的分布進行初步判斷

    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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM