Java: Как программно определить, что набор данных не соответствует нормальному распределению? - PullRequest
3 голосов
/ 03 марта 2010

В программе на Java, как определить, соответствует ли мой набор данных нормальному распределению или нет?

Возможно ли это?

Есть ли API или алгоритм, который я могу использовать, который определяет это?

Ответы [ 4 ]

5 голосов
/ 03 марта 2010

Здесь есть два вопроса: как определить, является ли распределение нормальным и как сделать это в Java . Как показывает первая ссылка, существуют различные степени того, насколько вы уверены в том, что просматриваете обычные данные от формальных до неформальных. Вторая ссылка показывает, что нет стандартных пакетов Java для статистического анализа, но есть много других способов их реализации.

4 голосов
/ 04 марта 2010

Это довольно сложный статистический вопрос, и, если вы не разбираетесь в статистике, он кажется обманчиво простым. Ваша цель, очевидно, состоит в том, чтобы определить, могли ли данные правдоподобно поступить из любого нормального распределения, а не с заранее заданным средним и дисперсией. Вероятно, лучший способ сделать это с помощью теста Д'Агостино , который основан на измерении асимметрии и эксцесса распределения и сравнении их с ожидаемыми в норме.

Что касается реализаций Java, я не знаю ни одной, хотя я не использую Java на регулярной основе. Я был бы немного удивлен, если бы он был, поскольку это относительно неясная статистическая функция, а Java не является наиболее распространенным языком для статистики. Тем не менее, моя реализация на языке D (поиск в этом файле для dAgostinoK ()), вероятно, может быть тривиально переведен на Java, если у вас уже есть функции для вычисления асимметрии, эксцессов и CDF распределения хи-квадрат. 1013 *

3 голосов
/ 03 марта 2010

Я не уверен, что для этого есть API, но вы можете использовать тест хи-квадрат http://en.wikipedia.org/wiki/Pearson%27s_chi-square_test. Если ваш набор данных достаточно большой, вы можете проверить его на соответствие нормальному распределению. .

0 голосов
/ 04 марта 2010

Самый простой способ: «Если у меня n> 30 точек данных, то он аппроксимирует нормальное распределение по центральной предельной теореме». ;)

Как уже упоминали другие, определить, пришли ли точки данных из нормального распределения, значительно сложнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...