问题标签 [bernoulli-probability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
116 浏览

r - 伯努利试验的模拟测试,用于增加 R 中的样本量

在 R 软件中,我正在尝试为不同样本大小的伯努利试验生成模拟图,如下所示 模拟伯努利试验以增加样本量

我已经为给定的样本量生成了比例,并重复了这个过程 1000 次。但我不明白,如何将图形绘制为给定的图形。

0 投票
1 回答
222 浏览

r - 从具有概率 [r] 的向量生成伯努利变量

我在一个非常基本的问题上遇到了一些问题。我试图找到任何有相同问题但找不到的线程。

我试图弄清楚如何根据我为每个观察生成的概率(z )生成伯努利变量( y )。我生成了下面的虚构数据集来代表我的问题。

我想添加变量y,它是基于变量z的概率的二进制变量。

我尝试了以下方法:

但似乎它为所有观察赋予了相同的价值,而不是基于观察自身的概率。

有谁知道如何解决这个问题?

谢谢!

0 投票
1 回答
23 浏览

python - 在二进制 numpy 矩阵中关闭 x% 的 ACTIVE 位,而不是关闭所有位的 x%

我有一个二进制 numpy 矩阵,我想随机关闭 30% 的矩阵,其中关闭 30% 意味着用 0 替换 30% 的 1。一般来说,我想这样做很多次,所以如果我这样做 5 次,我希望最终矩阵有 100*(1-0.3)^5 = 16% 的原始矩阵,最初都是 1。

重要的是我想关闭 30% 的活动位(一),而不是关闭整个矩阵的 30%(一和零,关闭零只是零)。

我想出了一个方法来做到这一点,但它似乎没有实现上述目标,因为在关闭 30% 的 5 个会话之后,矩阵是 23% 1s 而不是 16% 1s。

为了通过示例进行说明,我的方法如下:

上面的代码给出了一个新矩阵,如果一个位为 0,则保持为 0,如果为 1,则在 30% 的时间内关闭。

在这个小例子中,一切似乎都很好,因为我已经删除了 30% 的那些(我有 10 个,现在我有 7 个)。但我认为我的方法不能很好地推广到大型矩阵。我相信这是由于以下原因:

尽管 Bernoulli 试验应该是相互独立的,但 numpy 可能会试图确保总体而言,所有试验中有 30% 是 Tails。但是在我的代码中,“所有试验”等于整个矩阵的大小,而不是矩阵中的数量,这就是导致问题的原因。

什么是清除 30% 的活动位而不是 30% 的所有位的一种干净的 Python 方式?

0 投票
1 回答
419 浏览

python - 一起绘制伯努利样本和伯努利 pmf 的密度直方图

问题摘要:

为什么我的样本密度与 pmf 如此不同,我如何执行此模拟以使 pmf 和样本估计值相似。

问题:

我模拟了一个独立的伯努利试验样本,使用scipy. 我现在正在尝试获取我创建的样本的密度直方图,并将其与 pmf(概率质量函数)进行比较。我希望密度直方图显示两个箱,每个箱都在 pmf 附近徘徊,但相反,我在 pmf 值 5 上方有 2 个箱。有人可以告诉我如何创建不为伯努利执行此操作的密度直方图吗?我用其他一些发行版尝试了类似的模拟,它似乎工作正常。我在这里缺少什么,你能告诉我如何操纵我的代码来完成这项工作吗?

在此处输入图像描述

如果这是一个简单或微不足道的问题,我必须道歉,但我在网上找不到解决方案,发现这个问题很有趣。任何帮助将不胜感激。

0 投票
2 回答
218 浏览

r - 使用 R 从 bernoulli(p) 生成样本

使用 R,从 Bernoulli(p) 生成数据,用于各种样本大小(n = 10、15、20、25、30、50、100、150、200),对于 p = 0.01、0.4、0.8

我知道如何使用 rbinom 函数来处理一种情况。就像第一个场景一样:rbinom(n=10, size=1, p=0.01)。

我的目标是构建一个可以计算所有这些场景的函数,从而阻止我单独完成所有这些场景。

0 投票
1 回答
30 浏览

python - 如何在 Pandas DataFrame 中构建嵌套条件逻辑?

我有一个数据框,其中每一行都包含一个字符串列表。我编写了一个函数,对每个字符串执行伯努利类型的试验,如果试验成功,每个单词都有一定的概率(这里为 0.5)被删除。见下文:

当我传递数据帧的每一行时,这按预期工作,根据:

但是,我现在要做的不是在每个子列表和每个字符串中统一应用函数,而是对(a)给定子列表是否将传递给函数(是/否)和(b)应用条件将应用该子列表中的字符串(即通过指定我只想测试某些颜色)。

我认为我对(a)部分有一个可行的解决方案 - 通过将伯努利函数包装在一个检查是否满足给定条件的函数中(即子列表的长度是否大于 2 个对象?) - 这有效(见下文)但我不确定是否有更有效的(阅读更多pythonic)方法来做到这一点。

请注意,任何不满足条件的子列表应保持不变。

但是,我完全不知道如何对每个单词应用条件逻辑。例如,假设我只想将试验应用于预先指定的颜色列表 ['red','mauve','black'] - 前提是它通过了子列表条件检查 - 我该怎么做呢?

我希望实现的伪代码如下所示:

我知道对此的字面解释是行不通的,因为最初的 bernoulli_trial 函数接收一个列表而不是单个字符串。但希望它描述了我想要实现的目标。

0 投票
1 回答
1064 浏览

r - 置信区间的覆盖概率

根据伯努利(p),我想计算各种样本大小(n = 10、15、20、25、30、50、100、150、200)以及 p = 0.01 时的每个样本大小的覆盖概率, 0.4 和 0.8。

这是我的尝试,但除了 p=0.01 外,其他地方都显示为 0

0 投票
2 回答
328 浏览

c++ - 尝试将伯努利分布设置为函数的输出时出现 C++ 问题

我需要我的程序来模拟能够改变 p 的伯努利 (p) 随机变量。如果我这样写

它工作得很好。但是我需要更改参数 p,所以我决定创建一个函数,它需要一些切换器,根据切换器模拟带有参数的随机变量,并返回 true 或 false。这是我的代码:

主体中的 for 循环计算 1000 次尝试中的成功次数,我希望它在 100 左右,但我确实得到了奇怪的结果。太多的零和大数字。

所以我的问题是为什么 coin(prob) 在传递到函数的输出时会中断?

另外,如果您有好主意,我将不胜感激有关如何使用不同参数 p 模拟伯努利 rv 序列的任何建议(例如,我们处于一个循环中,其中 p 取决于计数器 i)

感谢您的时间

0 投票
2 回答
67 浏览

r - 基于修正的伯努利分布生成整数序列

我想使用 R 随机生成一个整数序列,每个整数都是从整数池(0,1,2,3....,k)中挑选出来的,并进行替换。k 是预先确定的。(0,1,2,3....,k) 中每个整数 k 的选择概率是 p k (1-p),其中 p 是预先确定的。也就是说,与 k 相比,选择 1 的概率要高得多,并且我的最终整数序列的 1 可能比 k 多。我不确定如何在 R 中实现这个数字选择过程。

0 投票
1 回答
109 浏览

python - 有没有一种有效的方法可以在 numpy 数组中创建 N 次伯努利试验的二项式实验?

假设我有一枚硬币以概率 P 正面朝上。要进行的实验是继续掷硬币 x 次。这个实验要重复 1000 次。

问题是否有一种有效/矢量化的方法来生成随机 1(概率为 P)和 0(概率为 1-P)的数组?

如果我尝试这样的事情:

整个数组填充了相同的选择。我见过涉及固定比例的零与一的解决方案。

但是,我不确定如何使用此设置保持实验的随机性。

目前我只是按如下方式循环遍历每个迭代,但是一旦实验数量变大,它就会非常慢。

(实际实验涉及在两个连续的头被翻转时终止每个试验,这就是为什么代码中有一个while循环。为了使问题具体,我不想在这里解决这个问题。)

任何见解将不胜感激,谢谢!