首页 > 代码库 > 简单介绍一下R中的几种统计分布
简单介绍一下R中的几种统计分布
统计学上分布有很多,在R中基本都有描述。因能力有限,我们就挑选几个常用的、比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示。
下面先列举各种分布:
rnorm(n, mean=0, sd=1) 高斯(正态)分布
rexp(n, rate=1) ?指数分布
rgamma(n, shape, scale=1) γ分布
rpois(n, lambda) Poisson分布
rweibull(n, shape, scale=1) Weibull分布
rcauchy(n, location=0, scale=1) Cauchy分布
rbeta(n, shape1, shape2) β分布
rt(n, df) t分布
rf(n, df1, df2) F分布
rchisq(n, df) χ 2 分布
rbinom(n, size, prob)二项分布 ?
rgeom(n, prob)几何分布
rhyper(nn, m, n, k) ?超几何分布
rlogis(n, location=0, scale=1) logistic分布
rlnorm(n, meanlog=0, sdlog=1)对数正态
rnbinom(n, size, prob)负二项分布
runif(n, min=0, max=1)均匀分布
rwilcox(nn, m, n), rsignrank(nn, n) Wilcoxon分布
注意了,上面的分布都有一个规律,就是所有的函数前面都有r开始,所以呢,如果想获得概率密度,就用d替换r
如果想获取累计概率密度,就用p替换r
如果想获取分位数,就用q替换r
二项分布:
即重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从0-1分布。
公式:P(ξ=K)= C(n,k) * p^k * (1-p)^(n-k)
其中,P是成功的概率,n是n次独立重复实验,k是n次实验k次发生的概率
期望:Eξ=np
方差:Dξ=np(1-p)
二项分布在R中展现:
p=.4
K=200
n=10000
x=rbinom(n,k,p)
hist(x)
进行标准化处理:
mean=k*p
var=k*p*(1-p)
z=(x-mean)/sqrt(var)
hist(z)
绘制密度图
mean=k*p
var=k*p*(1-p)
z=(x-mean)/sqrt(var)
hist(z)
正态分布:
正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。
若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)
当μ = 0,σ = 1时的正态分布是标准正态分布。
正态分布在R中的展现:
x=rnorm(k, mean=mean,sd=sqrt(var))
hist(x)
泊松分布:
是一种统计与概率学里常见到的离散概率分布,由法国数学家西莫恩·德尼·泊松(Siméon-Denis Poisson)在1838年时发表。
泊松分布的概率函数:
泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生率。 泊松分布适合于描述单位时间内随机事件发生的次数。
泊松分布在R中的展现:
par(mfrow=c(2,2),mar = c(3,4,1,1))
lambda=.5
x=rpois(k, lambda)
hist(x)
lambda=1
x=rpois(k, lambda)
hist(x)
lambda=5
x=rpois(k, lambda)
hist(x)
lambda=10
x=rpois(k, lambda)
hist(x)
二项分布与泊松分布:
当二项分布的n很大而p很小时,泊松分布可作为二项分布的近似,其中λ为np。通常当n≧10,p≦0.1时,就可以用泊松公式近似得计算。
par(mfrow=c(3,3),mar = c(3,4,1,1))
k=10000
p=c(.5, .05, .005)
n=c(10,100,1000)
for (i in p){
for (j in n){
x=rbinom(k,j,i)
hist(x)
}}
卡方分布:
若n个相互独立的随机变量ξ?、ξ?、……、ξn ,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个服从标准正态分布的随机变量的平方和构成一新的随机变量,其分布规律称为卡方分布(chi-square distribution)。
卡方分布是由正态分布构造而成的一个新的分布,当自由度n很大时,
分布近似为正态分布。
卡方分布在R中的展示:
k=10000
par(mfrow=c(2,2),mar = c(3,4,1,1))
x=rchisq(k,2)
d=density(x)
plot(d)
x=rchisq(k,5)
d=density(x)
plot(d)
x=rchisq(k,100)
d=density(x)
plot(d)
x=rchisq(k,1000)
d=density(x)
plot(d)
F分布:
F分布定义为:设X、Y为两个独立的随机变量,X服从自由度为k1的卡方分布,Y服从自由度为k2的卡方分布,这2 个独立的卡方分布被各自的自由度除以后的比率这一统计量的分布。即: F分布是服从第一自由度为k1,第二自由度为k2的分布。
k=10000
par(mfrow=c(2,2),mar = c(3,4,1,1))
x=rf(k,1, 100)
hist(x)
x=rf(k,1, 10000)
hist(x)
x=rf(k,10, 10000)
hist(x)
x=rf(k,10000, 10000)
hist(x)
t分布:
t分布曲线形态与n(确切地说与自由度v)大小有关。与标准正态分布曲线相比,自由度v越小,t分布曲线愈平坦,曲线中间愈低,曲线双侧尾部翘得愈高;自由度v愈大,t分布曲线愈接近正态分布曲线,当自由度v=∞时,t分布曲线为标准正态分布曲线。
k=10000
par(mfrow=c(2,2),mar = c(3,4,1,1))
x=rt(k,2)
hist(x)
x=rt(k,5)
hist(x)
x=rt(k,10)
hist(x)
x=rt(k,100)
hist(x)
几种分布关系图示:
i2mean=function(x,n=10){
k=length(x)
nobs=k/n
xm=matrix(x,nobs,n)
y=rowMeans(xm)
return (y)
}
par(mfrow=c(5,1),mar = c(3,4,1,1))
#Binomia
p=.05
n=100
k=10000
x=i2mean(rbinom(k, n,p))
d=density(x)
plot(d,main="Binomial")
#Poisson
lambda=10
x=i2mean(rpois(k, lambda))
d=density(x)
plot(d,main="Poisson")
#Chi-Square
x=i2mean(rchisq(k,5))
d=density(x)
plot(d,main="Chi-square")
#F
x=i2mean(rf(k,10, 10000))
d=density(x)
plot(d,main="F dist")
#t
x=i2mean(rt(k,5))
d=density(x)
plot(d,main="t dist")
来源于:砍柴问樵夫
简单介绍一下R中的几种统计分布