java - 泊松分布的最大似然估计?

标签 java algorithm math statistics multiplatform

我有一个包含观测值 (x, y) 的表格,需要估计与它们更接近的泊松分布的平均值。似乎 R 和 Octave 都可以在 Linux 上做到这一点,但我想知道是否有一种多平台的方法可以做到这一点。我可以将任何东西与程序捆绑在一起,但我不能要求安装任何东西来运行它。

我尝试寻找一种算法来自己完成此任务,但找不到,所以我不知道该怎么办。

郑重声明,我确实找到了一个简单的算法来实现这一点,该算法基本上是将所有值相加并除以示例数量,但即使是直接取自书中的简单示例,它也会失败。

示例:

requisitions per day : absolute frequency (days) : relative frequency
 8 :  2 : 0.016
 9 :  4 : 0.033
10 :  6 : 0.050
11 :  8 : 0.066
12 : 10 : 0.083
13 : 12 : 0.100
14 : 13 : 0.108
15 : 14 : 0.116
16 : 12 : 0.100
17 : 10 : 0.083
18 :  9 : 0.075
19 :  7 : 0.058
20 :  5 : 0.041
21 :  3 : 0.025
22 :  2 : 0.016
23 :  2 : 0.016
24 :  1 : 0.008

泊松分布的平均值应该是 15(根据我获得示例的书)。我在上面所说的方法(在其中一个答案中)给出了 16。使用欧氏距离平方和,我还发现平均值为 15 的泊松比平均值为 16 的泊松更接近数据。

最佳答案

均值的 MLE 只是样本均值。请参阅维基百科:

http://en.wikipedia.org/wiki/Poisson_distribution#Maximum_likelihood

只需对数据 vector 进行平均即可。

更新:我现在根据刚刚添加到问题中的示例数据扩展此答案。

我对示例数据的解释是:

reqs-per-day   frequency
 8             2
 9             4
10             6

表示有两天每天的请购数量为 8,有四天的请购数量为 9。因此,我假设数据相当于:

8,8,9,9,9,9,10,10,10,10,10,10,...

此列表中的每个条目对应于一天。该列表的顺序并不重要。我认为你应该平均这个列表。

您的频率字段总数为 120。我认为这意味着实验总共有 120 天。

关于java - 泊松分布的最大似然估计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6025094/

相关文章:

string - LZ 77 压缩算法

java - 在Blackberry4.6操作系统版本上加载html

java - java.util.Collections.reverse() 如何工作?

Java POS健康检查返回 "java.lang.UnsatisfiedLinkError"

java - 如何从 native 代码/在 dll 中嵌入 jar 调用 java 方法

algorithm - 有向图的双向最小生成树

algorithm - 在加权二叉树中找到最重的长度约束路径

algorithm - 排列组合的唯一性

javascript - 在 JavaScript 中查找多边形的中心点

math - 获取贝塞尔曲线的边界