簡體   English   中英

在特殊條件下生成正態分布的概率

[英]Generate probabilities of a normal distribution under special condition

在我的工作中,我需要使用正態分布來生成概率,這些概率之和小於或等於1,這意味着:

生成P1,P2,..,Pt其中P1+P2+..+Pt <= 1我想用R做到這一點,但我不知道該怎么做。

您確定要問什么嗎?

x <- rnorm(100)
Fn <- ecdf(x)
#plot(Fn)
Fn(max(x))
> Fn(max(x))
[1] 1

如果我理解正確。 如果要從4個正常隨機變量生成4個概率,則可以執行

x <- rnorm(4)
p <- exp(x)/sum(exp(x))
all(p<1) == TRUE
sum(p) == 1

如果您想要一個小於或等於1的總和,則可以進行轉換(不知道如何使其漂亮)。

x <- rnorm(4)
p <- exp(x)/sum(exp(x))
b<-numeric(4)
b[1]<-p[1]
b[2]<-p[2]-p[1]*p[2]
b[3]<-p[3]-p[2]*p[3]+p[1]*p[2]*p[3]
b[4]<-p[4]-p[3]*p[4]+p[2]*p[3]*p[4]-p[1]*p[2]*p[3]*p[4]
all(b<1) == TRUE
sum(b) <= 1

盡管我擔心此方法可能會有偏差。 現在, p的總和為1。如果有一種方法可以使每個p為0-1(所以總和可能為0-4)會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM