[英]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.