【问题标题】:Calculate new probability based on past probability per value根据每个值的过去概率计算新概率
【发布时间】:2012-11-20 08:18:39
【问题描述】:

我想根据过去发生的事件列表计算百分比概率。
数据看起来类似于这个简化的表格,例如当第一个值在过去是 8 时,事件发生的可能性为 72%。

1   76%
2   64%
4   80%
6   85%
7   83%
8   72%
11  70%

完整表的范围从 0 到 1030,有 377 行,但每天都在变化。我想向函数传递一个值,例如 3,并返回事件发生的百分比概率。我不需要确切的代码,但希望能指出正确的方向。 谢谢

【问题讨论】:

  • 谢谢菲尔,看起来好多了。
  • 你有多确定这两者是相关的?由于 2 处的值仅比 11 处的值低 6%,但与 1 和 4 处的值相差 12% 和 16%,你能推断出关于 3 的什么?它应该在 2 和 4 的值之间吗?
  • 这些值是相关的,但有些模糊,第 1 列中的一些值比其他值更频繁地出现或根本不出现。所以不,它并不像介于较低值和较高值之间那样简单。在实际表中,随着第 1 列中数字的增加,概率趋于下降。有没有办法可以将实际数据发送给您?
  • 也许将其上传到 Google Docs,并提供一个共享链接,假设它在电子表格中。否则,Dropbox?

标签: probability


【解决方案1】:

根据您在问题的 cmets 中的回答,我建议进行插值——线性插值是最简单的答案。根据电子表格中的系列,概率模型似乎不合适(第 1 列和第 3 列之间似乎没有明确的关系)。

举个例子来说明它是如何工作的:假设你想要某个点 p 的概率,这在数据中是未观察到的。您观察到的小于 p 的最大值是p_low(对应概率为f(p_low)),大于p 的最小值是p_high(概率为f(p_high))。您对 p 的估计是:

interval = p_high - p_low
f_p_hat = ((p-p_low)/interval*f_p_low) + ((p_high-p)/interval*f_p_high)

这将使您对 p 的估计值成为 p_low 和 p_high 的加权平均值,权重由 p 和 p_low 以及 p 和 p_high 之间的距离给出。例如。如果 p 在 p_low 和 p_high 之间等距,则 f_p_hat(您对 f(p) 的估计)只是 p_low 和 p_high 的平均值。

现在,如果您有理由怀疑端点处的估计值不准确(可能是由于样本量小),线性插值可能不起作用。如果是这样,就有可能对 p 周围的点的邻域进行(可能加权的)最小二乘拟合,并将其用作预测。如果是这种情况,我可以更详细一点。

【讨论】:

  • 谢谢本。我会试一试,看看它在几周内的表现如何。您包含更多周围数据点的第二个选项可能更有效,我也会对此进行试验。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多