判断数据是否服从某一分布(二)——简单易用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
判断数据是否服从某一分布(二)——简单易用fitdistrplus包的更多相关文章
- 使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布
假设检验的基本思想: 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的.如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设. 实质分析: ...
- OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)
2014-06-26 Created By BaoXinjian
- js 判断数据是否为空
js 判断数据是否为空 // var a = ""; // var a = " "; // var a = null; // var a = undefined ...
- echart 判断数据是否为空
formatter 判断数据是否为空
- 大数据实践:ODI 和 Twitter (二)
大数据实践:ODI和Twitter(二) 在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIV ...
- CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三)----002
原文链接:https://blog.csdn.net/cyq1162/article/details/53303390 前言说明: 本篇继续上一篇内容,本节介绍所有相关查询的使用. 主要内容提要: 1 ...
- mysql语句插入前判断数据是否重复
在mysql中插入数据有时需要判断数据插入是否重复 语句编写:insert into 表(相应字段) select 相应字段 from dual where not exists (select 相应 ...
- 通过exists判断数据,并查找存在的数据
----通过exists判断数据,并查找存在的数据---以scott用户的emp 及dept表为例 select * from emp; select * from dept; ---查找emp表中的 ...
- php判断form数据是否为POST而来,判断数据提交方式
//判断form数据是否为POST而来,判断数据提交方式 if ($_SERVER['REQUEST_METHOD'] != 'POST') { // 非 POST 来路,做警告或你想做的事 retu ...
随机推荐
- js获取光标位置
js获取光标位置 var TT = { /* * 获取光标位置 * @Method getCursorPosition * @param t element * @return number */ ...
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
[-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...
- js - AO链 与 function
先来看一下demo,如果你已经看出三个console.log分别输出什么.那直接关闭此笔记 function t(age) { console.log(age); var age = 99; cons ...
- 【转】高性能服务器架构(High-Performance Server Architecture)
High-Performance Server Architecture 高性能服务器架构 来源:http://pl.atyp.us/content/tech/servers.html译文来源:htt ...
- [转]六款常用的linux C/C++ IDE
之前在windows下开发习惯啦,linux改用vim开发代码,但是前期还是不熟悉看代码效率感觉有点低.由于看代码需要各种跳转查找我个人觉得还是IDE方便些,以前在windows下就挺喜欢使用code ...
- UVa 496 - Simply Subsets
题目大意:给你两个集合,判断两个集合的关系(不相交.相等.真子集和其他).简单判断就可以了,不过STL的set没有交集.并集等操作有点让人觉得不方便... #include <cstdio> ...
- python 错误AttributeError: 'module' object has no attribute 'AF_INET'
写了一个简单的python socket的程序.运行时,报错如下 原因:文件的命名与Python的function的命名冲突 修改名称后,发现还是无法运行,检查目录下面是否有 这样子的一个文件,删除即 ...
- 内网服务器启动报错UNEXPECTED INCONSISTENCY解决方法
一开始进入系统显示reboot and select proper boot device or insert boot media in selected boot device and press ...
- spring security 跨域防伪攻击
applicationContext-security.xml中配置 <http use-expressions="true" disable-url-rewriting=& ...
- 连锁不平衡LD
http://wenku.baidu.com/link?url=Fr_C7J5F4KusZTpZJUfuVfh4Bpyb9BAY7IQhWAOYirQJW0Oz-X3fI5r41aPHiQR8ENn9 ...