Statistics 如何根据少量证据有效地估计概率?

Statistics 如何根据少量证据有效地估计概率?,statistics,machine-learning,probability,Statistics,Machine Learning,Probability,几个月来,我一直在试图找到这个问题的答案(用于机器学习应用程序),这似乎不是一个非常难的问题,但我是一名软件工程师,数学从来不是我的强项之一 以下是场景: 我有一枚(可能)重量不均的硬币,我想计算它出现的概率。我知道这枚硬币来自同一个盒子,其平均概率为p,我也知道这些概率的标准偏差(称之为s) (如果除了平均值和STDEV之外,其他硬币概率的其他汇总属性也有用的话,我可能也能得到它们。) 我掷硬币n次,硬币正面朝上 天真的方法是概率仅为h/n——但如果n很小,则不太可能准确 是否有一种计算效率高

几个月来,我一直在试图找到这个问题的答案(用于机器学习应用程序),这似乎不是一个非常难的问题,但我是一名软件工程师,数学从来不是我的强项之一

以下是场景:

我有一枚(可能)重量不均的硬币,我想计算它出现的概率。我知道这枚硬币来自同一个盒子,其平均概率为p,我也知道这些概率的标准偏差(称之为s

(如果除了平均值和STDEV之外,其他硬币概率的其他汇总属性也有用的话,我可能也能得到它们。)

我掷硬币n次,硬币正面朝上

天真的方法是概率仅为h/n——但如果n很小,则不太可能准确

是否有一种计算效率高的方法(即不涉及非常大或非常小的数字)来考虑ps以得出更准确的概率估计,即使n很小

如果任何答案都能使用伪代码而不是数学符号,我将不胜感激,因为我发现大多数数学符号都是难以理解的;-)


其他答案:
还有一些其他类似的答案,但提供的答案并不令人满意。例如,计算效率不高,因为它所涉及的数字很快就比双精度浮点所能表示的数字小得多。有一个结果是不正确的。

在这个问题上,你几乎没有足够的信息

盒子里有多少硬币?如果是两个,那么在某些情况下(例如一个硬币总是正面的,另一个总是反面的),知道p和s是有用的。如果超过几个,特别是如果只有一些硬币只是轻微的重量,那么它是没有用的

什么是小n?2.5.10? 100? 加权硬币正面/反面出现的概率是多少?100/0, 60/40, 50.00001/49.99999? 权重是如何分配的?每一枚硬币都有两种可能的重量吗?它们是否遵循钟形曲线?等等

归结起来就是这样的:一枚加权/未加权硬币之间的差异、加权硬币的分布以及盒子中硬币的数量都将决定你必须用什么n来高置信度地解决这个问题

你要做的事情的名称是一个。知道名称应该有助于找到更好的资源


对评论的答复:

如果你在p上有这么小的差异,你将不得不做很多的试验,没有办法回避它

假设偏差分布均匀,p仍然是0.5,所有标准偏差都会告诉你至少有一些硬币有轻微的偏差


在这种情况下,掷硬币的次数同样取决于硬币的重量。即使是500次投掷,你也不会有很强的信心(大约2/3)检测到.51/.49分裂。

你可以使用
p
作为你估计概率的先验值。这与伪计数平滑基本相同。即使用

(h + c * p) / (n + c)

正如你估计的那样。当
h
n
较大时,它就变成了
h/n
。当
h
n
很小时,这就是
c*p/c=p
c
的选择取决于您。你可以把它建立在
s
的基础上,但最终你必须决定多小就是太小。

不幸的是,如果你不懂一些基本的数学,你就不能进行机器学习——这就像在编程方面向别人寻求帮助,但却不想知道“变量”、“子程序”等等

更好的方法称为贝叶斯积分,但有一种更简单的近似方法称为“最大后验概率”(MAP)。这与通常的想法非常相似,只是你可以加入先验分布

花言巧语,但你可能会问,h/(h+t)公式是从哪里来的?当然,这是显而易见的,但事实证明,当你们并没有“先验知识”时,你们会得到答案。下面的方法是添加先验知识后的下一个复杂程度。下一步是进行贝叶斯集成,但这更难,而且可能没有必要

据我所知,问题有两个方面:首先,你从一袋硬币中抽出一枚硬币。这枚硬币有一个称为θ的“头部”,所以它给出了头部θ的部分翻转。但是这个硬币的θ来自主分布,我想我假设它是高斯分布,平均P和标准偏差S

接下来你要做的是写下看到整个shebang的总非标准化概率(称为可能性),所有数据:(h头,t尾)

L=(θ)^h*(1-θ)^t*高斯(θ;p,S)

高斯(θ;p,S)=exp(-(θ-p)^2/(2*S^2))/sqrt(2*Pi*S^2)

这就是“先从高斯曲线中画出1个θ值”,然后用该θ从硬币上画出h个正面和t个反面”的意思

映射原理说,如果你不知道θ,在已知数据的情况下,找出使L最大化的值。你可以用微积分来做。简单的诀窍是先取对数。定义LL=log(L)。只要L最大化,那么LL也会最大化

所以 LL=hlog(θ)+tlog(1θ)+-(θ-P)^2/(2*S^2))-1/2*log(2*pi*S^2)

通过微积分寻找极值,可以找到θ的值,使得dLL/dtheta=0。 因为日志的最后一个项没有θ,所以可以忽略它

dLL/dtheta=0=(h/θ)+(p-θ)/S^2-(t/(1-θ))=0

如果你能解出θ的方程