Questions tagged «inverse-cdf»

2
帮助我了解分位数(CDF逆函数)
我正在阅读有关分位数功能的信息,但我不清楚。您能否提供比以下提供的更为直观的​​解释? 由于cdf 是单调递增的函数,因此它具有反函数。让我们用F - 1来表示。如果˚F是的CDF X,然后˚F - 1(α )是的值X α,使得P (X ≤ X α)= α ; 这称为F的α分位数。值F − 1(0.5 )FFFF−1F−1F^{−1}FFFXXXF−1(α)F−1(α)F^{−1}(\alpha)xαxαx_\alphaP(X≤xα)=αP(X≤xα)=αP(X \le x_\alpha) = \alphaαα\alphaFFFF−1(0.5)F−1(0.5)F^{−1}(0.5)是分布的中位数,概率质量的一半在左侧,一半在右侧。值 和˚F - 1(0.75 )是下和上四分位。F−1(0.25)F−1(0.25)F^{−1}(0.25)F−1(0.75)F−1(0.75)F^{−1}(0.75)

2
逆变换方法如何工作?
反转方法如何工作? 说我有一个随机样本与密度在,因此cdf在。然后通过反演方法,我得到的分布为。 f (x ; θ )= 1X1,X2,...,XnX1,X2,...,XnX_1,X_2,...,X_n 0&lt;X&lt;1˚FX(X)=X1/θ(0,1)X˚F - 1 X(Û)=Üθf(x;θ)=1θx(1−θ)θf(x;θ)=1θx(1−θ)θf(x;\theta)={1\over \theta} x^{(1-\theta)\over \theta} 0&lt;x&lt;10&lt;x&lt;10<x<1FX(x)=x1/θFX(x)=x1/θF_X(x)=x^{1/\theta}(0,1)(0,1)(0,1)XXXF−1X(u)=uθFX−1(u)=uθF_X^{-1}(u)=u^\theta 那么是否具有的分布?这是反演方法的工作方式吗? Xuθuθu^\thetaXXX u&lt;-runif(n) x&lt;-u^(theta)

3
使用Ahrens和Dieter(1972)的方法而不是通过逆变换的指数随机发生器的优点是什么?
我的问题是受R的内置指数随机数生成器函数启发的rexp()。当尝试生成指数分布的随机数时,许多教科书建议使用此Wikipedia页面中概述的逆变换方法。我知道还有其他方法可以完成此任务。特别是,R的源代码使用Ahrens&Dieter(1972)在论文中概述的算法。 我已经说服自己,Ahrens-Dieter(AD)方法是正确的。不过,与逆变换(IT)方法相比,我看不出使用它们的方法的好处。AD不仅比IT实施更复杂。似乎也没有速度上的好处。这是我的R代码,用于对两种方法及其结果进行基准测试。 invTrans &lt;- function(n) -log(runif(n)) print("For the inverse transform:") print(system.time(invTrans(1e8))) print("For the Ahrens-Dieter algorithm:") print(system.time(rexp(1e8))) 结果: [1] "For the inverse transform:" user system elapsed 4.227 0.266 4.597 [1] "For the Ahrens-Dieter algorithm:" user system elapsed 4.919 0.265 5.213 比较这两种方法的代码,AD至少绘制两个统一的随机数(使用C函数unif_rand())以获得一个指数随机数。IT只需要一个统一的随机数。大概是R核心团队决定不实施IT,因为它假设采用对数可能比生成更统一的随机数慢。我了解对数的获取速度可能与机器有关,但至少对我而言是相反的。也许IT的数值精度与对数为0的奇异性有关吗?但是然后,R 源代码sexp.c揭示了AD的实现也失去了一些数值精度,因为C代码的以下部分从统一随机数u中删除了前导位。 double u = unif_rand(); while(u &lt;= 0. || u …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.