Програмні засоби для статистики та обміну даними для роботи з великими наборами даних


27

В даний час мені доведеться проаналізувати приблизно 20 млн записів та побудувати моделі прогнозування. Поки я спробував Statistica, SPSS, RapidMiner та R. Серед цих даних Statistica, здається, є найбільш підходящим для роботи з обміном даними, і користувальницький інтерфейс RapidMiner також дуже зручний, але здається, що Statistica, RapidMiner і SPSS підходять саме для менших наборів даних .

Хтось може порекомендувати хороший інструмент для великих наборів даних?

Дякую!


6
Ви можете бути трохи більш конкретними? Що ви насправді хочете зробити моїми даними та як ви плануєте це зробити? Я використовував R для аналізу подібних розмірів записів, як і ваш, і це було зовсім не погано.
suncoolsu

Це питання датується швидко. Можливо, було б добре провести піврічну групу (вікі) для останнього в таких інструментах.
Ітератор

Відповіді:


19

Я другий коментар @suncoolsu: розмірність вашого набору даних - не єдиний критерій, який повинен орієнтувати вас на певне програмне забезпечення. Наприклад, якщо ви просто плануєте проводити кластеризацію без нагляду або використовувати PCA, є кілька спеціальних інструментів, які справляються з великими наборами даних, як це часто зустрічається в геномних дослідженнях.

Тепер, R (64 біт) обробляє великі обсяги даних досить добре, і у вас ще є можливість використовувати дисковий сховище замість доступу до оперативної пам'яті, але бачити CRAN Task View High-Performance і паралельні обчислення з R . Стандартний GLM легко вмістить 20 000 осіб. (але див. також speedglm ) протягом розумного часу, як показано нижче:

> require(MASS)
> n <- 20000
> X <- mvrnorm(n, mu=c(0,0), Sigma=matrix(c(1,.8,.8,1), 2, 2))
> df <- cbind.data.frame(X, grp=gl(4, n/4), y=sample(c(0,1), n, rep=TRUE))
> system.time(glm(y ~ ., data=df))
   user  system  elapsed
  0.361   0.018    0.379

Для більш конкретної ілюстрації я використав R для обробки та аналізу великих генетичних даних (800 особин x 800k SNP , де основною статистичною моделлю був стратифікований GLM з кількома коваріатами (2 хв); це стало можливим завдяки ефективній R та Коди C, доступні в пакеті snpMatrix (для порівняння, така ж модель займала близько 8 хв за допомогою спеціального програмного забезпечення C ++ ( планкість ). Я також працював над клінічним дослідженням (12 к пацієнтів х 50 змінних, що цікавлять), і R відповідає моїм потребам Нарешті, наскільки я знаю, пакет lme4 - це єдине програмне забезпечення, яке дозволяє підходити до моделі змішаних ефектів з неврівноваженими та великими наборами даних (як це має місце в масштабному оцінюванні освіти).

Stata / SE - це ще одне програмне забезпечення, яке може працювати з великим набором даних . SAS і SPSS - це файлове програмне забезпечення, тому вони оброблять великі обсяги даних. Порівняльний огляд програмного забезпечення для обміну даними доступний в Інструментах обробки даних: який з них найкращий для CRM . Для візуалізації також є безліч варіантів; можливо, вдалий початок - графіка великих наборів даних: візуалізація мільйона ( переглянута в JSS P Murrell) та всіх пов'язаних тем на цьому веб-сайті.


@chl: Ви ще знайшли ефективне рішення для паралельних обчислень для 64-бітного R? Коли я востаннє дивився (наприкінці цього літа), єдині некомерційні компанії з'явилися лише у 32-розрядному Р.
whuber

1
@whuber Nope. У минулому році мені довелося перейти на 64 біти для управління великими генетичними наборами даних, але статистичні моделі, які ми використовували, не вимагають паралелізації (наскільки я знаю). Я подумав, що існує зв'язування OpenMP для R, але не досліджував це далі. Я знаю, що Revolution Analytics доклала зусиль у цьому сенсі ( j.mp/d7dFb5 ), але все ж у 32 бітах (це, мабуть, те, про що ви посилалися). Тим часом я знайшов R / paralel ( rparallel.org ), але не знаю, наскільки він надійний / зрілий.
chl

@chl Я спробував їх усіх, але жоден із них не міг працювати.
whuber

@Whuber: ти на Windows або * nix box (mac, linux, ...)
user603

2
Я б радив вам встановити ubuntu (google 'завантажити ubuntu') та запустити свої програми для Windows лише зсередини ubuntu через virtualbox ( youtube.com/watch?v=KXgKnd-u2R4 ). R і латексні редактори працюють на ubuntu як шарм.
user603

8

Більшість алгоритмів за шкалою Apache Mahout виходять за межі 20-мільймових записів, навіть із великомірними даними. Якщо вам потрібно лише створити модель передбачення, є такі спеціальні інструменти, як Vowpal Wabbit (http://hunch.net/~vw/), які можуть легко масштабувати мільярди записів на одній машині.


Чудово ... Я цього не знав!
chl

7

Існує пакет RHIPE (інтеграція R-Hadoop). Це може зробити дуже простим (за винятком) аналіз великої кількості даних у Р.


Чи маєте ви успіх у цьому? Якщо так, то для якої програми?
chl

Так, RHIPE - це чудово. Деякі мої друзі використовують його для аналізу даних про Інтернет-трафік. Однією з їхніх цілей є моделювання спроб злому. Даних у таких випадках величезна, петабайт - це звичайно!
suncoolsu

4

Важко дати хорошу відповідь, не знаючи, які моделі ви маєте на увазі.

Для лінійної регресії я успішно використовував пакет biglm в Р.


4

Оскільки ви будуєте прогнозні моделі з великих наборів даних, ви можете отримати користь від BigQuery від Google (розміщена версія технології з дослідницького документу Google щодо масштабного аналізу наборів даних з Dremel). Ви можете експортувати результати запитів у вигляді CSV для прийому всередину, наприклад, в прогнозований класифікатор.

У BigQuery є WebUI, який дозволяє запускати запити та експортувати результати. У бета-версії (v1) версії BigQuery представлений R-клієнт, а у виробничій версії (v2) з часом буде також R-клієнт.


3

Ми тренували 3.5M спостереження та 44 функції, використовуючи 64-бітний R на екземплярі EC2 з 32 ГБ оперативної пам’яті та 4 ядрами. Ми використовували випадкові ліси, і це добре працювало. Зауважте, що нам довелося попередньо обробити / маніпулювати даними перед навчанням.


3

SAS Enterprise Miner версії 6.2 не матиме проблем з 20 мільйонами спостережень та різноманітністю моделей, які можна адаптувати до вашої ситуації. Проблема з SAS, як правило, полягає у вартості. Ось підсумок того, що може зробити SAS EM : SAS EM 6.2: Що нового



0

RHIPE - це чудове рішення, і я, мабуть, обрав би це, якби мав це питання! але ви розглядали NCSS? Наскільки мені відомо, ці новітні версії 10 можуть будувати ці моделі. Повна вер. це дуже дорого, але на декількох сервісах віддаленого робочого столу ви можете запустити додаток лише за невелику плату, але я не хочу .. скоріше перевірити це

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.