Програмне забезпечення для легкого, але надійного дослідження даних


20

У своїх спробах боротися з хаосом електронних таблиць, я часто євангелістський в пошуку більш надійних інструментів, таких як справжнє програмне забезпечення для статистики (R, Stata тощо). Нещодавно мене оскаржив цей погляд хтось, хто заявив, що вони просто не навчаться програмувати. Я хотів би надати їм інструменти аналізу даних, які не потребують програмування (але в ідеалі, який би поширювався на програмування, якщо вони згодом вирішать занурити палець у воду). Які пакунки існують для вивчення даних, які я можу порекомендувати з прямим обличчям?


5
@ gsk3 - цікаве запитання. Я б здогадався, що цей "програмафоб" не має справу зі складними електронними таблицями? можливо, він / вона хотів би дотримуватися їхньої ідеології та добровільно виконувати важку роботу з самими електронними таблицями? :)
ймовірністьлогічний

@probabilityislogic: "програмафоби" вирішують їх, коли вони створюють проблеми, але мають цілий пакет хитрощів для вирішення результатів. Я спробував класичні аргументи проти електронних таблиць, але це мало користі, оскільки вони готові розглянути цей стиль рішення!).
Арі Б. Фрідман

@ gsk3 - ах-ха, значить, це не програма, яка сама по собі є проблемою, але ця людина вже не буде "експертом" і доведеться починати знизу?
ймовірністьлогічний

2
@probabilityislog - Я думаю, що значні витрати є великою частиною проблеми. Деякі з цих витрат є безсумнівними соціальними, а деякі з них - це втрати часу та ефективності, коли вони вивчають новий спосіб роботи.
Арі Б. Фрідман

3
Я думаю, що цей комікс може бути доречним представленням ситуації. Якщо людина, яку ви переказуєте, мертва, налаштована проти програмування, це може бути занадто сильним перевагою. Кращою стратегією може бути вказівка ​​на недоліки аналізу на основі електронних таблиць. Спробуйте, наприклад, у новому файлі Excel ввести значення і11116 та підсумуйте їх (це працює над Excel 2007). Потім поясніть, що жоден поважаючий себе статистичний пакет не надасть подібної помилки без будь-якого попередження та роботи з цього. 114
mpiktas

Відповіді:


7

Я програмую в Python на 95% моєї роботи, а решту в R або MATLAB або IDL / PV-WAVE (і незабаром SAS). Але я перебуваю в середовищі, коли час до результатів часто є величезним рушієм вибраного аналізу, і тому я часто також використовую інструменти "натискання та натискання". На мій досвід, не існує єдиного, надійного, гнучкого інструменту для графічного інтерфейсу для аналітики, як і не існує жодної мови. Я, як правило, спільно збираю колекцію наступного безкоштовного та комерційного програмного забезпечення

Я не використовував JMP, Stata, Statistica тощо, але хотів би.

Використання цих інструментів передбачає вивчення різних графічних інтерфейсів та декількох абстракцій моделювання, що на той час є болем, але давайте мені отримати швидші спеціальні результати пізніше. Я перебуваю в тому ж човні, що і ОП, тому що, хоча більшість людей, з якими я працюю, справді розумні, їм не цікаво ні вивчати мову, ні кілька графічних інтерфейсів і термінологію застосування. Отже, я змирився з тим, щоб визнати, що Excel приносить 90% аналізу в діловому світі. Відповідно, я прагну використовувати такі речі, як pyinex, щоб дозволити мені надавати кращу аналітику тому ж шару презентації Excel, якого очікує переважна більшість моїх колег.

ОНОВЛЕННЯ: Продовжуючи тему Do-modelling-with-програмування, але-make-Excel-презентаційного шару, я щойно натрапив на веб-сайт цього хлопця, що пропонує графіку стилю Tufte для вбудовування в комірки Excel. Просто приголомшливо і безкоштовно!


1
Я скажу, що JMP досить хороший. Навіть якщо людина дуже добре володіє R, бувають випадки, коли JMP є більш швидким способом навігації та аналізу даних.
Ітератор

8

Щодо дослідницького (можливо, інтерактивного) аналізу даних, я б запропонував поглянути на:

  • Weka , спочатку орієнтований на програми для пошуку даних, але може бути використаний для зведення даних.
  • Mondrian , для інтерактивної візуалізації даних.
  • КНІМ , який спирається на ідею побудови потоків даних і сумісний з Weka та R.

Усі три приймають дані в arffcsv форматі чи форматі.

На мою думку, Stata не потребує такої знань з програмування. Це навіть є частиною його привабливості. Фактично більшість базових аналізів може бути виконана за допомогою дій користувача та вказівника миші з діалоговими вікнами для налаштування конкретних параметрів, скажімо, для прогнозування в лінійній моделі. Це ж стосується, хоча і в меншій мірі, і для R, коли ви використовуєте зовнішні графічні інтерфейси, такі як Rcmdr , Deducer тощо.


+1 для Stata. Ви можете виконати всі основи через точку клацання n, але вона також виписує команду, яка генерується в точці n-клацання, щоб ви могли вивчити / змінити її. Це також нагадує електронну таблицю в тому, як ви взаємодієте з його даними, хоча ви, звичайно, не ставите формули в клітинках.
Уейн

8

Деякі люди вважають програмування просто введенням оператора командного рядка. Тоді, можливо, ти трохи втрачаєш їх заохочення. Однак якщо вони вже використовують електронні таблиці, тоді вони вже повинні вводити формули. Це схожі на заяви командного рядка. Якщо вони справді означають, що вони не хочуть робити будь-яке програмування в сенсі логічного та автоматизованого аналізу, то ви можете сказати їм, що вони все ще можуть робити аналізи в R або Stata без будь-якого програмування.

Якщо вони можуть зробити свою статистику в електронній таблиці ... все, що вони хочуть зробити ... то всі статистичні аналізи, які вони хочуть зробити, можна зробити і без "програмування" в R або Stata. Вони могли б упорядкувати та впорядкувати дані в електронній таблиці, а потім просто експортувати їх у вигляді тексту. Тоді аналіз проводиться без будь-якого програмування.

Ось як я інтродую R іноді. Не потрібно програмування для аналізу даних, які ви могли робити в електронній таблиці.

Якщо ви їх так зачепите, просто повільно намотайте рибу ... :) Через пару років віддячіть їм тим, яким хорошим програмістом вони стали.

Ви також можете показати цей документ колегам або принаймні прочитати його самостійно, щоб краще сформулювати свої думки.


1
Хороші моменти, але тут є деякі застереження: у Excel є підказки щодо інструментів, які з’являються під час введення формули в комірці, і це значно спрощує програмування простих завдань. Крім того, швидше за все, людина, яка знаходиться поруч, може допомогти вам, якщо ви застрягли, оскільки є багато користувачів живлення Excel. І Excel поставляється встановленим. Переконати когось спробувати R означає допомогти їм налаштувати його та навчитися використовувати програмне забезпечення з відкритим кодом (а також на яких форумах шукати, який із незліченних пакетів завантажувального пакета слід використовувати тощо). Програмування є в деякому сенсі легкою частиною. Його екосистема є найважливішою частиною.
Джош Хеман

Також у Excel немає справжніх проблем із форматуванням ... У R іноді один пакунок використовує xts, інший data.frames ... це неприємність для новачка, це правда
RockScience

По-перше, я погоджуюся з тим, що у форматуванні даних можуть виникнути проблеми, але майте на увазі, що моя відповідь була кваліфікована як аналіз, який уже можна зробити в електронній таблиці. Це не дуже різноманітний аналіз, і він, як правило, знаходиться в одному форматі даних.
Джон

У "програмуванні" з R є дещо більше, ніж у Excel, і це те, що зводить користувачів з розуму. Якщо R мав найвищий графічний інтерфейс, схожий на зведену таблицю, можливо. Але до тих пір ...
Ральф Вінтерс

8

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

  1. Дійсно хороші засоби візуалізації. Більш основні сюжети типу EDA, це так само добре, як і R, і значно простіше використовувати для створення чогось, що наближається до готового до публікації сюжету. Також є кілька надзвичайно гнучких інструментів візуалізації, тож ви можете скручувати та згинати свої дані навколо, щоб отримати повну історію.
  2. Дивно потужний. Мені було потрібно до мого ... 4 курсу середньої школи, щоб знайти те, що JMP не міг зробити прямо з коробки. Це непогано.
  3. Сценарій. Це велика річ для мене. Основна слабкість графічних інтерфейсів полягає в тому, що дуже важко повторити те, що ви зробили. JMP дозволяє скриптувати графічний інтерфейс - і генерування цих сценаріїв є досить точним і клацанням.

+1 для JMP Це найкраща основна гу-статистика, яку я коли-небудь використовував.
Зак

1
Погоджено (добре з пунктом №1). У чомусь це навіть краще, ніж R для EDA, і його можна непогано вставити в ітеративний робочий процес. Якщо вже працює без R, то JMP - це розумний спосіб роботи без додавання R. Оскільки він також може посилатися на R, програміст R може створювати інструменти, які потім підключаються до JMP, дозволяючи користувачеві Eloi, errr, продовжувати вірити, що все просто денді.
Ітератор

6

Я можу порекомендувати Tableau як хороший інструмент для вивчення та візуалізації даних, просто через різні способи дослідження та перегляду даних, просто перетягуючи та опускаючи. Графіки досить чіткі, і ви можете легко вивести їх у PDF для презентаційних цілей. Якщо ви хочете, ви можете розширити це за допомогою "програмування". Я регулярно використовую цей інструмент разом із "R" та SAS, і всі вони добре працюють разом.


3

За словами Джона, дослідження Р. не вимагає великого програмування в Р. Ось список команд дослідження даних, які ви можете надати людям. (Я щойно придумав це; ви, безумовно, можете його розширити.)

Експортуйте дані з будь-якого пакету, в якому він знаходиться. (Експортування числових даних без лапок зручно.) Потім прочитайте дані в Р.

ChickWeight=read.csv('chickweight.csv')

Складіть таблицю.

table(ChickWeight$Diet)

Нехай R здогадається, яку графіку вам надати. Іноді це дуже добре працює.

plot(ChickWeight)
plot(ChickWeight$weight)
plot(ChickWeight$weight~ChickWeight$Diet)

Купа конкретних функцій побудови графіків працює досить просто на окремих змінних.

hist(ChickWeight$weight)

Беручи підмножини

plot(subset(ChickWeight,Diet=='2'))

SQL-подібний синтаксис, якщо люди звикли до цього (докладніше тут )

library(sqldf)
plot(sqldf('select * from ChickWeight where Diet == "2"'))

PCA (Звичайно, у вас буде більше двох змінних.)

princomp(~ ChickWeight$weight + ChickWeight$Time)

3

Це скоріше плач, ніж відповідь ...

Найкраще програмне забезпечення, яке я бачив для цього, - Arc , який побудований на вершині Xlisp-Stat. Це фантастичне програмне забезпечення для дослідження даних з великою кількістю вбудованої інтерактивної графіки, а також безліч можливостей статистичного висновку. На мою думку, більше нічого не наблизилось до простоти використання для дослідження даних та можливості розширення її за допомогою програмування Lisp. На мою думку, інтерактивність в R тільки починає використовуватись таким способом, як Arc, через десять довгих років. Наскільки я знаю, ще ніхто не використовував ці можливості для створення інтерактивного інтерфейсу, який є десь поруч таким же корисним, як Arc.

На жаль, він ніколи насправді не натрапив, тому розробники з тих пір майже всі перейшли на роботу в R; Востаннє оновлено в липні 2004 року. Версії для ПК та Linux / Unix все ще працюють і, можливо, варто спробувати, залежно від ваших потреб; для Macs найкращий варіант - спробувати версію Linux / Unix під X11, я отримав це, працюючи над декількома системами таким чином. Версія для Mac, згадана на сайті, працює лише на "Класичних" Macs.

Я також згадаю коротко про Мондріана , який я лише спробував коротко, але, схоже, має надзвичайну графічну інтерактивність для дослідження даних, хоча (наскільки я пам’ятаю) непростий спосіб розширити свої здібності або зробити статистичний висновок.


Я не чув про Arc, але збирався перевірити це. Спасибі.
Арі Б. Фрідман

1
(+1) Приємно почути ще раз зі світу Лісп. Я занадто прихильник xlispstat (і ціную, що Люк Тірней настільки активний у проекті R).
chl

3

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

У минулому я також використовував JMP, який мав приємну інтерактивність. Я переживаю, що деякі інтерфейси можуть бути занадто складними для цих цілей. І це невільно, що ускладнює потенційним біженцям з електронних таблиць складніше випробувати примху.


Є також Rattle, який виглядає дещо перспективно.


Щодо JMP - Якщо я не помиляюся, існують пробні версії та академічні ліцензії, які в межах розумних.
Ітератор

3

Для вивчення того, що містять дані, та очищення їх колишнього Google Refine, тепер Open Refine , досить непоганий графічний інтерфейс. Це набагато потужніше для підготовки та чищення, ніж щось на зразок Excel. Потім перейдіть на щось на зразок R-Commander для своїх аналізів.


2

Той, хто відповідає на R або будь-який із його «графічних інтерфейсів», не прочитав питання.

Існує програма, спеціально розроблена для цього, і вона називається JMP. Так, це дорого, хоча має безкоштовну пробну версію і є неймовірно дешевою для студентів чи співробітників коледжу (наприклад, $ 50 дешево).

Існує також RapidMiner, який є графічним інтерфейсом на основі робочих процесів для вилучення даних та статистичного аналізу. Це безкоштовно та з відкритим кодом.


1
@Neil Чому так? В ОП вказано "але в ідеалі, що поширюється на програмування ..." R підключений майже до всього комерційного (наприклад, SPSS, JMP, Statistica) або вільного (Knime, Rapidminer) статистичного програмного забезпечення, а Rserve може використовуватися як доповнення для зв'язку з R (наприклад, із програмним забезпеченням для генетичних досліджень), і він використовується для цієї мети. Безкоштовна пробна версія JMP не дозволяє вам працювати із зовнішніми наборами даних, я помиляюся? (Цікаво, що всіх нас, хто відповів на R, та альтернативне програмне забезпечення , було порушено.)
chl

Мені подобається R і я за це, але люди, які хочуть навчитися статистиці / передачі даних і не знають, як програмувати, дійсно не можуть її використовувати. і я грав зі всіма його поглядами, і вони просто жахливі порівняно з jmp. я просто чекаю дня, коли R отримає такий gui, як jmp, тоді все буде добре у Всесвіті.
Ніл Макгуйган

-1 за пропозицію, щоб люди не читали питань перед тим, як відповісти, і за те, щоб не надавати реальних аргументів, чому R гірший за JMP або RapidMiner. Зауважте, що в цілому я погоджуюся, що R - це не відповідь на все, але ця тема трохи суперечить потенціалу отримати справді неприємний характер. Звідси і низхідний рух.
mpiktas

R - це чудово, але це не просто. Про це він і попросив у назві.
Ніл Макгуйган

@Neil, так, але ви можете стверджувати, що немає такого поняття, як просте, але надійне дослідження даних.
mpiktas

1

Ну, саме цей інструмент користується популярністю в моїй галузі (хоча дизайн не є специфічним для галузі): http://www.umetrics.com/simca

Це дозволяє робити латентний багатоваріантний аналіз змінного типу (PCA та PLS), і він включає всі супутні інтерпретаційні сюжети / розрахунки та інструменти допиту, такі як графіки внеску, графіки змінної важливості, розрахунки Q2 тощо.

Він часто застосовується у високомірних (і часто сильно корельованих / колінеарних) промислових наборах даних, де методи типу OLS / MLR є непридатними (наприклад, інформація з човнового навантаження датчиків, інформація про журнал тощо).

Він працює в повністю графічному інтерфейсі, і користувачеві не потрібно писати жодного рядка коду. На жаль, він не є безкоштовним і не може бути розширений за допомогою програмування.


1

На мою думку, якщо ви не кодуєте тест, ви схильні до помилок та непорозумінь результатів.

Я думаю, що ви повинні рекомендувати їх наймати статистику, який має навички роботи з комп'ютером.

Якщо робити завжди те саме, тоді ви можете використовувати невеликий інструмент (чорний ящик), який буде робити це. Але я не впевнений, що це все ще називається дослідженням даних.


1
Я більш-менш погоджуюся з настроями, але я не думаю, що такий погляд з великим настроєм дійсно можливий у багатьох налаштуваннях.
Арі Б. Фрідман

1

Я рекомендував би пакет R Джона Фокса, який називається командиром R:

http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/

Він створює інтерфейс користувача, подібний до SPSS (або подібного), який чудово підходить для новачків і не вимагає від користувача взагалі введення будь-якого коду. Все це робиться за допомогою випадаючих коробок (ви навіть можете мінімізувати консоль R під час роботи).

Для мене перевага цього пакету полягає в тому, що ви можете скористатися всіма великими обчислювальними можливостями R, маючи при цьому користувальницький інтерфейс, який повністю працює для початківців.


1

Ще одним корисним інструментом, хоча і для Windows, є Spotfire - я вважав його досить корисним для швидкого перегляду різних гістограм та розсіювання графіків для одиночних та пар змінних. Дослідницький інструмент, який допомагає класифікувати окремі змінні, а також пари на основі простої статистики - Ієрархічний Провідник кластеризації від HCIL. Приємно знайти найцікавіші змінні / пари змінних.

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