美文网首页
【R】二项分布函数

【R】二项分布函数

作者: 我写的BUG代码少 | 来源:发表于2020-09-22 07:14 被阅读0次

    二项分布函数

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

    dbinom(x, size, prob)   #计算每个点的概率密度分布
    pbinom(x, size, prob)   #计算事件的累积概率(表示概率的单个值) 
    qbinom(p, size, prob)   #获取概率值, 并生成一个其累加值与概率值匹配的数字。
    rbinom(n, size, prob)   #用于从给定样本中为给定概率生成所需数量的随机值//产生n个b(size, prob)的二项分布随机数
    
    parameter description
    x 数字的向量
    p 概率向量
    n 观察的数量
    size 试验的数量
    prob 每个试验成功的概率

    dbinom():计算二项式分布的概率(PDF)

    • dfunction()==对于离散分布来说结果是特定值的概率,对连续变量来说是密度==
      • 连续分布概率密度函数某个点对应的值表示的是概率密度(也就是分布函数的导数),而不是概率
    • 概率密度函数(PDF)
      • 连续型随机变量的概率密度函数是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。
      • 而随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分(CDF)
      • 概率密度函数就是只我们想要求面积时候的那个图形的表达式(Link
      • 如:翻硬币的例子,假如翻正面概率0.4,反面0.6,则这个模型的PDF就是{0.4, 0.6}
    '''
    某种疫苗注射后过敏反应的概率是0.08,问某社区卫生院在接种该疫苗100人后,少于3人有过敏反应的概率是多少?
    P(X<3)=P(X=0)+P(X=1)+P(X=2)
    '''
    print(dbinom(0,100,0.08)+dbinom(1,100,0.08)+dbinom(2,100,0.08))  # 点密度
    
    # 或 print(pbinom(2, 100, 0.08)) # 区域密度
    >>>
    0.0112728
    

    pbinom():计算特定二项式分布的累积分布函数(CDF)

    • pbinom(8, 20, 0.2)指第8次伯努利实验的累计概率
      • 其中总试验次数size = 20,每次实验成功发生的概率 prob = 0.2
    • 累积分布函数(CDF)/ 分布函数
      • 概率密度函数(PDF)的积分,能完整描述一个实随机变量X的概率分布。
      • CDF函数表示随机变量小于或等于其某一个取值x的概率
      • 对连续函数,所有小于等于a的值,其出现概率的和。F(a)=P(x<=a)
      • 应用:
        • 对小于参考值的现象值的出现频率的分析的累积频率分析
        • 对累计分布函数进行估计,随后可以求得简单的统计值,或进行各种统计假设检验
    # Probability of getting 20 or fewer heads from 48 tosses of a coin.
    x <- pbinom(20, 48, 0.5)  #数字向量,试验次数,成功概率
    
    #Showing output
    print(x)
    
    >>>
    0.1561634
    

    qbinom():计算二项式分布的逆累积分布函数

    quantile function 分位数函数

    • 分位数
      • 若概率 0 < p < 1随机变量 X 或 它的 概率分布的分位数 Za。是指满足条件p(X>Za) = α的实数。
      • 如t分布的分位数表,自由度 f = 20α = 0.05 时的分位数为1.7247。 --这个定义指的是 上侧 α 分位数
    • \alpha 分位数
      • 实数\alpha 满足 0 <\alpha <1 时,\alpha 分位数是使P{X< xα}=F(xα)=α的数xα
      • 双侧\alpha分位数是使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次重复实验。
    # Finding number of heads with the  help of qbinom() function 
    x <- qbinom(0.45, 48, 0.5)
    
    #Showing output
    print(x)
    
    >>>
    24
    

    rbinom(): 生成二项分布随机数

    产生nb(size, prob)的二项分布随机数

    • rbinom(n, size, prob)
      • n表示生成的随机数的数量
      • size表示进行伯努利试验的次数
      • prob表示一次伯努利试验成功的概率。
    • 注意:在rbinom()函数中,n可以大于size,比如rbinom(100,10,.5)。
    '''
    以抛硬币为例,总共抛硬币100次(size=100),得到正面记为成功,即每次成功概率为0.5(prob=0.5)
    '''
    rbinom(30,100,.5)   #小数点前的0可以省略
    >>>
    生成的30个随机数都在50左右徘徊。
    因为每次伯努利试验(抛硬币)的成功概率是0.5,
    那么在理想状态下,模拟100次伯努利试验(抛100次硬币),成功的次数应为50次,
    由此可见,在函数rbinom()中,结果的含义是伯努利试验成功的次数。
    
    image
    • 模拟伯努利试验的次数减少,n值的偏差将会变大
    rbinom(10,10,.5)
    >>>
    在本例中,单次试验的成功概率依旧为0.5,
    但是只模拟10次试验,并生成10个随机数,最大的数为8,远远偏离预期的5。
    
    image

    相关文章

      网友评论

          本文标题:【R】二项分布函数

          本文链接:https://www.haomeiwen.com/subject/swuiyktx.html