使用R拟合分布

几个常用的概率函数介绍

这里,参考R语言实战,以及[Fitting Distribution with
R]的附录。

一.认识各种分布的形态

1.1 连续型随机变量的分布

首先,我们来回顾一遍各类分布函数的表达式,及其关系。

先逐一介绍与标准正态分布相关的一些分布:正态分布,卡方分布,t−

分布,F−分布,Wishart

分布。

先上个图,一睹为快。

以上几个分布之间的关系如以下结构图所示。

[广义线性模型导论3rd edition,p10]

1.1.1 正态分布

正态分布N(μ,σ2)

的密度函数:

正态分布的形态如图。

library(ggplot2)

library(reshape2)

library(dplyr)

#产生分布数据

set.seed(123)

data_norm<-data.frame(x1 = rnorm(n = 200, m = 0, sd
= 1),

                     
x2 = rnorm(n = 200, m = 0, sd = sqrt(2)),

                     
x3 = rnorm(n = 200, m = 0, sd = sqrt(0.5)),

                     
x4 = rnorm(n = 200, m = 1, sd = 1),

                     
x5 = rnorm(n = 200, m = -1, sd =1)

)

data_norm_long<-melt(data_norm)

ggplot(data = data_norm_long, aes(x = value, colour =
variable))

  geom_density()

ggtitle

("正态分布密度函数")

正态分布可以衍生出如下的分布。

1.1.2 卡方分布

若Zi∼ i.i.dN(0,1)

,则有

set.seed(123)

data_chisq<-data.frame(x1 = rchisq(200, 10, ncp =
0),

                      
x2 = rchisq(200, 50, ncp =0),

                      
x3 = rchisq(200, 100, ncp = 0))

data_chisq_long<-melt(data_chisq)



## No id variables; using all as measure variables



ggplot(data = data_chisq_long, aes(x = value, colour =
variable))

  geom_density()

  ggtitle

("卡方分布密度函数")

1.1.3t−

分布

,并且Z和X2独立,则有

set.seed(123)

data_t<-data.frame(x1 = rt(200, 10, ncp = 0),

                      
x2 = rt(200, 50, ncp =0),

                      
x3 = rt(200, 100, ncp = 0))

data_t_long<-melt(data_t)



## No id variables; using all as measure variables



ggplot(data = data_t_long, aes(x = value, colour = variable))

  geom_density()

  ggtitle

("t-分布密度函数")

1.1.4F−

分布

,并且X1和X2相互独立,则有

set.seed(123)

data_f<-data.frame(x1 = rf(200,df1 = 10, df2 = 10,
ncp = 0),

                      
x2 = rf(200,df1 = 5, df2 = 3, ncp =0),

                      
x3 = rf(200, df1 = 3, df2 = 5, ncp = 0))

data_f_long<-melt(data_f)



## No id variables; using all as measure variables



ggplot(data = data_f_long, aes(x = value, colour = variable))

  geom_density()

  ggtitle

("F-分布密度函数")

1.1.5Wishart

分布

Wishart

分布是χ2分布在p

维正态情况下的推广。这里对多维情况暂不展开介绍。

1.2 离散型随机变量的分布

1.2.1 伯努利(Bernoulli

)分布

伯努利分布记为Bernoulli(p)

,只有0和1两种取值。概率测度函数如下:

1.2.2 二项(Binomial

)分布

二项分布B(n,p)

的可能取值范围为0,1,...,n。其概率测度函数如下:


set.seed(123)

data_binom<-data.frame(x1 = rbinom(n = 1000, size =
10, prob = 0.6),

                     
x2 = rbinom(n = 1000, size = 50, prob = 0.6),

                     
x3 = rbinom(n = 1000, size = 100, prob = 0.6),

                     
x4 = rbinom(n = 1000, size = 500, prob = 0.6))



data_binom_long<-melt(data_binom)

ggplot(data = data_binom_long, aes(x = value, colour =
variable))

  geom_density()

ggtitle

("二项分布概率分布图")

1.2.3 负二项(NegativeBinomial

)分布

负二项分布。

1.2.4 几何(Geometric

)分布

1.2.5 泊松(Poission

)分布

1.3 指数分布族及其相互联系

1.3.1 指数分布族

[广义线性模型导论3rd edition,p58]

1.3.2 指数分布

1.3.3 Weibull分布

1.3.4 Beta分布

1.3.5 Gama分布

1.3.6 双指数(DoubleExponential

)分布

1.4 其他分布

1.4.1 均匀(Uniform

)分布

1.4.2 柯西(Cauchy

)分布

1.4.3 对数正态(Lognormal

)分布

1.5 可视化探索的步骤举例

首先,通过直方图,经验累积分布形态等来观察数据的分布形态。

#产生一组服从N(10,2)分布的随机数

set.seed(123)

x.norm<-rnorm(n = 200, m =10, sd = 2)

#绘制直方图

hist(x.norm, main = "观测样本的直方图")

#拟合密度曲线

plot(density(x.norm), main = "密度函数估计")

#绘制累积经验分布图

plot(ecdf(x.norm), main = "累积经验分布函数")

#绘制QQ图

z.norm<-(x.norm - mean(x.norm))/sd(x.norm)

qqnorm(z.norm)

abline(0,1)

其次,通过QQ图来验证数据是否符合正态分布。

二.模型选择

三.参数估计

模拟估计

矩估计

极大似然估计

四.拟合优度指标

五.拟合优度检验

使用R拟合分布的更多相关文章

  1. 判断数据是否服从某一分布(二)——简单易用fitdistrplus包

    一.对数据的分布进行初步判断     1.1 原理 对于不同的分布,有特定的偏度(skewness)和峰度(kurtosis),正态分布.均匀分布.逻辑斯谛分布.指数分布的偏度和峰度都是特定的值,在偏 ...

  2. [matlab] 1.拟合

    x = [1 2 3 4 5 6 7 8 9 ]; y = [9 7 6 3 -1 2 5 7 20]; p=polyfit(x,y,3); %数字代表拟合函数的阶数 xi=0:0.01:10; yi ...

  3. MATLAB之数据处理+公式拟合

    MATLAB之数据处理+公式拟合 前言:由试验得到一组数据,对该组数据进行处理,作图分析,分析各变量的关系,期望得到拟合公式. 试验数据背景 本次试验有三个自变量:V.M.G,因变量为F,每组试验重复 ...

  4. GAN综述

    生成式对抗模型GAN (Generativeadversarial networks) 是Goodfellow等[1]在 2014年提出的一种生成式模型,目前已经成为人工智能学界一个热门的研究方向,著 ...

  5. Generative Adversarial Networks overview(1)

    Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...

  6. Image Processing and Analysis_8_Edge Detection:Edge and line oriented contour detection State of the art ——2011

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  7. Dykin's blog

    回归分析是一种很重要的预测建模技术.主要是研究自变量与因变量之间的因果关系.本文将会从数学角度与代码角度分析不同类型的回归.当你想预测连续型的非独立变量,或者对一系列独立变量或输入项有所反应时,就会使 ...

  8. 【原】浅谈KL散度(相对熵)在用户画像中的应用

    最近做用户画像,用到了KL散度,发现效果还是不错的,现跟大家分享一下,为了文章的易读性,不具体讲公式的计算,主要讲应用,不过公式也不复杂,具体可以看链接. 首先先介绍一下KL散度是啥.KL散度全称Ku ...

  9. EM算法(2):GMM训练算法

    目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(2):GMM训练算法 1. 简介 GMM模型全称为Ga ...

随机推荐

  1. Redis学习笔记02-消息队列与延时队列

    写在前面:Redis的消息队列并不是专业的消息队列,没有ACK保证,没有特别多的高级特性,如果对消息的可靠性有很高的要求,就放弃它吧. 1.Redis消息队列 Redis通过内部的list数据结构来实 ...

  2. 使用Maven编译运行Storm入门代码(Storm starter)(转)

    Storm 官方提供了入门代码(Storm starter),即 Storm安装教程 中所运行的实例(storm-starter-topologies-0.9.6.jar),该入门代码位于 /usr/ ...

  3. Power Strings POJ2406 KMP 求最小循环节

    相比一般KMP,构建next数组需要多循环一次,因为next[j]代表前j-1个字符的最长相同前缀后缀,比如字符串为aab aab aab共9个字符,则next[10]等于前9个字符中最长相同前缀后缀 ...

  4. 字符界面总是显示 login incorrect

    一般来说出现这样的提示,是因为登陆的密码错误,如果密码中有数字,最好用主键盘输入,用数字键盘会有错误.

  5. BZOJ 4554: [Tjoi2016&Heoi2016]游戏

    Time Limit: 20 Sec Memory Limit: 128 MB Submit: 951 Solved: 572 [Submit][Status][Discuss] Descriptio ...

  6. bzoj 1123 [POI2008]BLO——点双连通分量

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1123 点双连通分量缩点,然后各种各样. 结果不会写了.比如新连边.记录一个点是割点缩成的点还 ...

  7. 小希的迷宫 HDU - 1272 (并查集)

    思路: 当图中的集合(连通子图)个数为1并且边数等于顶点数-1(即改图恰好为一棵生成树)时,输出Yes. 此题的坑:(1) 如果只输入0 0算作一组数据的话答案应该输出Yes (2) 输入数据可能并不 ...

  8. day37 09-Struts2和Hibernate整合环境搭建

    <!-- 设置本地Session --> <property name="hibernate.current_session_context_class"> ...

  9. day37 02-Hibernate二级缓存:二级缓存的散装数据

    一级缓存存放的是对象的地址.把对象的地址缓存下来了.二级缓存里面存放的是对象的散装数据.你再去获取的时候,因为一级缓存的生命周期结束了,它会从二级缓存中获取.从二级缓存中获取,因为它又会得到一个对象. ...

  10. 关闭防火墙,仍然无法访问80端口 centos

    如果你用的是阿里云,那么需要添加80端口开放才行,在云服务器-安全组-添加安全组