R语言:逆变换法生成密度函数的随机变量

您所在的位置:网站首页 用r语言生成随机数 R语言:逆变换法生成密度函数的随机变量

R语言:逆变换法生成密度函数的随机变量

2024-06-30 21:05| 来源: 网络整理| 查看: 265

在我的文章中,有关于逆变换法生成随机变量的。但是,关于逆变量法还有一种应用,就是根据密度函数生成随机变量。

我们以下面的密度函数为例子:

f ( x ) = 5 2 ∗ e [ − 5 2 ( x − 2 ) ] , x ≥ 2 f(x)=\frac{5}{2}*e[-\frac{5}{2}(x-2)] , x\geq 2 f(x)=25​∗e[−25​(x−2)],x≥2

我们根据概率论知识,将之积分获得其累积分布函数,并设为U:

U = − e ∗ ( − 5 2 ( x − 2 ) ) U=-e*(-\frac{5}{2}(x-2)) U=−e∗(−25​(x−2))

进而逆变换为:

x = 2 − 2 5 ∗ l o g ( − U ) x=2-\frac{2}{5}*log(-U) x=2−52​∗log(−U)

由于U的取值范围为[-1,0),由此,我们只需要在r语言程序中随机生成一个在-1到0的数,另其为U,就可以获得x的值。

代码:

q = function(n) { u = runif(n,min=-1,max=0) x = 2 - (2/5)*log(-u) x }

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3