Содержание материала
Когда я занялся аналитикой в конце 1980-х годов, не существовало понятия «дружественный пользователю». Вся аналитическая работа выполнялась с помощью мейнфреймов.
Для того чтобы провести анализ, приходилось не только непосредственно создавать программный код, но и использовать ужасный язык управления заданиями (JCL). Каждый, кто когда-либо сталкивался с JCL, знает, какая это головная боль!
Когда распространение получили серверы и ПК, они в основном представляли собой те же старые программные интерфейсы с новыми платформами. Графика и вывод данных в те времена находились в зачаточном состоянии. Первоначально графики генерировались с помощью текстовых знаков, из которых создавались столбиковые диаграммы, а для рисования сеток использовались тире. При выводе данных вы получали огромное количество текста с описанием того, что произошло.
Со временем были разработаны дополнительные графические интерфейсы, которые давали возможность вместо кодирования использовать среды point-and-click («укажи и щелкни»).
Практически все коммерческие аналитические инструменты имели такие интерфейсы к концу 1990-х годов. С тех пор пользовательские интерфейсы были еще более усовершенствованы и теперь содержат более мощные графические средства, диаграммы потоков работ, а также приложения, сосредоточенные на конкретных точечных решениях. Диаграммы потоков работ — одна из самых полезных новых функций, поскольку они предоставляют аналитикам наглядную карту с отдельными этапами работы и связанными между собой задачами. Это позволяет визуально отслеживать все шаги процесса.
По мере развития инструментов продолжает развиваться и сфера их применения. В настоящее время существуют инструменты управления развертыванием аналитических процессов, управления и администрирования аналитических серверов и программного обеспечения, используемых аналитиками, а также инструменты для перевода кода с одного языка на другой.
Кроме того, имеется ряд коммерческих аналитических пакетов. Хотя лидерами рынка остаются компании SAS и SPSS, существует множество других аналитических программ. Многие из них занимают определенную нишу, охватывая конкретные области. Кроме того, в настоящее время созданы аналитические инструменты с открытым исходным кодом. Об этом пойдет речь далее в главе.
Распространение графических пользовательских интерфейсов
До середины — конца 1990-х годов единственный вариант проведения статистического анализа подразумевал написание кода. Многие люди, особенно аналитики «старой школы», все еще любят писать код. Тем временем пользовательские интерфейсы становятся нормой, и аналитикам больше не нужно тратить много времени на кодирование. Графические пользовательские интерфейсы, доступные сегодня, позволяют генерировать большое количество кода «под капотом» от имени пользователей.
Часто можно слышать жаркие споры о том, используют ли «настоящие» профессионалы графический интерфейс или же они только пишут код. На самом деле ни у кого не должно возникать проблем с использованием графического интерфейса, пока он работает надежно и позволяет разрабатывать аналитические процессы в темпе, который равен или превышает темп ручного кодирования. Настоящие аналитики делают все возможное, чтобы выполнить работу настолько точно и эффективно, насколько это возможно. Кроме того, программное обеспечение сегодня предусматривает надежные решения, которые не только позволяют быстро генерировать код, но и помогают пользователям пройти через предопределенный процесс, направленный на решение конкретных проблем.
Дополнительное преимущество пользовательского интерфейса состоит в том, что автоматически сгенерированный код достаточно оптимизирован и свободен от ошибок. В этом заключается его отличие от ручного кодирования, при котором нередки опечатки, требуется отладка, а степень оптимизации производительности кода зависит от того, кто его написал. Ранние версии аналитических пользовательских интерфейсов были довольно громоздкими, и если человек умел хорошо кодировать, то ему быстрее было написать код, чем использовать интерфейс. Все изменилось с появлением новых пользовательских интерфейсов, которые эффективно автоматизируют генерирование большого количества кода. Это позволяет больше внимания уделять собственно анализу и необходимым методологиям и тратить меньше времени на кодирование.
С пользовательскими интерфейсами связана одна опасность, которая в то же время является одним из их ключевых преимуществ: интерфейсы позволяют легко генерировать код. Звучит заманчиво, однако возможность быстро генерировать код также позволяет быстро генерировать и плохой код. Мы вернемся к этой теме в главе 8, когда будем говорить о том, что делает аналитика профессионалом. Если пользователь не профессионал, то с помощью пользовательского интерфейса он может случайно создать код, который будет делать совершенно не то, что задумано. Без понимания сгенерированного кода пользователь не в состоянии выявить такие ситуации, а это может привести к тому, что разработанные процессы будут некорректными или неточными.
Не надо быть старомодным
Многие пользовательские интерфейсы, доступные сегодня, действительно могут ускорить процесс генерирования кода, обеспечивая при этом отсутствие ошибок и оптимизацию. специалистам стоит дать сегодняшним интерфейсам шанс. Результаты могут их удивить! Это особенно касается тех, кто на протяжении десятилетий занимался кодированием и сопротивляется любым другим способам. Инструменты сделают работу аналитиков более эффективной, освободив время для того, чтобы сосредоточиться на методах анализа вместо написания кода.
Пользователи графического интерфейса должны разбираться в кодировании и быть способными проверить код, сгенерированный за них инструментами, чтобы удостовериться в том, что созданный код делает именно то, что задумано. Часто при работе с пользовательским интерфейсом вы нажимаете несколько кнопок в ожидании определенного результата. Однако когда вы видите сгенерированный код, то понимаете, что результат отличается от того, что вы задумали. Современные пользовательские интерфейсы должны улучшать производительность, позволяя специалистам больше времени уделять анализу и меньше времени — кодированию. Однако инструменты не должны быть заменой знаниям, трудолюбию и усилиям.
Взрыв популярности точечных решений
В последнее десятилетие все чаще используются точечные аналитические решения, представляющие собой программные пакеты, направленные на решение очень узкого набора задач. Обычно они ориентированы на определенный набор связанных между собой бизнес-проблем и часто создаются на основе пакетов аналитических инструментов.
К точечным решениям относятся, например, приложения для оптимизации цен, выявления фактов мошенничества и прогнозирования спроса.
Точечные решения, построенные на основе таких наборов инструментов, как SAS, используют некоторые общие функции базового пакета, однако пользовательский интерфейс настроен на решение конкретных задач. На разработку точечного решения может потребоваться много времени. Организациям следует подумать о приобретении такого решения вместо создания собственного. Это может сэкономить и деньги, и время.
Приложение для финансового учреждения, которое поможет обнаружить факты отмывания денег, например, должно предусматривать набор алгоритмов и бизнес-правил, которые находят подозрительные закономерности в движении средств. Интерфейс такого инструмента будет настроен на выявление подозрительных случаев и предоставление по мере необходимости дополнительной информации для помощи в процессе расследования. Такой инструмент может помочь организации быстро приступить к работе без необходимости разрабатывать множество процессов с нуля.
Аналитические точечные решения набирают популярность, поскольку позволяют различным отделам организации использовать более сложные аналитические методы в своих повседневных бизнес-процессах. Как правило, для того чтобы осуществить установку, конфигурирование и настройку параметров этих инструментов, необходим высокий уровень знаний. Однако их обслуживание и использование по силам менее подготовленным людям, что значительно расширяет пользовательскую базу точечных решений. Обратите внимание на то, что это не отменяет сказанного о людях, не использующих инструменты, если они не разбираются в кодировании. Точечные решения построены и сконфигурированы так, что пользователь совершает наиболее уместные действия.
Пользователи аналитических точечных решений, как правило, оказываются более продвинутыми по сравнению с рядовыми сотрудниками. Однако они не будут обладать такими же навыками, как профессиональные аналитики. Инструменты, сконфигурированные и настроенные специалистами, позволят автоматизировать решение многих задач, так что опытный пользователь сможет эффективно конт ролировать результаты работы инструмента и убедиться в том, что все работает нормально. Преимущество этого подхода заключается в более широком применении аналитики в рамках организации и в увеличении масштаба. Ни у одной организации никогда не будет достаточно аналитиков для проведения всех необходимых видов анализа вручную. Аналитические точечные решения снимают часть этой нагрузки.
Используйте точечные решения
Аналитические точечные решения — отличный способ справиться с конкретными бизнес-проблемами. такие инструменты позволяют подключить к аналитическому процессу больше людей. Использовать готовое коммерческое точечное решение намного быстрее, чем создавать собственное. Однако будьте готовы испытать потрясение, когда увидите цены на некоторые из доступных инструментов.
Серьезный недостаток точечных решений состоит в том, что они бывают весьма дорогостоящими. Некоторые точечные решения стоят порядка десяти миллионов долларов или больше, если речь идет об использовании инструмента в масштабах всего предприятия. Если ROI* оправдывает такие расходы, то это приемлемо. Однако типичная организация не может потратить достаточно денег, времени и усилий на реализацию многочисленных точечных решений, поэтому они нередко используются последовательно: по мере завершения реализации одного решения начинается реализация другого.
В ближайшие годы будут разработаны точечные решения применительно к некоторым аспектам анализа больших данных. Возможно, именно они потребуются организациям, чтобы начать такую работу. В процессе планирования своих действий следует изучить рынок, чтобы узнать о существующих возможностях.
* ROI (англ. return on investment — возврат инвестиций) — финансовый коэффициент (отношение суммы прибыли или убытков к сумме инвестиций), иллюстрирующий уровень доходности или убыточности бизнеса с учетом сделанных капиталовложений. ROI обычно выражается в процентах, реже — в виде дроби. Прим. ред.
История открытого программного обеспечения
Программные пакеты с открытым исходным кодом существуют довольно давно. Они доступны для всех и могут быть загружены бесплатно. Кроме того, сам код также доступен, поэтому при желании пользователи могут настраивать и добавлять функции в программное обеспечение.
Существуют примеры широко используемых и весьма успешных приложений с открытым исходным кодом: веб-браузер Firefox, операционная система Linux и веб-сервер Apache.
Развитие интернета способствовало росту активности, обусловленной открытым программным обеспечением. Если учесть все инновации, появившиеся в интернет пространстве, совершенно естественно, что им сопутствуют инновации в приложениях с открытым исходным кодом.
В настоящее время существуют самые разнообразные программные пакеты с открытым исходным кодом: базы данных, приложения для бизнес-аналитики и отчетности, инструменты для интеграции данных, офисные пакеты и т. д.
В одних случаях, например в Linux и Apache, набор инструментов с открытым исходным кодом стал общепринятым вариантом, если не лидером, в своей области. Во многих других случаях (офисные средства) открытое программное обеспечение занимает конкретную нишу. Как правило, крупные и/или длительное время существующие корпорации медленнее принимают инструменты с открытым исходным кодом, чем новые сферы бизнеса или академическая среда.
Замечательная особенность инструментов с открытым исходным кодом состоит в том, что в повышение их функциональности свой вклад вносят тысячи людей. Обнаруженная ошибка достаточно быстро может быть исправлена многочисленными разработчиками-энтузиастами, которые работают в свободное время. Основные проекты с открытым исходным кодом поддерживаются формальными организациями. Есть организации, которые состоят полностью из добровольцев; на некоммерческих предприятиях, созданных для управления проектом, работают сотрудники, нанятые на полный рабочий день. За счет пожертвований эти организации могут платить сотрудникам зарплату, однако они не пытаются зарабатывать на самом программном обеспечении. Цель состоит в том, чтобы получить достаточное количество денег в виде пожертвований и, оплатив работу специалистов, гарантировать эффективное управление проектом. В будущем открытое программное обеспечение продолжит оказывать влияние, в том числе в сфере аналитики. Это подводит нас к проекту R.
Проект R для статистических расчетов
Открытое программное обеспечение пришло в мир передовой аналитики в виде «Проекта R для статистических расчетов», известного также как просто R. R — это бесплатно распространяемый аналитический пакет с открытым исходным кодом, который напрямую конкурирует с коммерческими аналитическими инструментами, а также дополняет их. R — потомок S, одного из первых языков для статистического анализа, разработанного десятки лет назад. Свое название проект R, видимо, получил благодаря тому, что представлял собой обновление S, а также тому, что с буквы R начинаются имена его создателей (Роберт Джентлмен и Росс Айхэка).
Проект R быстро завоевал популярность и в настоящее время используется многочисленными профессиональными аналитиками. Это особенно верно в академической и исследовательской среде. Что касается корпоративной среды, то при наличии большой команды аналитиков по крайней мере некоторые из них так или иначе используют язык R.
Коммерческие инструменты по-прежнему доминируют, однако влияние R постепенно растет. Хотя количество его пользователей быстро увеличивается, на сегодняшний день он еще не так прочно прижился на крупных предприятиях, как в научных кругах. Язык R, как правило, используется для исследований и разработок, а не в крупномасштабных, критически важных для производства аналитических процессах. Со временем это может измениться, однако на момент написания данной книги дела обстоят именно так.
Язык R имеет широкий спектр возможностей. Он в большей степени объектно-ориентированный, чем многие другие наборы аналитических инструментов. Может быть связан с такими распространенными платформами программирования, как C++ и Java, что позволяет внедрять R-код в приложения. На самом деле коммерческие аналитические пакеты даже позволяют выполнять код, написанный на языке R, в рамках своих наборов инструментов. Это очень полезная функция. Более подробное описание этой темы выходит за рамки данной книги.
Возможно, самое большое преимущество языка R состоит в том, что при появлении нового метода моделирования или анализа кто-нибудь реализует его на этом языке. Функциональность R обновляется гораздо быстрее, чем функциональность коммерческих инструментов, и, если задуматься, так и должно быть. Поставщик коммерческого инструмента не будет спешить с интеграцией нового алгоритма, пока не убедится в том, что на его использование есть спрос. Убедившись в этом, поставщик добавляет этот алгоритм в свой график выхода, создает код и включает его в новую версию инструмента. На это могут уйти годы. В случае с R код алгоритма создается сразу, как только несколько человек сочтут его полезным.
То, что R распространяется бесплатно, для многих является несомненным преимуществом. Однако, как и в случае с любым другим проектом с открытым исходным кодом, существуют компании, которые предлагают собственные платные расширения и/или сервисы. Эти компании могут помочь вам с применением R, с разработкой процессов на языке R, а в некоторых случаях — предоставить вам расширения, улучшающие функциональность базового пакета. Недостаток бесплатного программного обеспечения — отсутствие поддержки. Вам приходится более или менее самостоятельно искать ответы на вопросы. Несмотря на существование многочисленного сообщества, нет ни одного конкретного ответственного человека или команды, к которым вы могли бы обратиться.
Вы используете R?
R — быстро развивающийся набор аналитических инструментов с открытым исходным кодом. За последние годы он сильно эволюционировал и получил широкое распространение. R имеет свои преимущества и недостатки и не подходит для каждой организации или каждой задачи. Однако в вашей организации он может сыграть определенную роль.
Один из главных недостатков языка R заключается в том, что программирование с его помощью — достаточно интенсивный процесс. Несмотря на существование графических интерфейсов, созданных на основе языка R, многие пользователи сегодня по-прежнему предпочитают писать код. Кроме того, R-интерфейсы гораздо менее развиты, чем аналогичные интерфейсы для коммерческих инструментов. Разумеется, со временем это может измениться.
Возможно, самым большим недостатком языка R является его плохая масштабируемость. В последнее время были сделаны некоторые улучшения, однако уровень масштабируемости R не соответствует уровню других коммерческих инструментов и баз данных. Компилятор R обрабатывает данные в оперативной памяти. Это означает, что он может работать только с наборами данных, размер которых соответствует объему доступной памяти компьютера. Даже у очень дорогого компьютера объем памяти гораздо меньше, чем требуется для работы с наборами данных предприятия, не говоря уже о больших данных. Если крупная организация хочет укротить большие данные, то R может стать частью решения, но не единственной, по крайней мере на сегодняшний день.
Все большее число инструментов, включая коммерческие аналитические пакеты, позволяют применять язык R. Станет ли он лидером, как Apache или Linux? Останется ли нишевым продуктом, как офисные пакеты с открытым исходным кодом? Только время покажет, какую роль будет играть R в сфере углубленной аналитики.
История визуализации данных
Визуализация данных так же стара, как и сами данные. В последнее время она превратилась в отдельную отрасль. Такие люди, как Эдвард Тафти*, зарабатывают на жизнь, обсуждая, исследуя и оценивая методы визуализации. Тафти написал множество книг, в том числе ставшую классической Visual Display of Quantitative Information («Визуальное отображение количественной информации»).
Изображенное Шарлем Жозефом Минаром уничтожение войск Наполеона во время похода на Москву в 1812 году считается одной из лучших визуализаций всех времен. Посмотрев на это изображение, пройдя по ссылке в примечаниях к главе, вы сможете ясно представить себе, что произошло с этими войсками.
Визуализация в мире аналитики — это диаграммы, графики и таблицы, которые отображают данные. До появления компьютеров графики рисовали от руки. Компьютеры революционизировали и упростили методы создания визуализаций. Я помню свой первый цветной принтер для компьютера Radio Shack Color Computer. В нем в буквальном смысле были маленькие цветные шариковые ручки, рисующие на листе бумаги, похожем на широкую чековую ленту. Я мог создавать только некоторые очень примитивные столбиковые диаграммы с низким разрешением.
Раннее аналитическое программное обеспечение довольно умно использовало символы клавиатуры для создания графики, которая, возможно, и не была красивой, но очень хорошо позволяла донести смысл. Каждый столбик диаграммы мог состоять из ряда символов X (см. рис. 6.1); круговая диаграмма — из точек, запятых и тире, а рамку таблицы рисовали с помощью символов «» и «|».
Рис. 6.1. Элементарная столбиковая диаграмма
Когда офисные приложения получили широкое распространение, практически у любого человека появилась возможность создавать красочные диаграммы или графики с осями, подписями и легендами. Графические средства аналитических инструментов также сильно эволюционировали и вышли далеко за пределы создания графиков, состоящих из текстовых символов.
Однако до недавнего времени визуализации в основном были статичными. Диаграмма в настольном приложении для создания презентаций или в электронной таблице оставалась статичной, пока не производилось ее обновление — как правило, вручную. Сегодня существуют средства визуализации, позволяющие взаимодействовать с графикой, исследуя и анализируя данные новыми и более эффективными способами.
* Эдвард Тафти — профессор статистики Йельского университета, специалист по информационному дизайну. Прим. ред.
Современные средства визуализации
Инструменты визуализации эволюционировали так сильно, что многие люди не осознают всех существующих возможностей. Такие инструменты, как Tableau, JMP, Advizor и Spotfire помогают профессиональным аналитикам и бизнес-пользователям выйти за пределы графики, которая просто иллюстрирует уже разработанную историю. Инструменты визуализации позволяют пользователю разработать новую историю, используя интерактивную визуальную парадигму.
Сегодняшние инструменты визуализации позволяют создать несколько вкладок с графиками и диаграммами, связанных с исходными данными. Еще более важно то, что вкладки, графики и диаграммы могут быть связаны друг с другом. Если пользователь щелкнет по столбику для северо-восточного региона, все остальные графики мгновенно скорректируются и будут отображать данные, относящиеся к этой области.
Эти новые инструменты можно представить как продвинутое программное обеспечение для создания презентаций и электронных таблиц. Мало того что некоторые инструменты визуализации имеют такие же функции манипулирования данными, как и электронные таблицы, — они также обладают возможностями создания графиков, соперничающими с функциями приложений для создания презентаций или даже превосходящими их. Теперь добавьте к этому возможности подключения к большим базам данных, использования визуальных средств и углубленного изучения данных. В результате получается нечто очень мощное.
Основная предпосылка визуализации данных состоит в том, что очень трудно бывает разобраться в больших таблицах или наборах чисел и выявить тенденции. Гораздо легче увидеть тенденции, если используется подходящее визуальное представление. Некоторые визуализации, например графики, отображающие данные социальных сетей, передают информацию, которую было бы практически невозможно понять или описать без визуализации.
Только представьте себе попытку доходчиво объяснить человеку, как на карте расположены страны. Когда у вас перед глазами есть карта, вы точно знаете, как страны располагаются друг относительно друга. Очень сложно было бы придумать даже очень объемное объяснение, которое могло бы сравниться с картой по информативности и ясности.
Появилась новая идея аналитики с погружением (immersive intelligence), которая пока еще недоступна в коммерческих инструментах. Она подразумевает использование возможностей трехмерной графики, онлайн-миров вроде Second Life и сложных визуальных инструментов (например, тех, что используются в области генетических исследований). Эти технологии применяются для интерактивного представления данных. Будет ли возможна навигация по данным в интерактивной трехмерной среде для получения новых ценных сведений? Время покажет.
Не говорите — лучше один раз увидеть
Человеческий мозг очень хорошо интерпретирует визуальную информацию. Эффективная визуализация может помочь легко распознать закономерность или тенденцию. Глядя на традиционные электронные таблицы или отчеты, бывает сложно увидеть то, что вы ищете, и легко упустить важные взаимосвязи. Рисунок в виде эффективной визуализации данных может сказать больше, чем тысяча слов.
Визуализация помогает буквально увидеть новые идеи, которые иначе было бы невозможно обнаружить. Профессиональные аналитики в настоящее время используют эти инструменты для разработки аналитических процессов и исследования данных; некоторые специалисты прибегают к средствам визуализации исключительно для создания графики и презентаций. Эти инструменты гораздо быстрее и надежнее, чем традиционные графические. Кроме того, если во время презентации кто-то задает вопрос, можно, произведя анализ, получить ответ прямо в процессе представления, и не нужно обещать создать новый график и прислать его следующим утром. Любой организации, желающей укротить большие данные, следует рассмотреть вопрос о включении средств визуализации в свои наборы инструментов.
Важность визуализации для передовой аналитики
Профессиональному аналитику постоянно приходится объяснять сложные аналитические выводы деловым людям, не имеющим технической подготовки. Методы, которые позволяют делать это более эффективно, следует использовать. Визуализация данных относится именно к этой категории. Зачем вдаваться во все детали логистической регрессии, если можно этого не делать? Включение всех оценок параметров, децилей и статистики оценки модели излишне, если простой график прироста скажет бизнес-спонсору все, что ему нужно знать. Подробности пригодятся в качестве резерва, однако бизнес-спонсоров не должны заботить технические детали. Они доверяют заботу о них своим аналитикам.
Немногие люди предпочтут увидеть длинный список бизнес-правил вместо наглядного дерева решений. Что если казино или розничному магазину необходимо определить самые оживленные области? Можно создать множество таблиц, разложить их на столе и попытаться в уме найти закономерности. А можно сделать тепловую карту пола казино или магазина, где цвет обозначает уровень активности. Ответ на поставленный вопрос будет очевиден сразу.
Важно впечатление, а не внешние эффекты
Важно, чтобы визуализация сразу делала идею очевидной. Слишком многие люди увязают в изощренной графике только потому, что могут себе это позволить. Простота — наилучший вариант. Эффектность или сложность должны быть оправданны.
Обратите внимание, что мы не говорим здесь о графике ради графики. Многие люди используют чрезмерную или слишком сложную графику только потому, что ее легко создать. Трехмерная столбиковая диаграмма не добавляет какой-либо аналитической ценности по сравнению с двумерной и может даже усложнить восприятие. Внимание должно быть сосредоточено на эффективной впечатляющей визуализации, которая помогает более четко проиллюстрировать идею. Красивая графика, которая не служит никакой цели, может отвлекать от основной мысли и приводить к путанице.
В одних случаях бывает достаточно простой таблицы. В других уместная визуализация может помочь аудитории гораздо лучше осмыслить идею. Вспомните пример с картой. Если аналитики понимают, как эффективно визуализировать данные и результаты, это поможет им стать более эффективными и успешными в своей работе. Средства визуализации только начинают оказывать влияние. В дальнейшем они будут использоваться все чаще в процессе анализа и представления его результатов.
Новые данные важнее новых инструментов и методов
Новые входные данные будут сильнее влиять на модель, чем новый инструмент или метод. Добавление новых данных в традиционный процесс обеспечит больший эффект, чем применение новых инструментов и методов к старым данным. Вот почему важно учиться работать с большими данными, а не просто обновлять методы работы с тем, что у вас есть.
Укрощение больших данных: как извлекать знания из массивов информации с помощью глубокой аналитики / Билл Фрэнкс. - М.: МИФ, 2014. Опубликовано с разрешения издательства