基于R的概率变换
我想把一个连续的随机变量基于R的概率变换,r,transformation,probability,normal-distribution,weibull,R,Transformation,Probability,Normal Distribution,Weibull,我想把一个连续的随机变量X和cdfF(X)转换成一个连续的随机变量Y和cdf(Y),我想知道如何在R中实现它 例如,对服从正态分布(X)的数据执行概率变换,使其符合理想的威布尔分布(Y) (x=0的CDF F(x=0)=0.5,CDF F(y)=0.5对应于y=5,然后x=0对应于y=5等)有许多内置分布函数,以“p”开头的函数将转换为统一函数,以“q”开头的函数将转换为统一函数。因此,您的示例中的转换可以通过以下方式完成: y <- qweibull( pnorm( x ), 2, 6.
X
和cdf
F(X)
转换成一个连续的随机变量Y
和cdf(Y)
,我想知道如何在R中实现它
例如,对服从正态分布(X)的数据执行概率变换,使其符合理想的威布尔分布(Y)
(x=0的CDF F(x=0)=0.5,CDF F(y)=0.5对应于y=5,然后x=0对应于y=5等)有许多内置分布函数,以“p”开头的函数将转换为统一函数,以“q”开头的函数将转换为统一函数。因此,您的示例中的转换可以通过以下方式完成:
y <- qweibull( pnorm( x ), 2, 6.0056 )
y通常,您可以通过
- 求X的概率≤x、 即外汇(x)李>
- 然后确定哪个观测y具有相同的概率
也就是说,你想要概率Y≤y=FY(y)与FX(x)相同
这使得FY(y)=FX(x)
因此y=FY-1(FX(x))
其中FY-1更为人所知的是分位数函数QY。从X到Y的整体转换总结为:Y=QY(FX(X))
在您的特定示例中,从R帮助中,正态分布的分布函数是pnorm
,威布尔分布的分位数函数是qweibull
,因此您希望首先调用pnorm
,然后对结果进行qweibull
。如果你的帖子展示了之前在编程解决方案方面的一些努力,那么这里的大多数人可能会更看好你的问题。我认为这可能应该进行交叉验证,而不是堆栈溢出?