- 57
- 0
- 约5.7千字
- 约 12页
- 2017-10-26 发布于江苏
- 举报
各种随机变量的生成方法
各种随机变量的生成方法
(1).随机数的计算机生成
一个常用的生成任意分布的随机变量的方法是先生成均匀分布的随机变量,再由它生成
任意分布的随机变量。基本原理是:若随机变量x 的累积概率分布函数(即概率密度函数
的积分)为Phi(x),则Phi(x)是[0,1]区间的非减函数,Phi(x)的反函数Phi^{-1}(x)定
义域为[0,1]。设u为[0,1]区间均匀分布的随机变量,可以证明
Pr(Phi^{-1}(u)=y)=Pr(u=Phi(y))=Phi(y)
也就是说,令x=Phi^{-1}(u)的话,x 的累积概率分布函数就是我们指定的Phi(.)。则为
了得到累积概率分布函数为Phi(.)的随机变量x,我们需要经过如下步骤:
1. 生成[0,1]区间的均匀分布的随机变量u
2. 令x=Phi^{-1}(u)
这种方法被成为逆变换方法。
但在实际工作中,我们往往对某些常用分布用一些直接生成方式来产生,以代替逆变换
方法。以下就介绍了一些典型的分布的生成方法。这些生成方法都是以生成均匀分布的
随机变量为基础的,关于均匀分布随机变量的生成另文叙述。
(2)伯努利分布/0-1分布(Bernouli Distribution)
生成离散0-1随机变量x,符合参数为p (0p1)的Bernouli分布BE(p)。其累积概率分
布函数为:
F(x)=p if x=1
F(x)=1-p if x=0
生成算法:
1. 产生随机变量u符合(0,1)区间的均匀分布
2. if u=p then x=1; else x=0
3. 返回x
(3)二项分布(Binomial Distribution)
生成离散随机变量x,符合参数为n, p 的Bernouli分布BE(n,p)。其累积概率分布函数为
F(x)=\frac{n!}{(n-x)!x!}*p^x*(1-p)^{n-x}, x=0,1,2,...,n
生成算法:
1. 产生y_1,y_2,...,y_n符合Bernouli分布BE(p)
2. 返回x=y_1+y_2+...+y_n
(4)柯西分布(Cauchy Distribution)
生成随机变量x,符合参数为alpha, beta 的Cauchy分布C(alpha,beta)。其概率密度函
数
为:
f(x)=\frac{beta}{pi*(beta^2+(x-alpha)^2)}, x属于(-\inf,+\inf)
生成算法:
1. 产生随机变量u符合(0,1)区间的均匀分布
2. 返回x=alpha-beta/tan(pi*u)
(5)经验分布(Empirical Distribution)
设a_1,a_2,...,a_n为n次观测值,满足a_1=a_2=...=a_n,经验分布即如下累积概率
分布函数:
F(x)=0 if xa_1
F(x)=(i-1)/(n-1)+\frac{x-a_i}{(n-1)*(a_{i+1}-a_i)} if a_i=x=a_{i+1}, 1=i
=n-1
F(x)=1, if a_n=x
生成算法:
1. 产生随机变量u符合(0,1)区间的均匀分布
2. 令m为(n-1)*u+1的整数部分
3. 返回x=a_m+((n-1)*u-m+1)*(a_{m+1}-a_m)
(6) 指数分布(Exponential Distribution)
生成随机变量x,符合参数为beta 的指数分布EXP(beta)。其概率密度函数为:
f(x)=exp(-x/beta)/beta if 0=x\inf
f(x)=0 x为其它
生成算法:
1. 产生随机变量u符合(0,1)区间的均匀分布
2. 返回x=-beta*ln(u)
(7)爱尔朗分布(Erlang Distribution)
生成随机变量x,符合参数为k, beta 的爱尔朗分布ER(k,beta)。x为k个参数为beta 的
指
数分布的独立随机变量的和
生成算法:
1. 生成y_1,y_2,...,y_k符合指数分布EXP(beta)
2. 返回x=y_1+y_2+...+y_k
(8)伽玛分布(Gamma Distribution)
生成随机变量x,符合参数为alpha, beta 的伽马分布Gm(alpha,beta)。其概率密度函数
为:
f(x)=\frac{x^{alpha-1}*exp(-x/beta)}{beta^alpha*Gamma(alpha)} if x=0
f(x)=0 x为其它
其中,Gamma(.)为伽马积分函数。注意,Gm(1,be
原创力文档

文档评论(0)