Библиотека Java с открытым исходным кодом для статистики на уровне, предлагаемом курсом статистики выпускников

15

Я прохожу аспирантуру по прикладной статистике, в которой используется следующий учебник (чтобы дать вам представление об уровне освещаемого материала): Статистические концепции и методы , автор Г.К. Бхаттачарья и Р.А. Джонсон.

Профессор требует от нас использовать SAS для домашних заданий.

Мой вопрос заключается в следующем: есть ли библиотека (-ы) Java, которую можно использовать вместо SAS для задач, обычно встречающихся в таких классах.

В настоящее время я пытаюсь обойтись с Apache Math Commons, и хотя я впечатлен библиотекой (это простота использования и понятность), ей, кажется, не хватает даже простых вещей, таких как способность рисовать гистограммы (думать о комбинировании ее с библиотекой графиков). ).

Я посмотрел на Кольта, но мой первоначальный интерес угас довольно быстро.

Был бы признателен за любой вклад - и я смотрел на аналогичные вопросы по Stackoverflow, но не нашел ничего убедительного.

ПРИМЕЧАНИЕ. Мне известны библиотеки R, SciPy и Octave, а также java-библиотеки, которые делают к ним вызовы - я ищу нативную библиотеку Java или набор библиотек, которые вместе могут предоставить нужные мне функции.

ПРИМЕЧАНИЕ. Темы, охватываемые таким классом, как правило, включают: тесты с одним и двумя выборками и доверительные интервалы для средних и средних значений, описательную статистику, тесты на соответствие требованиям, одно- и двусторонний анализ ANOVA, одновременный вывод, тестирование дисперсии, регрессионный анализ и анализ категориальных данных.

user1172468
источник
2
Вы рассматривали R ?
RioRaider
Привет, спасибо за примечание, я ищу библиотеку, которая почти полностью на Java. Так что я знаю о библиотеках R, SciPy и Octave и java, которые им звонят - я отредактирую вопрос, чтобы отразить это. Благодарю.
user1172468
Вы упомянули, что «я знаю о библиотеках R, SciPy и Octave, а также java, которые звонят им». Можете ли вы сказать мне, что как вы будете называть код, написанный в "R статистика программного обеспечения" с использованием Java?
Аман Чавла
5
Почему вы хотите использовать библиотеку Java для базовых статистических тестов?
Подрыватель
3
@Underminer задает правильный вопрос здесь. Делать статистику в Java - все равно что использовать молоток для винтов. При достаточной решимости и грубой силе вы наверняка сможете закрепить винт, но не очень элегантно и эффективно. Скорее всего, у вас будет поврежденный винт и болезненные пальцы.
Марк Клазен

Ответы:

10

Когда я вынужден использовать Java для базовой статистики, Apache Commons Math - путь. Для графиков я использую и рекомендую JFreeChart . Последний широко распространен, поэтому в stackoverflow даже есть заполненный тег для него .

редактировать

Если вы ищете набор, то, возможно, Deducer вариант. GUI основан на JGR, в то время как статистические части называются в R. Кажется, что он расширяется как через R, так и через Java . Можно, например, пропустить вызовы в Rengine, но вместо этого вызывать ссылочные библиотеки java. Но, признаюсь, я еще не пробовал.

Насколько я понял OP, оптимальным будет что-то вроде Rapidminer for Statistics , поскольку Rapidminer - это чистый Java-фреймворк, который поддерживает доступ к GUI (включая визуализации), использование в качестве библиотеки и разработку пользовательских плагинов. Насколько мне известно, что-то подобное для статистики не существует. Я не рекомендую Rapidminer для этой конкретной задачи , потому что, насколько мне известно, он включает только самые основные статистические тесты. Визуализации были расширены в последнее время, но я не могу оценить, насколько они настраиваемы сейчас.

оборота Штеффен
источник
Привет, это то, что я пытаюсь сделать, хотелось бы, чтобы был более полный набор.
user1172468
@ user1172468 Я обновил свой ответ
steffen
4

Проверьте Суан Шу: NumericMethod.com . Это не бесплатно в целом, но это бесплатно для академического использования.

user765195
источник
Это не совсем ответ на вопрос ОП. Это больше комментарий. Не могли бы вы расширить его, чтобы сделать его более ответным? Кроме того, мы можем преобразовать его в комментарий для вас.
gung - Восстановить Монику
Возможно, вы могли бы объяснить, почему это не ответ. Он ищет библиотеку Java, и я указал ему на библиотеку, которая обладает большинством функций, которые он ищет.
user765195
Вы правы, эта ситуация немного более неоднозначна, чем стандартная ситуация. Тем не менее, это по сути только ссылка. SE считает их комментариями, а не ответами. У вас достаточно репутации, чтобы предоставить это в качестве комментария. Поскольку просто ссылка является своего рода ответом здесь, и поскольку у нее было возражение, я не пометил ее для преобразования в комментарий, но было бы неплохо, если бы вы могли добавить к ней немного. Если вы не можете, и не хотите оставлять комментарий, я уважаю ваше решение, поэтому я просто оставил вам записку.
gung - Восстановить Монику
Это не кажется бесплатным для академического использования.
Космос
К сожалению, больше не очевидно, но студенческая версия все еще кажется доступной за 100 $.
user765195
3

По аналогии с предложением Штеффена RapidMiner, вы можете рассмотреть Weka . Это может быть более конкретно ориентировано на машинное обучение, чем вы надеетесь. Он имеет множество алгоритмов для таких задач, как кластеризация, классификация и регрессия. Weka имеет графический интерфейс, но он также может быть использован в качестве библиотеки программного обеспечения. Я видел гистограммы в графическом интерфейсе, но я не уверен, легко ли их повторно использовать через библиотеку или нет.

Майкл МакГоуэн
источник
Привет, спасибо за ответ, я действительно думал о материале, охваченном в курсе Grad Statistics: темы включают тесты с одной и двумя выборками и доверительные интервалы для средних и средних значений, описательную статистику, тесты на соответствие пригодности, один и два - ANOVA, одновременный вывод, тестирование отклонений, регрессионный анализ и анализ категориальных данных.
user1172468 19.09.12
1

Попробуйте http://www.roguewave.com/Portals/0/products/imsl-numeric-libraries/java-library/docs/5.0.1/api/overview-summary.html

Он хорошо документирован и предоставляет множество полезных статистических и математических функций. Но, к сожалению, это не с открытым исходным кодом. Так что, если это не беспокоит вас, то библиотека должна быть в порядке.

Я не знаю, однако, если это обеспечивает графический вывод.

Оргес Лека
источник
1
Привет, спасибо за ссылку, вы знаете, как она сравнивается с Apache Commons Math.
user1172468
1

В вычислительной среде DataMelt есть много статистических библиотек Java практически для любой темы. Вы можете использовать его с помощью Jython, как это предлагается на веб-сайте, но я использую его с Java и Groovy.

Я могу сказать больше: проект DataMelt охватывает следующие статистические темы:

  • Случайные числа
  • Самые популярные дискретные и продолжает распространяться
  • Описательный статистический анализ
  • Подгонка данных (линейная и нелинейная)
  • Различные статистические тесты
  • Гистограммы в 2D и 3D

Вот пример нелинейной регрессии, использующий метод логарифмического правдоподобия для подбора данных с ошибками:

введите описание изображения здесь

Пакет бесплатный.

Реми
источник
3
Добро пожаловать на сайт, @Remi. Это не совсем ответ на вопрос ОП. Это больше комментарий. Пожалуйста, используйте только поле «Ваш ответ», чтобы предоставить ответы. Я признаю, что это расстраивает, но вы сможете комментировать в любом месте, когда ваша репутация> 50. Кроме того, вы можете попытаться расширить его, чтобы сделать его более ответным. Поскольку вы новичок здесь, вы можете прочитать нашу страницу тура , которая содержит информацию для новых пользователей.
gung - Восстановить Монику