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

    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. js获取光标位置

    js获取光标位置   var TT = { /* * 获取光标位置 * @Method getCursorPosition * @param t element * @return number */ ...

  2. c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包

    [-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...

  3. js - AO链 与 function

    先来看一下demo,如果你已经看出三个console.log分别输出什么.那直接关闭此笔记 function t(age) { console.log(age); var age = 99; cons ...

  4. 【转】高性能服务器架构(High-Performance Server Architecture)

    High-Performance Server Architecture 高性能服务器架构 来源:http://pl.atyp.us/content/tech/servers.html译文来源:htt ...

  5. [转]六款常用的linux C/C++ IDE

    之前在windows下开发习惯啦,linux改用vim开发代码,但是前期还是不熟悉看代码效率感觉有点低.由于看代码需要各种跳转查找我个人觉得还是IDE方便些,以前在windows下就挺喜欢使用code ...

  6. UVa 496 - Simply Subsets

    题目大意:给你两个集合,判断两个集合的关系(不相交.相等.真子集和其他).简单判断就可以了,不过STL的set没有交集.并集等操作有点让人觉得不方便... #include <cstdio> ...

  7. python 错误AttributeError: 'module' object has no attribute 'AF_INET'

    写了一个简单的python socket的程序.运行时,报错如下 原因:文件的命名与Python的function的命名冲突 修改名称后,发现还是无法运行,检查目录下面是否有 这样子的一个文件,删除即 ...

  8. 内网服务器启动报错UNEXPECTED INCONSISTENCY解决方法

    一开始进入系统显示reboot and select proper boot device or insert boot media in selected boot device and press ...

  9. spring security 跨域防伪攻击

    applicationContext-security.xml中配置 <http use-expressions="true" disable-url-rewriting=& ...

  10. 连锁不平衡LD

    http://wenku.baidu.com/link?url=Fr_C7J5F4KusZTpZJUfuVfh4Bpyb9BAY7IQhWAOYirQJW0Oz-X3fI5r41aPHiQR8ENn9 ...