zoukankan      html  css  js  c++  java
  • r语言常见对概率等计算的相关函数

    常见概率分布及在R中的应用

    转载 :http://eyejava.iteye.com/blog/324189

    R提供工具来计算累计分布函数p(cummulative distribution function CDF),概率密度函数d和分位数函数q,另外在各种概率分布前加r表示产生随机序列

    (R这种直接在分布前面加前缀的语法太难读了,pt() 误以为还是一个函数,实际上的含义是p(t()),为什么不写成这个格式呢? 不过t()返回什么好...)

    常见概率分布

    离散型

    1.二项分布Binomial distribution:binom

    二项分布指的是N重伯努利实验,记为X ~ b(n,p),E(x)=np,Var(x)=np(1-p)

    pbinom(q,size,prob), q是特定取值,比如pbinom(8,20,0.2)指第8次伯努利实验的累计概率。size指总的实验次数,prob指每次实验成功发生的概率

    dbinom(x,size,prob), x同上面的q同含义。dfunction()对于离散分布来说结果是特定值的概率,对连续变量来说是密度(Density)

    rbinom(n, size, prob),产生n个b(size,prob)的二项分布随机数

    qbinom(p, size, prob),quantile function 分位数函数。

    分位数:

    若概率0<p<1,随机变量X或它的概率分布的分位数Za。是指满足条件p(X>Za)=α的实数。如t分布的分位数表,自由度f=20和α=0.05时的分位数为1.7247。 --这个定义指的是上侧α分位数

    α分位数:

    实数α满足0 <α<1 时,α分位数是使P{X< xα}=F(xα)=α的数xα

    双侧α分位数是使P{X<λ1}=F(λ1)=0.5α的数λ1、使 P{X>λ2}=1-F(λ2)=0.5α的数λ2。

    qbinom是上侧分位数,如qbinom(0.95,100,0.2)=27,指27之后P(x>=27)>=0.95。即对于b(100,0.2)为了达到0.95的概率至少需要27次重复实验。

    2.负二项分布negative binomial distribution (帕斯卡分布)nbinom

    掷骰子,掷到一即视为成功。则每次掷骰的成功率是1/6。要掷出三次一,所需的掷骰次数属于集合 { 3, 4, 5, 6, ... } 。掷到三次一的掷骰次数是负二项分布的随机变量。

    dnbinom(4,3,1/6)=0.0334898,四次连续三次1的概率为这个数。

    概率函数为f(k;r,p)=choose(k+r-1,r-1)*p^r*(1-p)^k, 当r=1时这个特例分布是几何分布

    rnbinom(n,size,prob,mu) 其中n是需要产生的随机数个数,size是概率函数中的r,即连续成功的次数,prob是单词成功的概率,mu未知..(mu是希腊字母υ的读音)

    3.几何分布Geometric Distribution,geom

    n次伯努利试验,前n-1次皆失败,第n次才成功的机率

    dgeom(x,prob),注意这里的x取值是0:n,即dgeom(0,0.2)=0.2,以上的二项分布和负二项分布也是如此。

    ngeom(n,prob)

    4.超几何分布Hypergeometric Distribution,hyper

    它描述了由有限个(m+n)物件中抽出k个物件,成功抽出指定种类的物件的次数(不归还)。

    概率:p(x) = choose(m, x) choose(n, k-x) / choose(m+n, k) for x = 0, ..., k. 

    当n=1时,这是一个0-1分布即伯努利分布,当n接近无穷大∞时,超几何分布可视为二项分布

    rhyper(nn,m,n,k),nn是需要产生的随机数个数,m是白球数(计算目标是取到x个白球的概率),n是黑球数,k是抽取出的球个数

    dhyper(x, m, n, k)

    5.泊松分布 Poisson Distribution,pois

    p(x) = lambda^x exp(-lambda)/x!

    for x = 0, 1, 2, .... The mean and variance are E(X) = Var(X) = λ.  x ~ π(λ)

    泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生率.泊松分布适合于描述单位时间内随机事件发生的次数。如某一服务设施在一定时间内到达的人数,电话交换机接到呼叫的次数,汽车站台的候客人数,机器出现的故障数,自然灾害发生的次数等等.

    rpois(n, lambda)

    dpois(x,lambda)

    连续型

    6.均匀分布 Uniform Distribution,unif

    f(x) = 1/(max-min) for min <= x <= max. 

    runif(n,min,max).

    生成16位数的随机数:as.character(runif(1,1000000000000000,9999999999999999))

    dunif(x,min,max)=1,恒定等于1/(max-min).

    对于连续变量,dfunction的值是x去特定值代入概率密度函数得到的函数值。

    7.正态分布Normal Distribution,norm

    f(x) = 1/(sqrt(2 pi) sigma) e^-((x - mu)^2/(2 sigma^2)) 

    其中mu是均值,sigma是standard deviation标准差

    理论上可以证明如果把许多小作用加起来看做一个变量,那么这个变量服从正态分布

    rnorm(n,mean=0,sd=1)后两个参数如果不填则默认为0,1。

    dnorm(x,mean,sd),sd是标准差。

    画出正态分布概率密度函数的大致图形:

    x<-seq(-3,3,0.1)

    plot(x,dnorm(x)) plot中的x,y要有相关关系才会形成函数图。

    qnorm(p,mean,sd),这个还是上侧分位数,如qnorm(0.05)=-1.644854,即x<=这个数的累计概率小于0.05

    3sigma法则:对于正态分布的x,x取值在(mean-3sd,mean+3sd)几乎是在肯定的。

    因为pnorm(3)-pnorm(-3)=0.9973002

    用正太分布产生一个16位长的随机数字:

    as.character(10^16*rnorm(1))

    8.伽玛分布Gamma Distribution,gamma

    http://zh.wikipedia.org/w/index.php?title=伽玛分布&variant=zh-cn

    假设随机变量X为 等到第α件事发生所需之等候时间。

    f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s) for x >= 0, a > 0 and s > 0.

    Gamma分布中的参数α,称为形状参数(shape parameter),即上式中的s,β称为尺度参数(scale parameter)上式中的a

    E(x)=s*a, Var(x)=s*a^2. 当shape=1/2,scale=2时,这样的gamma分布是自由度为1的开方分布

    http://zh.wikipedia.org/wiki/File:Gamma_distribution_pdf.png

    dgamma(x,shape,rate=1,scale=1/rate), 请注意R在这里提供的rate是scale尺度参数的倒数,如果dgamma(0,1,2)则表示dgamma(0,shape=1,rate=2),而非dgamma(0,shape=1,scale=2)

    pgamma(q, shape, rate = 1, scale = 1/rate, lower.tail = TRUE,

           log.p = FALSE)

    qgamma(p, shape, rate = 1, scale = 1/rate, lower.tail = TRUE,

           log.p = FALSE)

    rgamma(n, shape, rate = 1, scale = 1/rate)

    9.指数分布Exponential Distribution,exp

    指数分布可以用来表示独立随机事件发生的时间间隔,比如旅客进机场的时间间隔、中文维基百科新条目出现的时间间隔等等。

    记作X ~ Exponential(λ)。

    f(x) = lambda e^(- lambda x) for x >= 0. 

    其中lambda λ > 0是分布的一个参数,常被称为率参数(rate parameter). E(x)=1/λ,Var(x)=1/λ^2

    dexp(x, rate = 1, log = FALSE)

    pexp(q, rate = 1, lower.tail = TRUE, log.p = FALSE)

    qexp(p, rate = 1, lower.tail = TRUE, log.p = FALSE)

    rexp(n, rate = 1)

    假设在公交站台等公交车平均10分钟有一趟车,那么每小时候有6趟车,即每小时出现车的次数~ Exponential(1/6)

    我们可以产生10个这些随机数看看rexp(10,1/6)

    60/(rexp10,1/6)即为我们在站台等车的随机时间,如下:

     [1]  6.443148 24.337131  6.477096  2.824638 15.184945 14.594903

     [7]  7.133842  8.222400 42.609784 15.182827

    可以看见竟然有一个42.6分钟的随机数出现,据说这种情况下你可以投诉上海的公交公司。

    不过x符合指数分布,1/x还符合指数分布吗?

    pexp(6,1/6)=0.6321206, 也就是说这种情况下只有37%的可能公交车会10分钟以内来。

    按照以上分析一个小时出现的公交车次数应该不符合指数分布。

    10.卡方分布(non-central)Chi-Squared Distribution,chisq

    它广泛的运用于检测数学模型是否适合所得的数据,以及数据间的相关性。数据并不需要呈正态分布

    k个标准正态变量的平方和即为自由度为k的卡方分布。

    E(x)=k,Var(x)=2k.

    dchisq(x, df, ncp=0, log = FALSE)

    pchisq(q, df, ncp=0, lower.tail = TRUE, log.p = FALSE)

    qchisq(p, df, ncp=0, lower.tail = TRUE, log.p = FALSE)

    rchisq(n, df, ncp=0)

    其中df为degrees of freedom。ncp是non-centrality parameter (non-negative).ncp=0时是central卡方分布,ncp不为0时,表示这个卡方分布是由非标准正态分布组合而成,ncp=这些正态分布的均值的平方和。

    11.β分布Beta Distribution,beta

    变量x仅能出现于0到1之间。

    空气中含有的气体状态的水分。表示这种水分的一种办法就是相对湿度。即现在的含水量与空气的最大含水量(饱和含水量)的比值。我们听到的天气预告用语中就经常使用相对湿度这个名词。

    相对湿度的值显然仅能出现于0到1之间(经常用百分比表示)。冬季塔里木盆地的日最大相对湿度和夏季日最小相对湿度。证实它们都符合贝塔分布

    dbeta(x, shape1, shape2, ncp = 0, log = FALSE)

    pbeta(q, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE)

    qbeta(p, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE)

    rbeta(n, shape1, shape2, ncp = 0)

    shape1,shape2是beta分布的两个参数。E(x)=s1/(s1+s2),var(x)=s1*s2/(s1+s2)^2 * (s1+s2+1)

    12.t分布Student t Distribution,t

    应用在当对呈正态分布的母群体的均值进行估计。当母群体的标准差是未知的但却又需要估计时,我们可以运用学生t 分布。

    学生t 分布可简称为t 分布。其推导由威廉·戈塞于1908年首先发表,当时他还在都柏林的健力士酿酒厂工作。因为不能以他本人的名义发表,所以论文使用了学生(Student)这一笔名。之后t 检验以及相关理论经由罗纳德·费雪的工作发扬光大,而正是他将此分布称为学生分布。

    dt(x, df, ncp, log = FALSE)

    pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE)

    qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE)

    rt(n, df, ncp)

    其中df是自由度,ncp是non-centrality parameter delta,If omitted, use the central t distribution。ncp出现时表示分布由非标准的卡方分布构成。

    13.F分布

    一个F-分布的随机变量是两个卡方分布变量的比率。F-分布被广泛应用于似然比率检验,特别是方差分析中

    df(x, df1, df2, ncp, log = FALSE)

    pf(q, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE)

    qf(p, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE)

    rf(n, df1, df2, ncp)

    df1,df2是两个自由度,ncp同t分布中的ncp。

  • 相关阅读:
    DNNClassifier 深度神经网络 分类器
    浏览器对MP4视频 帧宽度 高度的兼容性
    UnicodeEncodeError:'latin-1' codec can't encode character
    文件夹下 文件计数
    the largest value you actually can transmit between the client and server is determined by the amount of available memory and the size of the communications buffers.
    the “identity” of an object
    广告特征 用户特征
    如果一个维度全覆盖,则有效维度应该对该维度全覆盖
    a high-level neural networks AP
    使用 LDA 挖掘的用户喜好主题
  • 原文地址:https://www.cnblogs.com/z-bear/p/9185306.html
Copyright © 2011-2022 走看看