加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

二项分布的随机数

发布时间:2020-12-14 04:39:33 所属栏目:大数据 来源:网络整理
导读:一、功能 产生二项式分布的随机数。 二、方法简介 二项式分布的概率密度函数为 [ f(x)=C_{n}^{x}p^{x}(1-p)^{n-x} qquad x in left { 0,1,...,n right } ] 用 (Bin(n,p)) 表示。二项式分布的均值为 (np) ,方差为 (np(1-p)) 。当 (n=1) 时,

一、功能

产生二项式分布的随机数。

二、方法简介

二项式分布的概率密度函数为
[ f(x)=C_{n}^{x}p^{x}(1-p)^{n-x} qquad x in left { 0,1,...,n right } ]
(Bin(n,p))表示。二项式分布的均值为(np),方差为(np(1-p))。当(n=1)时,(Bin(n,p))就是贝努利分布(BN(p))

(y_i(i=1,2,n))是独立同分布(IID)的参数为(p)的贝努利分布随机变量,则(x=sum_{i=1}^{m}y_{i})服从二项分布(Bin(n,p))。因此,产生二项分布随机变量(x)的具体算法如下:

  1. 产生IID贝努利分布的随机数(y_1,y_2,y_n),即(y_i sim BN(p))
  2. 计算(x=sum_{i=1}^{m}y_{i})

三、使用说明

是用C语言实现产生二项分布随机数的方法如下:

/************************************
    n       ---二项分布分布参数n
    p       ---二项分布分布参数p
    s       ---随机数种子
************************************/
#include "bn.c"

int bin(int n,double p,long int *s)
{
    int i;
    double x;
    u = uniform(0.0,1.0,s);
    for(x = 0.0,i = 0; i < n; i++)
        x += bn(p,s);
    return(x);
}

bn.c文件参见贝努力分布的随机数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读