五、特殊的抽样方法 针对具体的问题,有时采用近似抽样方法是十分必要的。 如果实验测量或理论计算得到的近似分布密度函数在抽样范 围内是有界的,我们总是可以采用舍选法。但是这种方法对 分布密度函数在抽样范围内起伏比较大时,其抽样效率很低。 部份近似抽样方法。 1.对由直方图给出的分布的抽样 一维直方图给出的分布反映了某一随机变量出现的频 数。实际上是以图形形式给出随机变量在各道上的分布密度 函数和分布函数的值。 )(xf )(xF 如果随机变量在第j 道内的频数为,则到该道的累积 分布数为,再假定抽样范围是从1道到N道,则在第j 道 上的分布函数值为 j n ∑ = j i i n 1 ∑∑ == = N i i j i ij nnxF 11 )( . 它的抽样可以采用阶梯近似法,即抽取均匀分布随机数ξ,找 出满足不等式 )()( 1 ii xFxF <≤ ? ξ . 的值,把对应的值作为抽样值,即取i i x i x=η。 这种做法实际上就是用若干个前后相接的阶梯性函数值 来近似。 )(xF 进一步作细致的考虑时,我们可以用线性插值法求出抽 样值。从判断不等式决定出的i,和的值,求出 i x )( )()( )( 1 1 1 1 ? ? ? ? ? ? ? +=′ ii ii i ii x xFxF xF xx x ξ i ′ ξ i x ξ ∑ ∫ = ? = j i x x i i dxxfj 1 1 )()( 取 x=η 作为抽样值。 上述方法由于需要逐道地计算累计分布数,来判断 与随机数 )( i xF 值对应的满足不等式的值,因而效率很低。 折半查找法是以计算最靠近的和的值,并求出 线性插值来作为抽样值。这种方法可以提高抽样效率。 )(xF 1?i i )(xF 2.对由经验公式给出分布的抽样 当随机变量样本的一维分布密度函数是由平滑的经验公 式给出时,常用的技巧是采用如下方法: )(xf (1) 将抽样区间划分为若干等份的子区间;然后在各个子区 间内对分布密度函数积分; (2) 计算出对应于各个区间的分布函数值,即 ; F (3) 再采用与由直方图分布抽样中使用的相同办法来求出 抽样值。 这种方法在求对应于各子区间的一组分布函数值时比较 耗时,但依据这些数产生随机数时却相当快。 3. 反函数近似 设随机变量η以分布函数分布。采用直接抽样法,取 ,则可以从均匀分布的随机变量抽样值 )(xF )( 1 ξη ? = F ξ得到随机变量 η的抽样值。 在实际抽样中,往往反函数的解析形式求不出来, 因而就用近似计算方法求得。以 Q 作为 )( 1 yF ? )(yQ≈)( 1 yF ? )(y η的抽样近似 值。这就是反函数近似。 假如具有如下性质: )( 1 yF ? ]1,0[∈y,lim和lim, 此时,可以利用最小二乘法拟合曲线的函数。例如我们 取 ?∞= ? → )( 1 0 yF y 1? +∞≈ ? → )( 1 1 yF y )(yF cba ,,,, . )1ln(ln)1()()( 2221 yyyycybyayQyF ?+?+++=≈ ? βα 这样的近似取法对相当广泛的分布函数抽样是可行的。其中 系数是待定参数。当然也可以取其它数学表示形 式,如帕迪(Pade)近似。 βα )(yQ )1,0(N以标准正态分布为例,利用分布函数定义的公式, 近似有 dxedxey x yQ x yF 2 )( 2 )( 22 1 2 1 2 1 ? ∞? ? ∞? ∫∫ ≈= ? ππ . 取点 200 k y k =,,即将[0,1]区间分成200等份, 取区间内有199个点,得到 )199,...,2,1( =k , 2 1 2 )( 2 dxey x yQ k ? ∞? ∫ = π )199,...,2,1( =k dxeyQ x y k 2 2 2 1 )( ? ∞? ∫ ≈ π 利用逐步回归法计算出各个系数为: , 8268.0?=a 6736.1=b, 0=c , 3315.0=α , 3315.0?=β 。 4. 近似修正抽样 对于任意已知的分布密度函数,若是的一个 近似分布密度函数,并且以分布的抽样简单,运算量也 小,则可以令 )(xf )( 1 xf )(xf )( 1 xf ) ) x x ( ( min 1 0)( 1 f f m xf ≠ = 使分布密度函数可以表示成乘加分布抽样的分布形式 )()()()( 221 xfxHxmfxf += . 其中是对近似)()( 22 xfxH )()( 1 xmfxf ≈的一个修正,即 )()()()( xmfxfxfxH 122 ?= . 令,与乘加分布的公式比较,可以看到这里有 。这样我们就可以采用如下的抽样框图。 )(max 22 xHM = mx =)(H 1 产生随机数 NoYes Yes No 2 ξ ? 1 m<ξ 1f η 对)( 1 xf抽样,得 2f η 对)( 2 xf抽样,得,产生 2 ξ 1f ηη = ?/)( 2222 MH f ηξ < 2f ηη = 5.极限近似法 中心极限定理可以用来产生具有正态分布的随机变量抽 样。 它利用任意分布的随机数的和来产生正态分布的抽样 值。假如 n ξξξ ,...,, 21 是在[0,1]区间上n 个均匀分布的独立随 机变量的抽样样本。它的平均值为 21 ,方差为 121 。事实上, 我们有 {} ∫∫ ∞+ ∞? =?=?= 1 0 2 1 1)( dxxdxxfxE ξ . {} {} {}[] 12 1 2 1 )( 2 1 0 222 = ? ? ? ? ? ? ??=?= ∫ dxxfxEE ξξξV . 设 nn R ξξξ +++= ... 21 ,则 {} ∫∫ ∞+ ∞? =?=?= 1 0 2 1)( n dxnxdxxfnxRE n . {} { } {}[] 12 2 22 n RERER nnn =?=V . 根据中心极限定理,引入新的随机变量 n δ, 12 2 n n R n n ? =δ , 则 ∫ ∞? ? ∞→ ==≤ x t n n Ndtexp )1,0( 2 1 )(lim 2/ 2 π δ . 通常取n,此时随机变量为 12= 12 δ 1212 6?= Rδ . 这种抽样的方法称为极限近似法。但是要注意:如果取n, 采用这种方法抽样时,则 12= 6>x的情况已经完全忽略。若要考 虑6x <处的情况,必须取或改用其它的抽样办法。 12>n 六、多维随机向量的抽样方法 1. 舍选法 设随机向量变量η G 的各分量为 n ηηη ,,, 21 ??? , . () T n ηηηηη ???= 321 G 它的联合分布密度函数为),,,( 21 n xxxf ??? , 抽样范围在平行多面 体 {} nnn bxabxabxa ≤≤???≤≤≤≤ ,,, 222111 内。令在该范围内, +∞<???= ),,,(sup 21 n xxxfL 我们将一维舍选法推广到这里,得到n 维舍选法的做法如下: (1)产生n+1 个[0,1]上的均匀分布随机数 121 ,,, + ??? n ξξξ, (2)然后判断如下不等式 () () ()[] nnnnn aabaabaabF L +????+?+?< + ξξξξ ,,, 1 222211111 . 是否成立。 (3)若不等式成立,则得到η G 的一个抽样值,该向量的各个 分量值为 i a iiii ab +?= ξη )(, ( ),,2,1 ni ???= (4) 若不等式不成立,再重新产生n+1 个随机数, i ξ (5) 重复上面的步骤,直至该不等式成立。这种方法的效 率为 ∏ = ? = n i ii abL E 1 )( 1 . 显然这个抽样效率较低,而且L的计算也很困难。这就在很 多情况下限制了它的使用。 2.条件密度法 设的联合密度函数为,若在某一特定 的点处, T ),( 21 ηηη = G ),( 21 xxf 1 x . 0),( 221 > ∫ +∞ ∞? dxxxf 则定义 . ∫ +∞ ∞? = 2212112 ),(/),()|( dxxxfxxfxxf 其中称为在)|( 12 xxf 11 x=η条件下, 2 η 的条件分布密度函数。这时 可以将表示成 ),( xxf 21 ∫ +∞ ∞? ?= 2211221 ),()|(),( dxxxfxxfxxf . 用类似的方法可以将三维随机向量的联合分布密度函数写为 ),|()|()(),,( 213312211321 xxxfxxfxfxxxf ??= . 上面公式中, ? ? ? ? ? ? ? ?= = = ∫ ∫∫ ∞+ ∞? +∞ ∞? +∞ ∞? )]|()(/[),,(),|( )(/),,()|( ),,()( 122113212133 113321122 1232111 xxfxfxxxfxxxf xfdxxxxfxxf dxdxxxxfxf 进一步推广到n 维随机向量也是容易的。 ),,|(),|()|()(),,,( 12121331221121 ? ????????=??? nnnn xxxxfxxxfxxfxfxxxf . 抽样步骤: (1) 由为分布密度函数产生)( 11 xf 1 η的抽样值 11 x=η。 (2) 在 11 x=η的条件下,由分布密度函数抽取)|( xxf 122 22 x=η。 (3) 在 11 x=η, 22 x=η的条件下,由分布密度函数抽取),|( 2133 xxxf 33 x=η。 : : (n) 在 11 x=η, 22 x=η, 11 , ?? =??? nn xη的条件下,由分布密度函数 ),( ?,,| 121 ? ?? nnn nn xxxxf抽取x=η。 最后就得到了 ( 123 ,,,, T n )η ηηη η= ??? G 的抽样值 () 123 ,,,, T n x xx x???。 例 中子入射角),( θ?服从联合分布密度函数 ? ? ? ? ? +=≤≤≥> += .12/)323(,2/0,02/ ,sinsin)sinsin31( 1 ),( 2 παπθ?π θ?θ? α θ?f α为归一化常数,现要求对其余弦 θδ?η cos,cos ==做抽样。 解 容易证明对上式进行变量代换后,η和δ联合分布密度函 数为 [ ])1)(1(311 )323( 12 ),( 222 yxyyxf ??+? + = π . 取 ? ? ? ? ? ? ? ? ?+ + = 2 1 1 3 32 4 )323( 12 )( xxf π π . ( ) . )1)(1(311 1 32 1 )|( 222 2 2 yxy x xyf ??+? ?+ = π 34 21 1 则。我们先对抽样,将其化为 )|()(),( xyfxfyxf = )(xf ? ? ? ? ? ? ? + = + = ??+= 323 32 , 323 3 1 4 )( 21 2 211 pp xppxf π 用前面介绍过的加分布抽样,可以得到它的抽样框图。抽出 2 ξη =后,再对)|( 22 ξyf抽取δ值。这时同样可以使用加分布抽样 法。 抽样框图 产生随机数 1 ξ 1 3/(3 2 3)?ξ <+ 2 η ξ= 22 23 1?ξξ+ < No Yes Yes No 产生随机数 23 ,ξ ξ 产生随机数 4 ξ 4 2 2 /4 ? 23 1 43 π ξ π ξ < +? 5 δ ξ= No Yes No 产生随机数 56 ,ξ ξ 2 56 1?ξξ+< No 2 56 1?ξξ+ < 产生随机数 56 ,ξ ξ Yes 3.n 维正态分布随机向量的抽样 当n 维随机向量 ( 123 ,,,, T n )η ηηη η=? G 服从如下标准正态分布时, {} { } { }2/exp 2 1 2/exp 2 1 2/exp 2 1 ),,,( 22 2 2 121 nn xxxxxxf ???????=??? πππ 各分量是互相独立的。我们可以用一维变量正态分布的抽样 法,对各分量分别抽取 i x η,构成总体抽样值 ( ) 123 ,,,, n T xxxx x ηηηη η= ??? G 。 对n 维正态分布的抽样可以在对n 维标准正态分布抽样 的基础上进行.如果n 维随机向量η G 服从的联合分布密度函数 可以表示为如下的正态分布形式: () ()( ? ? ? ? ? ? ?????=??? ? ?? μχμχπ ) GGGG 1 2 1 2 21 2 1 exp2),,( MMxxxf T n n . 其中 () 12 ,,, T n xx xχ = ??? G , () 12 ,,, T n μ μμ μ=? G . {}ημ GG E= , 即μ G 为η G 的期望值。M 称为η G 的协方差矩阵,它是正 定对称的n 阶方阵,其矩阵元 ij σ为 ()( ){ } jijjiiij E σμημησ =??= . 因为M 是正定对称的,所以总可以找到一个非奇异的下三角 矩阵A 。将M 分解为 T AAM = . 可以证明,一般n 维正态分布的抽样值 x η,可以通过n 维标 准正态分布抽样值 y η,经过变换 yx Aημη GGG += . 来得到。 例 二维正态分布的抽样 解 设服从二维正态分布,对其协方差矩阵 ( 12 , T ηηη= G ) AA M . ? ? ? ? ? ? ? ? = 2221 1211 σσ σσ 进行分解,以得到 T 的形式。我们可以得到下三角矩阵A 为 M = ? ? ? ? ? ? ? ? ? ? ? ? ?= 11 2 122211 11 12 11 0 σ σσσ σ σ σ A . 设η G 的期望值为 () 12 , T μ μμ= G . 若相应的二维标准正态分布已抽得 ( ) 12 , T yy ηηη= G ,则得到最后的 抽样结果 ( ) 12 , T xxx ηηη= G 为 [] ? ? ? ? ? ?+ + 212 1 2/12 12221112 111 )( yyx y ησσσηη ησμ += = 1 11 2 1 x σ σ μ η .