在Java程序中,如何确定我所拥有的数据集是否遵循正态分布?
有可能吗?
我可以使用API或算法来确定这个吗?
答案 0 :(得分:5)
此处有两个问题:如何确定distribution is normal以及如何do so in Java。正如第一个链接将向您展示的那样,您正在寻找从正式到非正式的正常数据的不同程度。第二个链接显示没有用于统计分析的标准Java包,但有许多其他方法可以实现它们。
答案 1 :(得分:4)
这是一个有点困难的统计问题,如果你不是统计专家,那看起来似乎很简单。您的目标显然是确定数据是否可能来自任何正态分布,而不是具有预先指定的均值和方差的数据。可能最好的方法是使用D'Agostino test,它基于测量分布的skewness和kurtosis,并将这些与正常情况下的预期进行比较。
就Java实现而言,我没有意识到,尽管我不经常使用Java。如果有的话,我会感到有些惊讶,因为它是一个相对模糊的统计函数,而Java并不是用于统计的最常用语言。但是,my D language implementation(在此文件中搜索dAgostinoK())可能很容易被翻译成Java,如果你已经有计算偏度,峰度和卡方分布的CDF的函数。
答案 2 :(得分:3)
我不确定是否有可用的API,但您可以使用的是卡方检验http://en.wikipedia.org/wiki/Pearson%27s_chi-square_test。假设您的数据集足够大,您可以测试适合正态分布。
答案 3 :(得分:0)
最简单的方法是“如果我有n个> 30个数据点,那么它通过中心极限定理近似于正态分布。” ;)
正如其他人所提到的,确定数据点是否来自正态分布要困难得多。