R语言:逆变换法生成密度函数的随机变量 |
您所在的位置:网站首页 › 用r语言生成随机数 › R语言:逆变换法生成密度函数的随机变量 |
在我的文章中,有关于逆变换法生成随机变量的。但是,关于逆变量法还有一种应用,就是根据密度函数生成随机变量。 我们以下面的密度函数为例子: 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 |