我有一堆数据(在50到500个点之间,每个点都可以取一个正整数值),需要确定哪个分布最能描述它们。我已经为他们中的几个手动完成了这一点,但需要在以后的工作中实现自动化。
一些集合是完全模态的(每个数据的值都是15),一些是强模态或双模态的,一些是钟形曲线(通常是倾斜的,具有不同程度的角化/尖端),一些是大致平坦的,还有任何数量的其他可能的分布(泊松,幂律等)。我需要一种方法来确定哪个分布最好地描述了数据,并且(理想情况下)还为我提供了一个适合度度量,以便我知道我在分析中有多有信心。
现有的开源库将是理想的,然后是记录良好的算法,我可以自己实现。
发布于 2010-06-03 05:34:22
在缺乏先验知识的情况下,寻找适合的分布不太可能给你带来好的结果。您可能会发现一个分布恰好是一个很好的拟合,但不太可能是底层分布。
您是否有任何可用的元数据来暗示数据的含义?例如,“这是从自然总体中抽样的开放式数据,所以它是某种正态分布”,而不是“这个数据本质上是有界的,而且是离散的,所以检查最佳拟合的泊松”。
我不知道有没有Java的发行版解算器,我也不知道有没有能猜到该用哪个发行版的。您可以检查一些统计属性(skew/等)。并在这里进行一些猜测--但您更有可能意外地得到一个很好的拟合,它不能充分表示底层分布。真实的数据是嘈杂的,如果你甚至不知道它是什么分布,那么就会有太多的自由度。
发布于 2010-06-03 06:59:04
发布于 2010-06-03 05:36:46
看看Apache commons-math。
https://stackoverflow.com/questions/2961632
复制相似问题