给定随机变量X的概率分布——在R语言中模拟此随机变量

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定随机变量X的概率分布——在R语言中模拟此随机变量相关的知识,希望对你有一定的参考价值。

文章目录


一、问题重述

设随机变量 X X X 的分布为

P [ X = i ] = ( 1 2 ) i + 1 + 2 i − 2 3 i , i = 1 , 2 , … (P) P[X = i] = (\\dfrac12)^i+1 + \\dfrac2^i-23^i, i = 1, 2, \\dots \\tagP P[X=i]=(21)i+1+3i2i2,i=1,2,(P)

给出模拟此随机变量的方法。


二、问题求解

首先变量 X X X 的分布不符合我们常见的均匀分布、二项分布等常见分布,因此我们无法在R语言中直接模拟它,需要做出对应的变换。假定一个服从 [0, 1] 区间的均匀分布的随机数 U U U,即 U ∼ U ( 0 , 1 ) U \\sim U(0, 1) UU(0,1),接着若我们定义

p i = ( 1 2 ) i + 1 + 2 i − 2 3 i p_i = (\\dfrac12)^i+1 + \\dfrac2^i-23^i pi=(21)i+1+3i2i2

则问题 P P P 改写为如下形式:

P [ X = i ] = p i ,   i = 1 , 2 , … P[X = i] = p_i,\\ i = 1, 2, \\dots P[X=i]=pi, i=1,2,

接着我们定义如下分布:

X = 1   ,   U < p 1 ; 2   ,   p 1 ≤ U < p 1 + p 2 ; 3   ,   p 1 + p 2 ≤ U < p 1 + p 2 + p 3 ; … i   ,   ∑ j = 1 i − 1 p j ≤ U < ∑ j = 1 i p j . (Q) X = \\left\\\\beginaligned &1\\ ,\\ U < p_1;\\\\ &2\\ ,\\ p_1 \\le U < p_1 + p_2;\\\\ &3\\ ,\\ p_1+p_2 \\le U < p_1 + p_2 + p_3;\\\\ &\\dots\\\\ &i\\ ,\\ \\sum_j=1^i-1p_j \\le U < \\sum_j=1^ip_j. \\endaligned\\right. \\tagQ X=1 , U<p1;2 , p1U<p1+p2;3 , p1+p2U<p1+p2+p3;i , j=1i1pjU<j=1ipj.(Q)

可以证明分布 Q Q Q 和分布 P P P 是等价的。


三、证明

因为 U U U 服从 [0, 1] 区间的均匀分布,所以我们有如下结论:

∀   0 < a < b < 1 ,   P a ≤ U < b = b − a . \\forall\\ 0 < a < b < 1,\\ P\\a \\le U < b\\ = b - a.  0<a<b<1, PaU<b=ba.

所以对于分布 Q Q Q,有

P X = i = P ∑ j = 1 i − 1 p j ≤ U < ∑ j = 1 i p j = ∑ j = 1 i p j − ∑ j = 1 i − 1 p j = p i \\beginaligned P\\X=i\\&=P\\ \\sum_j=1^i-1p_j \\le U < \\sum_j=1^ip_j\\\\\\ &=\\sum_j=1^ip_j-\\sum_j=1^i-1p_j \\\\ &=p_i \\endaligned PX=i=Pj=1i1pjU<j=1ipj=j=1ipjj=1i1pj=pi

和原分布 P P P 等价。


四、R语言代码

定义分布 Q Q Q 的函数如下,其原理即为产生一个 [0, 1] 区间的均匀分布,利用该均匀分布概率值处在那个概率区间来确定 X X X,其代码如下:

Probability <- f

以上是关于给定随机变量X的概率分布——在R语言中模拟此随机变量的主要内容,如果未能解决你的问题,请参考以下文章

给定随机变量X的概率分布——在R语言中模拟此随机变量

用均匀分布随机变量生成泊松分布随机变量

来自给定双变量离散分布的随机样本

概率密度函数怎么求呢?

联合概率分布怎么做?

r语言中随机正态分布均值