[英]Probability transformation using R
我想将具有cdf
F(x)
的连续随机变量X
转换为具有cdf
F(y)
的连续随机变量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 )
然后只需更改其他情况下的功能和/或参数即可。
distr包也可能对其他功能感兴趣。
通常,您可以通过以下方式将X上的观测值x转换为Y上的观测值y
也就是说,您希望概率Y≤y= F Y (y)与F X (x)相同。
这样得出F Y (y)= F X (x)。
因此y = F Y -1 (F X (x))
其中F Y -1更好地称为分位数函数Q Y。 从X到Y的整体转换总结为:Y = Q Y (F X (X))。
在您的具体的例子,从R的帮助下,正态分布的分布函数是pnorm
和Weibull分布的分位数功能是qweibull
,所以要首先调用pnorm
,然后qweibull
的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.