一、对数据的分布进行初步判断

    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

判断数据是否服从某一分布(二)——简单易用fitdistrplus包的更多相关文章

  1. 使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布

    假设检验的基本思想: 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的.如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设. 实质分析: ...

  2. OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)

    2014-06-26 Created By BaoXinjian

  3. js 判断数据是否为空

    js 判断数据是否为空 // var a = ""; // var a = " "; // var a = null; // var a = undefined ...

  4. echart 判断数据是否为空

    formatter 判断数据是否为空

  5. 大数据实践:ODI 和 Twitter (二)

    大数据实践:ODI和Twitter(二) 在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIV ...

  6. CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三)----002

    原文链接:https://blog.csdn.net/cyq1162/article/details/53303390 前言说明: 本篇继续上一篇内容,本节介绍所有相关查询的使用. 主要内容提要: 1 ...

  7. mysql语句插入前判断数据是否重复

    在mysql中插入数据有时需要判断数据插入是否重复 语句编写:insert into 表(相应字段) select 相应字段 from dual where not exists (select 相应 ...

  8. 通过exists判断数据,并查找存在的数据

    ----通过exists判断数据,并查找存在的数据---以scott用户的emp 及dept表为例 select * from emp; select * from dept; ---查找emp表中的 ...

  9. php判断form数据是否为POST而来,判断数据提交方式

    //判断form数据是否为POST而来,判断数据提交方式 if ($_SERVER['REQUEST_METHOD'] != 'POST') { // 非 POST 来路,做警告或你想做的事 retu ...

随机推荐

  1. 使用RGBa和Filter实现不影响子元素的CSS透明背景

    点击查看原文 问题 如果我们想要一个元素拥有半透明的背景,我们有两个选择: 使用CSS和 opacity 做一张 24-bit PNG 背景图片 在CSS中使用opacity有两个问题,一是为了适应所 ...

  2. Nginx http_user_agent 防御 ab 等

    日志出现大量: xxxxxxxxxxxxx - - [04/Jul/2013:23:37:49 +0800] "GET /1000.html HTTP/1.0" 200 56471 ...

  3. window.location获取URL中各部分

    博客分类: JAVASCRIPT JavaScriptASP.netSchemeASP网络协议  URL即:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL ...

  4. javascript DOM 学习总结 (1)

    摘自javascript DOM编程艺术 1.首先介绍DOM的三个字母的含义: 1.1  D 如果没有document(文档),DOM 也无从谈起,当创建了一个网页并把他加载到web浏览器中时,DOM ...

  5. Go的pprof使用

    go中有pprof包来做代码的性能监控,在两个地方有包: net/http/pprof runtime/pprof 其实net/http/pprof中只是使用runtime/pprof包来进行封装了一 ...

  6. IOS开发-UI学习-使用代码创建button

    使用代码创建button分5个步骤,分别是: 1.定义一个按钮,根据定义位置不同可定义为局部变量或者全局变量: 2.初始化按钮,一般使用一个矩形初始化: 3.设置按钮控件的其他属性,如背景图片,或者背 ...

  7. drag file upload xhr 拖拽异步上传文件

    <div id="droptarget" style="width: 500px; height: 200px; background: silver"& ...

  8. 按ctrl + c 播放下一曲音乐

    ./a.out . #include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<dirent. ...

  9. 字符集 ISO-8859-1(2)

    HTML 支持的数学符号 结果 描述 实体名称 实体编号 ∀ for all ∀ ∀ ∂ part ∂ ∂ ∃ exists &exists; ∃ ∅ empty ∅ ∅ ∇ nabla ∇ ...

  10. phpcms 杂乱总结

    1.根据catid 获取 栏目名称 $CATEGORYS = getcache('category_content_'.$siteid,'commons'); $name = {$CATEGORYS[ ...