如何计算多次尝试发生事件的概率(10次尝试中发生概率为1%)?

时间:2018-06-28 18:03:36

标签: r statistics

发生概率p = 0.01,则我们将得出1-(1-p)^ 10。我得到1-(1-0.01)= 1-(0.99)^ 10,大约是9.6%。

我如何使用向量(1:10),包统计信息中的函数对R进行同样的操作并绘制结果?

我尝试了这个,但是结果却是错误的:

plot(dbinom(1 , 1:300, 0.01))

3 个答案:

答案 0 :(得分:1)

p <- 0.01
sapply( 1:10, function(x) 1−(1−p)^x)
# [1] 0.01000000 0.01990000 0.02970100 0.03940399 0.04900995 0.05851985 0.06793465 0.07725531 0.08648275 0.09561792

sapply( 1:10, function(x) ( 1−(1−p)^x )*100)
# [1] 1.000000 1.990000 2.970100 3.940399 4.900995 5.851985 6.793465
# [8] 7.725531 8.648275 9.561792

或括号内的此矢量化形式

1−(1−p)^(1:10)
# [1] 0.01000000 0.01990000 0.02970100 0.03940399 0.04900995 0.05851985
# [7] 0.06793465 0.07725531 0.08648275 0.09561792

dbinom

1 - dbinom(x = 1:10, size = 1:10, prob = 1-p)

答案 1 :(得分:1)

我猜这里的目标是让您使用pkg:stats中的“统计分布”功能之一。如果查看帮助页面的各种分布,例如dpoisson(泊松),dhyper(超几何),dgeom(几何)和dbinom(二项式),请参阅?Distributions上的更多内容:

 dpois: p(x) = λ^x exp(-λ)/x!
 dhyper: p(x) = choose(m, x) choose(n, k-x) / choose(m+n, k)
 dgeom: p(x) = p (1-p)^x
 dgeom: p(x) = choose(n, x) p^x (1-p)^(n-x)

在我看来,dgeom看起来最接近您的候选表达式,只需要除以p就可以了。实际上,如果您随后使用它来计算在1:10试用后看到事件的概率,那就是:

1-dgeom( 1:10, prob=0.01)/0.01
[1]  0.01000000 0.01990000 0.02970100 0.03940399 0.04900995 0.05851985 0.06793465 0.07725531 0.08648275 0.09561792

然后您可以检查您的公式:

all.equal( 1-(0.99)^(1:10), 1-dgeom( 1:10, prob=0.01)/0.01)
[1] TRUE

现在这是否真的是所需的答案可能已经浮出水面。我怀疑您应该找到一种分布,该分布可以准确地传递这些值,而无需除以概率值。例如,每当n大于或等于1时, any 事件的概率将等于n个事件的概率之和。因为n个事件的概率是由n个事件的密度决定的泊松分布,所需的答案可能只是:

sum(dpois(1:10, 0.01) )
[1] 0.009950166

这几乎与零事件概率的补码相同:

1-dpois(0, 0.01) 
[1] 0.009950166

在对计数数据建模时,经常使用Poisson分布。泊松回归使用该分布作为误差基础和对数链接。

我发现您对问题的描述有些模棱两可,因此我提供了我认为可能有帮助的内容,但由您自己决定“正确答案”以及正确的理由是什么。

答案 2 :(得分:0)

dpois策略得出的概率非常低,甚至比我们对单个试验的期望值低,这让我感到困扰。我认为起诉dbinom函数的建议是正确的,但是我通过在R控制台上进行的一系列交互可能很有用,来到了这个位置。所有长度为10的试验均未发生的概率仅为:

(.99)^(10)*(.01)^(0)
#[1] 0.9043821

我们可以通过在表达式的指数位置使用序列来获得每种可能结果的概率:

 (.99)^(10:0)*(.01)^(0:10)
 #[1] 9.043821e-01 9.135172e-03 9.227447e-05 9.320653e-07 9.414801e-09 9.509900e-11 9.605960e-13
 #[8] 9.702990e-15 9.801000e-17 9.900000e-19 1.000000e-20

同样,我们可以使用dbinom fn来查看出现0次的概率(结果一致):

dbinom(0, 10, .01)
[1] 0.9043821

但是,当我尝试使用二项式函数与使用您提供的公式的结果进行比较时,我遇到了困难:

> dbinom(1, 10, .01)
[1] 0.09135172
> (.99)^(9)*(.01)^(1)
[1] 0.009135172

那是因为二项式分布定义为:

p(x) = choose(n, x) p^x (1-p)^(n-x) 

因此,在10个试验中恰好发生一次的概率是:

 choose(10, 1) *.99^(9) *(0.01)^(1)
[1] 0.09135172

由于这是家庭作业,因此我仍将其留给您完成任务。