Які якісь цінні проекти з відкритим кодом статистичного аналізу доступні зараз?
Редагувати: як зазначає Шарпі, цінні можуть означати допомогу вам робити швидше чи дешевше.
Які якісь цінні проекти з відкритим кодом статистичного аналізу доступні зараз?
Редагувати: як зазначає Шарпі, цінні можуть означати допомогу вам робити швидше чи дешевше.
Відповіді:
R-проект
R є цінним та значущим, оскільки він був першою широко прийнятою альтернативою Open-Source для пакетів big-box. Це зрілий, добре підтримуваний та стандарт у багатьох наукових спільнотах.
Це може призвести до забуття, але я щасливо багато років використовував клон Матлаба Октава . У октавній кузні є досить хороші бібліотеки для генерації випадкових змінних з різних розподілів, статистичних тестів тощо. Хоча, очевидно, це є карликом R. Однією з можливих переваг перед R є те, що Matlab / октава є мовою франка серед чисельних аналітиків, дослідників оптимізації. , і деякий підмножина прикладних математиків (принаймні, коли я навчався в школі), тоді як ніхто в моєму відділі, як мені відомо, не використовував Р. мою втрату. вчіться як можна, якщо можливо!
На думку спадають два проекти:
ggobi "- програма візуалізації з відкритим кодом для вивчення високомірних даних".
Мат Келсі має хороший 5-хвилинний вступ до ггобі .
Incanter - платформа на основі Clojure, R-подібна платформа (середовище + бібліотеки) для статистичних обчислень та графіки.
Є також такі проекти, ініційовані ФФС або перерозподілені за загальною публічною ліцензією GNU, такі як:
Є навіть додатки, які були випущені просто як супутнє програмне забезпечення для підручника, як-от JMulTi , але все ще користуються мало хто.
Я все ще час від часу граю з xlispstat , хоча Lisp значною мірою витіснив R (див. Огляд Яна де Ліува щодо 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 (найвідоміший пакет з відкритим кодом для textmining, крім datamining), statPy , bolits та 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
На закінчення ще якимись пакунками, які я використав, мені здалося цікавим
Помаранчевий : візуалізація та аналіз даних для початківців та експертів. Обмін даними за допомогою візуального програмування або сценаріїв Python. Компоненти машинного навчання. Розширення для біоінформатики та видобутку тексту. (Я особисто рекомендую це, я багато використовував його, інтегруючи його в python, і це було чудово) Я можу надіслати вам якийсь код python, якщо ви цього хочете.
ROSETTA : інструментарій для аналізу табличних даних у рамках теорії грубого набору. ROSETTA призначений для підтримки загального процесу вилучення даних та знань знань: від початкового перегляду та попередньої обробки даних, через обчислення мінімальних наборів атрибутів та генерації правил тоді чи описових моделей, до перевірки та аналізу індукованих правил або шаблонів. . (Це мені теж сподобалось користуватися)
KEEL : оцінити еволюційні алгоритми для проблем обміну даними, включаючи регресію, класифікацію, кластеризацію, видобуток шаблонів тощо. Це дозволяє нам провести повний аналіз будь-якої моделі навчання порівняно з існуючою, включаючи модуль статистичного тестування для порівняння.
DataPlot : для наукової візуалізації, статистичного аналізу та нелінійного моделювання. Цільовим користувачем Dataplot є дослідник та аналітик, що займається характеристикою, моделюванням, візуалізацією, аналізом, моніторингом та оптимізацією наукових та інженерних процесів.
Відкриття : включає статистичний та вимірювальний праймер, описову статистику, прості порівняння, аналізи варіацій, кореляцію, множинні регресії, перервані часові ряди, багатоваріантну статистику, непараметричну статистику, вимірювання, статистичний контроль процесів, фінансові процедури, нейронні мережі, моделювання
Колін Гілзпі згадував про помилки, але кращим варіантом для відбору проб Гіббса тощо є JAGS .
Якщо все, що ви хочете зробити, це ARIMA, ви не можете перемогти X12-ARIMA , що є золотим стандартом у польових та відкритих джерелах. Він не робить реальних графіків (для цього я використовую R), але діагностика - це урок самостійно.
Відважуючись трохи далі на те, що я нещодавно виявив і щойно почав вчитися ...
ADMB (AD Model Builder), який робить нелінійне моделювання на базі бібліотеки AUTODIF, з MCMC та кількома іншими функціями, що передаються. Він попередньо обробляє та компілює модель до виконуваного файлу C ++ і компілює її як окремий додаток, який є мабуть бути швидше, ніж еквівалентні моделі, реалізовані в R, MATLAB тощо. Проект ADMB
Він розпочався і досі є найбільш популярним у світі рибного господарства, але виглядає досить цікавим для інших цілей. Він не має графічних чи інших особливостей R, і, швидше за все, використовувався б спільно з R.
Якщо ви хочете працювати з Bayesian Networks в графічному інтерфейсі: SamIam - це приємний інструмент. R має пару пакунків, які теж роблять це, але SamIam дуже приємно.
GSL для тих, хто хоче програмувати на C / C ++, є цінним ресурсом, оскільки він пропонує декілька процедур для випадкових генераторів, лінійної алгебри тощо. Хоча GSL в основному доступний для Linux, є також порти для Windows. (Див.: Http://gladman.plushost.co.uk/oldsite/computing/gnu_scientist_library.php та http://david.geldreich.free.fr/dev.html )
Мені дуже подобається працювати з RooFit для легкої підгонки розподілу сигналів та фону та TMVA для швидкого аналізу основних компонентів та моделювання багатоваріантних проблем з деякими стандартними інструментами (наприклад, генетичними алгоритмами та нейронними мережами, також BDT). Вони обидва є частиною бібліотек ROOT C ++, які мають досить сильний ухил до проблем фізики частинок.
Я другий, що Джей. Чому R цінний? Ось короткий перелік причин. http://www.inside-r.org/why-use-r . Також перегляньте ggplot2 - дуже приємний графічний пакет для Р. Деякі приємні підручники тут .
Це падає на зовнішні межі «статистичного аналізу», але Eureqa - це дуже зручна програма для обміну даними нелінійних зв’язків даних за допомогою генетичного програмування. Eureqa не така загальна мета, але вона робить те, що робить досить добре, а GUI досить інтуїтивно зрозумілий. Він також може скористатися доступною обчислювальною потужністю через сервер eureqa.
Meta.Numerics - це бібліотека .NET з хорошою підтримкою статистичного аналізу.
На відміну від R (клон S) і Octave (клон Матлаба), він не має "переднього кінця". Він більше схожий на GSL, тому що це бібліотека, до якої ви посилаєтесь, коли пишете власну заяву, для якої потрібно зробити статистичний аналіз. C # і Visual Basic є більш поширеними мовами програмування, ніж C / C ++ для додатків для бізнесу, а Meta.Numerics має більш широку підтримку статистичних конструкцій і тестів, ніж GSL.
Програмне забезпечення символічної математики також може бути хорошою підтримкою для статистики. Ось кілька GPL, якими я час від часу користуюся:
Усі троє перебувають в активному розвитку.