Программное обеспечение для простого, но надежного исследования данных


20

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


5
@ gsk3 - интересный вопрос. Я бы догадался, что этот "programaphobe" не имеет дело со сложными таблицами? возможно, он / она хотел бы соответствовать их идеологии и добровольно выполнять тяжелую работу с самими электронными таблицами? :)
probabilityislogic

@probabilityislogic: «programaphobe» справляется с ними, как только они вызывают проблемы, но имеет целый ряд хитростей для обработки результатов. Я попробовал классические аргументы против электронных таблиц, но безрезультатно (ну, в некоторой степени, так как они готовы рассмотреть этот стиль решения!).
Ари Б. Фридман

@ gsk3 - ага, так что это не программа, которая сама по себе является проблемой, но этот человек больше не будет «экспертом» и должен будет начинать с самого начала?
вероятностная

2
@probabilityislog - я думаю, что нерешенные расходы - большая часть проблемы, да. Некоторые из этих затрат, несомненно, являются социальными, а некоторые - потерями времени и эффективности, в то время как они изучают новый способ ведения дел.
Ари Б. Фридман

3
Я думаю, что этот комикс может быть адекватным представлением ситуации. Если человек, на которого вы ссылаетесь, настроен против программирования, это может быть слишком сильным предпочтением, чтобы идти против него. Лучшей стратегией может быть указание на недостатки анализа на основе электронных таблиц. Попробуйте например в новом файле Excel ввести значения и11116 и суммируйте их (это работает в Excel 2007). Затем объясните, что никакой уважающий себя статистический пакет не предоставит аналогичную ошибку без какого-либо предупреждения и поработайте над этим. 114
mpiktas

Ответы:


7

Я программирую на Python для 95% своей работы, а остальное на R или MATLAB или IDL / PV-WAVE (и вскоре SAS). Но я нахожусь в среде, где время на результат часто является огромной движущей силой выбранного анализа, и поэтому я часто использую инструменты «укажи и щелкни». По моему опыту, не существует единого, надежного, гибкого инструмента с графическим интерфейсом для аналитики, так же как нет ни одного языка. Я обычно собираю коллекцию следующих бесплатных и коммерческих программ

  • Weka
  • KNIME
  • Excel и его плагины (например, Солвер)
  • Alteryx
  • MVP Stats

Я не использовал JMP, Stata, Statistica и т. Д., Но хотел бы.

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

ОБНОВЛЕНИЕ: Продолжая тему «Делать моделирование с программированием, но делать в Excel-уровне представления», я только что наткнулся на сайт этого парня, предлагающий графику в стиле Tufte для встраивания в ячейки Excel. Просто потрясающе и бесплатно!


1
Я скажу, что JMP довольно хорошо. Даже если человек очень хорошо владеет R, бывают случаи, когда JMP - более быстрый способ навигации и анализа данных.
Итератор

8

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

  • Weka изначально нацелена на приложения для интеллектуального анализа данных, но может использоваться для сводки данных.
  • Мондриана , для интерактивной визуализации данных.
  • KNIME , основанный на идее построения потоков данных и совместимый с Weka и R.

Все три принимают данные в arffили csvформате.

На мой взгляд, Stata не требует большого опыта программирования. Фактически, это даже часть его привлекательности: большая часть базового анализа может быть выполнена пользовательскими действиями «укажи и щелкни» с диалоговыми окнами для настройки конкретных параметров, например, для прогнозирования в линейной модели. То же самое относится, хотя и в меньшей степени, к R, когда вы используете внешние графические интерфейсы, такие как Rcmdr , Deducer и т. Д., Как говорит @ gsk3.


+1 для Статы. Вы можете выполнить все основные действия с помощью point-n-click, но он также выделяет команду, созданную point-n-click, чтобы вы могли изучить / изменить ее. Он также похож на электронную таблицу в том, как вы взаимодействуете с его данными, хотя вы, конечно, не помещаете формулы в ячейки.
Уэйн,

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

Как сказал Джон, исследование данных не требует большого программирования на R. Вот список команд исследования данных, которые вы можете дать людям. (Я только что придумал это; вы, конечно, можете расширить его.)

Экспортируйте данные из любого пакета. (Экспортировать числовые данные без кавычек удобно.) Затем прочитайте данные в R.

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. Это фантастическое программное обеспечение для исследования данных с большим количеством встроенной интерактивной графики, а также множеством статистических возможностей. По моему мнению, ничто иное не приблизилось к его простоте использования для исследования данных и возможности его дальнейшего расширения с помощью программирования на Лиспе. По моему мнению, интерактивность в R только начинает использоваться такими способами, как Arc, спустя десять долгих лет. И, насколько я знаю, еще никто не использовал эти возможности для создания интерактивного интерфейса, который был бы столь же полезен, как Arc.

К сожалению, он так и не завоевал популярность, поэтому разработчики почти все перешли на работу в R; последний раз он обновлялся в июле 2004 года. Версии для ПК и Linux / Unix по-прежнему работают и, возможно, стоит попробовать, в зависимости от ваших потребностей; для Mac лучший вариант - попробовать версию Linux / Unix под X11, таким образом я работал на нескольких системах. Версия для Mac, упомянутая на сайте, работает только на «Классических» Mac.

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


Не слышал об Арке, но собираюсь проверить это. Благодарю.
Ари Б. Фридман

1
(+1) Рад снова услышать от мира Лисп. Я тоже фанат xlispstat (и ценю, что Люк Тирни так активно участвует в проекте R).
chl

3

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

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


Есть также погремушка, которая выглядит несколько многообещающе.


Что касается JMP - если я не ошибаюсь, существуют пробные версии и академические лицензии, которые находятся в пределах разумного.
Итератор

3

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


2

Любой, кто отвечает на R или любой из его «GUI», не читал вопрос.

Для этого специально разработана программа, которая называется JMP. Да, это дорого, хотя у него есть бесплатная пробная версия и невероятно дешево для студентов или сотрудников колледжа (например, 50 долларов дешево).

Существует также RapidMiner, который представляет собой графический интерфейс на основе рабочего процесса для анализа данных и статистического анализа. Это бесплатно и с открытым исходным кодом.


1
@Neil Почему это так? В ОП указано «но в идеале это будет распространяться на программирование ...». R был подключен почти ко всему коммерческому (например, SPSS, JMP, Statistica) или бесплатному (Knime, Rapidminer) статистическому программному обеспечению, и Rserve можно использовать в качестве бэкэнда для связи с R (например, с программным обеспечением plink для генетических исследований), и это используется для этой цели. Бесплатная пробная версия JMP не позволяет работать с внешними наборами данных, я не прав? (Интересно, что все мы, кто ответил R, и альтернативное программное обеспечение , были понижены.)
CHL

Мне нравится R, и я за это, но люди, которые хотят изучать статистику / анализ данных и не знают, как программировать, на самом деле не могут их использовать. и я играл со всеми его guis, и они просто ужасны по сравнению с JMP. я просто жду того дня, когда R получит графический интерфейс, подобный 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 commander:

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

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

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


1

Еще один полезный инструмент, хотя и для Windows, это Spotfire - я нашел его весьма полезным для быстрого просмотра различных гистограмм и графиков рассеяния для одного и пары переменных. Инструмент исследования, который помогает вам ранжировать отдельные переменные, а также пары на основе простой статистики - Hierarchical Clustering Explorer от HCIL. Это удобно для поиска наиболее интересных переменных / пар переменных.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.