2

我有一个带有观察值 (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 的泊松更接近数据。

4

1 回答 1

4

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

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

只需平均您的数据向量。

更新:我现在正在扩展这个答案,基于刚刚添加到问题中的示例数据。

我对样本数据的解释是

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 天。

于 2011-05-17T00:52:30.013 回答