Какие ценные проекты с открытым исходным кодом Статистического анализа доступны прямо сейчас?
Изменить: как указал Шарпи, ценный может означать помочь вам сделать вещи быстрее или дешевле.
Какие ценные проекты с открытым исходным кодом Статистического анализа доступны прямо сейчас?
Изменить: как указал Шарпи, ценный может означать помочь вам сделать вещи быстрее или дешевле.
Ответы:
R-проект
R является ценным и значимым, потому что это была первая широко принятая альтернатива с открытым исходным кодом для пакетов Big Box. Он зрелый, хорошо поддерживается и является стандартом во многих научных сообществах.
Это может стать причиной забвения, но я счастливо использовал клон Matlab Octave в течение многих лет. В октавном кузнице есть довольно хорошие библиотеки для генерации случайных величин из разных распределений, статистических тестов и т. Д., Хотя очевидно, что они затмеваются R. Одним из возможных преимуществ по сравнению с R является то, что Matlab / octave является языком общения среди числовых аналитиков, специалистов по оптимизации. и некоторое подмножество прикладных математиков (по крайней мере, когда я учился в школе), в то время как никто в моем отделении, насколько мне известно, не использовал Р. мою потерю. выучи оба, если возможно!
На ум приходят два проекта:
Weka для интеллектуального анализа данных - содержит множество алгоритмов классификации и кластеризации в Java.
ggobi "- это программа визуализации с открытым исходным кодом для исследования многомерных данных."
Мат Келси имеет хорошее 5-минутное вступление к Ггоби .
Incanter является R-подобной платформой на основе Clojure (среда + библиотеки) для статистических вычислений и графики.
Существуют также проекты, инициированные FSF или распространяемые по лицензии GNU General Public License, например:
Есть даже приложения, которые были выпущены в качестве сопутствующего программного обеспечения для учебника, такого как JMulTi , но все еще используются немногими.
Время от времени я все еще играю с xlispstat , хотя R был заменен Lisp (см. Обзор Jan de Leeuw по Lisp vs. R в Журнале статистического программного обеспечения ). Интересно, что один из соучредителей языка R, Росс Ихака, наоборот, утверждал, что будущее статистического программного обеспечения ... Lisp: Назад в будущее: Lisp как основа для статистической вычислительной системы . @Alex уже указали на основанную на Clojure статистическую среду Incanter , так что, возможно, мы увидим возрождение программного обеспечения на основе Lisp в ближайшем будущем? :-)
RapidMiner для анализа данных и текста
Прежде всего, позвольте мне сказать вам, что, на мой взгляд, лучший инструмент из всех на сегодняшний день - это R, который имеет тонны библиотек и утилит, которые я не собираюсь перечислять здесь.
Позвольте мне расширить дискуссию о weka
Существует библиотека для R, которая называется RWeka, которую вы можете легко установить в R и использовать многие функции этой замечательной программы наряду с функциями в R, позвольте мне привести пример кода для выполнения простого дерева решений. читать из стандартной базы данных, которая поставляется с этим пакетом (также очень легко нарисовать получившееся дерево, но я собираюсь дать вам исследование о том, как это сделать, которое находится в документации RWeka:
library(RWeka)
iris <- read.arff(system.file("arff", "iris.arff", package = "RWeka"))
classifier <- IBk(class ~., data = iris)
summary(classifier)
Есть также несколько библиотек Python для этого (Python очень очень прост в освоении)
Прежде всего позвольте мне перечислить пакеты, которые вы можете использовать, я не буду подробно останавливаться на них; Weka (да, у вас есть библиотека для python), NLKT (самый известный пакет с открытым исходным кодом для обработки текста, кроме анализа данных), statPy , sickits и scipy.
Есть также оранжевый, который является отличным (я также буду говорить об этом позже), вот пример кода для создания дерева из данных в таблице cmpart1, который также выполняет 10-кратную проверку, вы также можете построить график дерева
import orange, orngMySQL, orngTree
data = orange.ExampleTable("c:\\python26\\orange\\cmpart1.tab")
domain=data.domain
n=10
buck=len(data)/n
l2=[]
for i in range(n):
tmp=[]
if i==n-1:
tmp=data[n*buck:]
else:
tmp=data[buck*i:buck*(i+1)]
l2.append(tmp)
train=[]
test=[]
di={'yy':0,'yn':0,'ny':0,'nn':0}
for i in range(n):
train=[]
test=[]
for j in range(n):
if j==i:
test=l2[i]
else:
train.extend(l2[j])
print "-----"
trai=orange.Example(domain, train)
tree = orngTree.TreeLearner(train)
for ins in test:
d1= ins.getclass()
d2=tree(ins)
print d1
print d2
ind=str(d1)+str(d2)
di[ind]=di[ind]+1
print di
Чтобы закончить с некоторыми другими пакетами, я использовал и нашел интересным
Orange : визуализация и анализ данных для новичков и экспертов. Интеллектуальный анализ данных с помощью визуального программирования или сценариев Python. Компоненты для машинного обучения. Расширения для биоинформатики и текстового майнинга. (Я лично рекомендую это, я много использовал его, интегрируя в Python, и это было превосходно) Я могу прислать вам немного кода Python, если вы хотите, чтобы я это сделал.
ROSETTA : инструментарий для анализа табличных данных в рамках теории грубых множеств. ROSETTA предназначена для поддержки общего процесса сбора данных и обнаружения знаний: от первоначального просмотра и предварительной обработки данных, вычисления минимальных наборов атрибутов и генерации правил if-then или описательных шаблонов до проверки и анализа индуцированных правил или шаблонов. (Этим я тоже очень любил пользоваться)
КИЛ : оценка эволюционных алгоритмов для задач Data Mining, включая регрессию, классификацию, кластеризацию, анализ структуры и так далее. Это позволяет нам выполнить полный анализ любой модели обучения в сравнении с существующими, включая модуль статистического тестирования для сравнения.
DataPlot : для научной визуализации, статистического анализа и нелинейного моделирования. Целевым пользователем Dataplot является исследователь и аналитик, занимающийся характеристикой, моделированием, визуализацией, анализом, мониторингом и оптимизацией научных и инженерных процессов.
Openstats : Включает учебник по статистике и измерениям, описательную статистику, простые сравнения, анализ отклонений, корреляцию, множественную регрессию, прерывистые временные ряды, многомерную статистику, непараметрическую статистику, измерения, статистический контроль процессов, финансовые процедуры, нейронные сети, моделирование
Колин Гиллеспи упомянул ОШИБКИ, но лучшим вариантом для отбора проб Гиббса и т. Д. Является JAGS .
Если все, что вы хотите сделать, это ARIMA, вы не можете победить X12-ARIMA , который является золотым стандартом в этой области и с открытым исходным кодом. Он не работает с реальными графиками (я использую R для этого), но диагностика сама по себе урок.
Углубившись немного дальше, к чему-то, что я недавно обнаружил и только начал изучать ...
ADMB (AD Model Builder), который выполняет нелинейное моделирование на основе библиотеки AUTODIF, с добавлением MCMC и нескольких других функций. Он предварительно обрабатывает и компилирует модель в исполняемый файл C ++ и компилирует ее как отдельное приложение, которое должен быть намного быстрее, чем эквивалентные модели, реализованные в R, MATLAB и т. д. ADMB Project
Это началось и все еще является самым популярным в мире рыболовства, но выглядит довольно интересно для других целей. Он не имеет графиков или других особенностей R и, скорее всего, будет использоваться вместе с R.
Если вы хотите работать с Bayesian Networks в графическом интерфейсе: SamIam - хороший инструмент. У R есть пара пакетов, которые тоже делают это, но SamIam очень хорош.
GSL для тех из вас, кто хочет программировать на C / C ++, является ценным ресурсом, поскольку предоставляет несколько подпрограмм для случайных генераторов, линейной алгебры и т. Д. Хотя GSL в основном доступен для Linux, существуют также порты для Windows. (См .: http://gladman.plushost.co.uk/oldsite/computing/gnu_scientific_library.php и http://david.geldreich.free.fr/dev.html ).
Мне действительно нравится работать с RooFit для удобного правильного подбора распределения сигналов и фона, а TMVA для быстрого анализа основных компонентов и моделирования многомерных задач с помощью некоторых стандартных инструментов (таких как генетические алгоритмы и нейронные сети, а также BDT). Они оба являются частью библиотек ROOT C ++, которые, тем не менее, довольно сильно склоняются к проблемам физики элементарных частиц.
Немного больше поверх уже упомянутого:
И с пространственной точки зрения:
Я второй, что Джей. Почему R ценен? Вот краткий список причин. http://www.inside-r.org/why-use-r . Также ознакомьтесь с ggplot2 - очень хорошим графическим пакетом для R. Несколько хороших уроков здесь .
Это выходит за пределы «статистического анализа», но Eureqa - очень удобная программа для интеллектуального анализа данных с помощью генетического программирования. Eureqa не так универсален, но он делает то, что делает довольно хорошо, а графический интерфейс довольно интуитивно понятен. Он также может воспользоваться доступной вычислительной мощностью через сервер eureqa.
Meta.Numerics - это библиотека .NET с хорошей поддержкой статистического анализа.
В отличие от R (клон S) и Octave (клон Matlab), у него нет «переднего конца». Это больше похоже на GSL в том смысле, что это библиотека, на которую вы ссылаетесь, когда пишете свое собственное приложение, и которое требует статистического анализа. C # и Visual Basic являются более распространенными языками программирования, чем C / C ++ для бизнес-приложений, а Meta.Numerics имеет более обширную поддержку статистических конструкций и тестов, чем GSL.
Символическая математическая программа также может быть хорошей поддержкой для статистики. Вот несколько GPL, которые я использую время от времени:
Все три находятся в активной разработке.