如何在java中确定最合适的分布?

Ead*_*cer 7 java math statistics

我有一堆数据集(50到500个点之间,每个点都可以取正值)并需要确定哪个分布最能描述它们.我已经手动完成了其中几个,但需要自动化这个.

有些集合是完全模态的(每个数据的值为15),有些是强模态或双模态,有些是钟形曲线(通常是倾斜的,具有不同程度的kertosis/pointiness),有些是大致平坦的,有些任何数量的其他可能的分布(possion,幂律等).我需要一种方法来确定哪种分布最能描述数据,并且(理想情况下)还为我提供了适应度量,以便我知道我对分析的信心.

现有的开源库是理想的,其次是我自己可以实现的文档化的算法.

Ale*_*man 5

在没有先验知识的情况下,寻找适合的分布不太可能给您带来好的结果.您可能会发现一个巧合的分布,但不太可能是基础分布.

您是否有任何可用的元数据暗示数据的含义?例如,"这是从自然群体中采样的开放式数据,因此它是某种正态分布",而"这个数据固有地限制在0和离散,因此检查最合适的泊松".

我不知道Java的任何分发求解器,我不知道有什么会猜测使用哪个发行版.您可以检查一些统计属性(偏斜/等)并在此进行一些猜测 - 但您更有可能最终得到一个不能充分代表基础分布的意外良好拟合.真实的数据是嘈杂的,如果你甚至不知道它是什么分布,那就有太多的自由度.


tuc*_*uxi 5

这可能超出您想要做的范围,但它似乎是最完整的方法(并且它允许访问R内可用的大量统计知识):

  1. 使用JRI与R统计语言进行通信
  2. 在内部使用R,如此线程所示