问题标签 [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 投票
9 回答
3485 浏览

algorithm - 当某些卡无法使用时,从一副牌中随机选择一张卡的最有效方法是什么?

我有一个数组,它告诉卡是否正在使用中:

如果我有很多用过的卡片,这是一种随机选择卡片的糟糕方法:

因为如果我只有 3 到 4 张未使用的卡片,我会花很长时间才能找到它们。

我想出了这个:

我想如果甲板满了效果会更好,但是当甲板空着时效果会更糟,因为我必须经过两个 for 循环。

最有效的方法是什么?

0 投票
2 回答
561 浏览

mysql - MySQL 中的倒置 beta

我需要在 MySQL 中实现一个倒置 beta 函数(类似于Excel 的 BETAINV)。

Wolfram MathWorld 的Beta Distribution页面上提供了一些相关材料。

关于在 MySQL 中从哪里开始实现此功能的任何线索?

0 投票
1 回答
5779 浏览

python - 如何使用 SciPy 运行统计累积分布函数和概率密度函数?

我是 Python 新手,也是 SciPy 库的新手。在深入 SciPy 世界之前,我想从列表中的专家那里得到一些问题。

我想知道是否有人可以提供有关如何运行两个统计函数的粗略指南:累积分布函数 (CDF) 和概率分布函数 (PDF)。

我的用例如下:我有一个有 1000 个浮点值的 sampleSpaceList []。当在我的程序中生成一个新的浮点值时,我想在 sampleList 上为其运行 CDF 和 PDF,并获得 CDF 的值小于或等于的概率和 PDF 的概率分布。

更多信息

基本上,在我的程序中有可能成功或失败的事件。如果他们成功了,那么我计算那个事件的事件比率并添加到我的 sampleSpaceList 直到它达到 1000 的阈值。一旦达到阈值,那么对于任何下一个事件比率;我想知道该事件比率在我的系统中是否成功的概率。

我基本上想得到的是特定事件比率的成功概率。

我不太确定 CDF 或 PDF 是否与我的问题相关,这就是为什么我想学习如何同时使用这两种方法,但在任何给定时刻,我只会使用 CDF 或 PDF 来获得事件的概率-成功率。

0 投票
1 回答
234 浏览

statistics - efficiently predicting the likelihood of a user clicking a hyperlink

Possible Duplicate:
Determining the probability of a user clicking a hyperlink

So I have a bunch of hyperlinks on a web page. From past observation I know the probabilities that a user will click on each of these hyperlinks. I can therefore calculate the mean and standard deviation of these probabilities.

I now add a new hyperlink to this page. After a short amount of testing I find that of the 20 users that see this hyperlink, 5 click on it.

Taking into account the known mean and standard deviation of the click-through probabilities on other hyperlinks (this forms a "prior expectation"), how can I efficiently estimate the probability of a user clicking on the new hyperlink?

A naive solution would be to ignore the other probabilities, in which case my estimate is just 5/20 or 0.25 - however this means we are throwing away relevant information, namely our prior expectation of what the click-through probability is.

So I'm looking for a function that looks something like this:

I'd ask that, since I'm more familiar with code than mathematical notation, that any answers use code or pseudocode in preference to math.

0 投票
3 回答
2175 浏览

math - 帮助概率方程

我正在尝试组合一个有趣的应用程序,该应用程序有一个场景,我需要找出以下场景的概率方程:

假设我对某事进行了多次尝试,并且每次尝试都有成功率(提前知道)。在做了所有这些尝试之后,成功发生的几率是多少?

例如,有 3 次尝试(都将单独进行)。

第一个已知有 60% 的成功率。第二个已知有 30% 的成功率。第三个已知有75%的成功率。如果所有三个尝试都进行,成功的几率是多少?

我已经尝试了几个公式,但无法确定正确的一个。

谢谢您的帮助!

0 投票
5 回答
45242 浏览

java - 生成泊松和二项式随机数的算法?

我一直在环顾四周,但我不知道该怎么做。

我发现这个页面在最后一段中说:

一个简单的从泊松分布中提取的随机数生成器是使用这个简单的方法获得的:如果 x 1 , x 2 , ... 是一个在 0 和 1 之间均匀分布的随机数序列,k 是第一个整数乘积 x 1 · x 2 · ... · x k+1 < e

我发现另一个页面描述了如何生成二项式数字,但我认为它使用的是泊松生成的近似值,这对我没有帮助。

例如,考虑二项式随机数。二项式随机数是在 N 次投掷硬币中正面的数量,其中任何一次抛硬币的正面概率为 p。如果在区间 (0,1) 上生成 N 个均匀随机数,并计算小于 p 的数字,则计数是具有参数 N 和 p 的二项式随机数。

我知道有库可以做到这一点,但我不能使用它们,只有语言提供的标准统一生成器(在这种情况下是 java)。

0 投票
15 回答
12977 浏览

python - 这对蒙蒂霍尔来说是好还是坏的“模拟”?怎么来的?

通过昨天在课堂上尝试向朋友解释蒙蒂霍尔问题,我们最终用 Python 编写代码来证明如果你总是交换,你会赢 2/3 次。我们想出了这个:

我的朋友认为这是一个很好的方法(并且是一个很好的模拟),但我有我的怀疑和担忧。它真的足够随机吗?

我遇到的问题是所有选择都是硬编码的。

这是对蒙蒂霍尔问题的好还是坏的“模拟”?怎么来的?

你能想出一个更好的版本吗?

0 投票
1 回答
912 浏览

math - 计算联合分布的一部分的概率

考虑到我有两个独立的正态随机变量的连续联合分布(假设独立变量在 X 和 Z 轴上,而依赖变量 - 联合概率 - 在 Y 轴上),并且我在任意位置都有一条线XZ 平面,我将如何计算一个点落在该线的一侧或另一侧的概率?

0 投票
3 回答
848 浏览

probability - 使用一个概率集生成另一个

如何从较小的概率集中生成较大的概率集?
这是来自算法设计手册 -Steven Skiena
Q:

使用随机数生成器 (rng04) 从 {0,1,2,3,4} 以相等的概率生成数字来编写随机数生成器以相等的概率生成从 0 到 7 (rng07) 的数字?

我现在尝试了大约 3 个小时,主要是基于对两个rng04输出求和。问题在于,在这种情况下,每个值的概率是不同的 - 4 的概率为 5/24,而 0 的概率为 1/24。我尝试了一些方法来掩盖它,但不能。

有人可以解决这个问题吗?

0 投票
8 回答
1874 浏览

math - 从有限集中进行朴素随机选择的 O 值是多少?

这个关于从有限集中获取随机值的问题让我思考......

人们想要从一组 Y 值中检索 X 个唯一值是很常见的。例如,我可能想从一副牌中发一手牌。我想要 5 张卡片,我希望它们都是独一无二的。

现在,我可以天真地做到这一点,随机选择一张卡片 5 次,每次我得到重复的卡片时再试一次,直到我得到 5 张卡片。但是,对于来自大型集合的大量值,这并不是很好。例如,如果我想从一组 1,000,000 中获得 999,999 个值,那么这种方法会变得非常糟糕。

问题是:有多糟糕?我正在找人来解释 O() 值。获得第 x 个数字将需要 y 次尝试......但是有多少?我知道如何计算出任何给定值,但是有没有一种直接的方法可以将其推广到整个系列并获得 O() 值?

(问题不是:“我怎样才能改进它?”因为它相对容易修复,而且我确信它已经在其他地方多次介绍过。)