Методы интеллектуального анализа данных

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

Мартин Браун (Martin C. Brown) , Внештатный автор и консультант компании MCslp, Свободный писатель

Мартин Браун – бывший руководитель IT подразделения с опытом работы в области межплатформенной интеграции. Обладая большим опытом разработчика, он создал динамические сайты для множества крупных клиентов, включая HP и Oracle, и на данный момент является техническим директором ресурса Foodware.net. В настоящее время Мартин в качестве внештатного автора и консультанта сотрудничает с корпорацией Microsoft, работает редактором (LAMP Technologies Editor) журнала LinuxWorld, является видным членом группы AnswerSquad.com. Его перу принадлежат книги на совершенно разные темы: от сертификации Microsoft, компьютеры iMac до программирования открытого исходного кода. При всем этом он продолжает плодотворно работать в области программирования для разных платформ и сред. Связаться с Мартином можно посредством его персонального Web-сайта по адресу http://www.mcslp.com.



01.02.2013

Интеллектуальный анализ данных как процесс

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

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

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

Рисунок 1. Схема процесса
Схема процесса

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


Инструменты интеллектуального анализа данных

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

Например, IBM SPSS®, который уходит корнями в статистический анализ и опросы, позволяет строить эффективные прогностические модели по прошлым тенденциям и давать точные прогнозы. IBM InfoSphere® Warehouse обеспечивает в одном пакете поиск источников данных, предварительную обработку и интеллектуальный анализ, позволяя извлекать информацию из исходной базы прямо в итоговый отчет.

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

Можно анализировать самые разные наборы данных, включая традиционные базы данных SQL, необработанные текстовые данные, наборы "ключ/значение" и документальные базы. Кластерные базы данных, такие как Hadoop, Cassandra, CouchDB и Couchbase Server, хранят и предоставляют доступ к данным такими способами, которые не соответствуют традиционной табличной структуре.

В частности, более гибкий формат хранения базы документов придает обработке информации новую направленность и усложняет ее. Базы данных SQL строго регламентируют структуру и жестко придерживаются схемы, что упрощает запросы к ним и анализ данных с известными форматом и структурой.

Документальные базы данных, которые соответствуют стандартной структуре типа JSON, или файлы с некоторой машиночитаемой структурой тоже легко обрабатывать, хотя дело может осложняться разнообразной и переменчивой структурой. Например, в Hadoop, который обрабатывает совершенно "сырые" данные, может быть трудно выявить и извлечь информацию до начала ее обработки и сопоставления.


Основные методы

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

Рассмотрим некоторые ключевые методы и примеры того, как использовать те или иные инструменты для интеллектуального анализа данных.

Ассоциация

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

Создать инструменты интеллектуального анализа данных на базе ассоциаций или отношений нетрудно. Например, в InfoSphere Warehouse есть мастер, который выдает конфигурации информационных потоков для создания ассоциаций, исследуя источник входной информации, базис принятия решений и выходную информацию. На рисунке 2 приведен соответствующий пример для образца базы данных.

Рисунок 2. Информационный поток, используемый при подходе ассоциации
Информационный поток, используемый при подходе ассоциации

Классификация

Классификацию можно использовать для получения представления о типе покупателей, товаров или объектов, описывая несколько атрибутов для идентификации определенного класса. Например, автомобили легко классифицировать по типу (седан, внедорожник, кабриолет), определив различные атрибуты (количество мест, форма кузова, ведущие колеса). Изучая новый автомобиль, можно отнести его к определенному классу, сравнивая атрибуты с известным определением. Те же принципы можно применить и к покупателям, например, классифицируя их по возрасту и социальной группе.

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

Кластеризация

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

Метод кластеризации работает в обе стороны. Можно предположить, что в определенной точке имеется кластер, а затем использовать свои критерии идентификации, чтобы проверить это. График, изображенный на рисунке 3, демонстрирует наглядный пример. Здесь возраст покупателя сравнивается со стоимостью покупки. Разумно ожидать, что люди в возрасте от двадцати до тридцати лет (до вступления в брак и появления детей), а также в 50-60 лет (когда дети покинули дом) имеют более высокий располагаемый доход.

Рисунок 3. Кластеризация
Кластеризация

В этом примере видны два кластера, один в районе $2000/20-30 лет и другой в районе $7000-8000/50-65 лет. В данном случае мы выдвинули гипотезу и проверили ее на простом графике, который можно построить с помощью любого подходящего ПО для построения графиков. Для более сложных комбинаций требуется полный аналитический пакет, особенно если нужно автоматически основывать решения на информации о ближайшем соседе.

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

Метод кластеризации можно применить и в обратную сторону: учитывая определенные входные атрибуты, выявлять различные артефакты. Например, недавнее исследование четырехзначных PIN-кодов выявили кластеры чисел в диапазонах 1-12 и 1-31 для первой и второй пар. Изобразив эти пары на графике, можно увидеть кластеры, связанные с датами (дни рождения, юбилеи).

Прогнозирование

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

Например, используя данные по авторизации кредитных карт, можно объединить анализ дерева решений прошлых транзакций человека с классификацией и сопоставлением с историческими моделями в целях выявления мошеннических транзакций. Если покупка авиабилетов в США совпадает с транзакциями в США, то вполне вероятно, что эти транзакции подлинны.

Последовательные модели

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

Деревья решений

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

На рисунке 4 приведен пример классификации неисправных состояний.

Рисунок 4. Дерево решений
Дерево решений

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

Комбинации

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

Обработка с запоминанием

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

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

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


Получение и подготовка данных

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

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

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

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

Рисунок 5. Подготовка данных
Подготовка данных

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

Опора на SQL

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

При работе с InfoSphere Warehouse создание поведенческо-демографической модели в целях анализа данных о покупателях для понимания моделей их поведения предусматривает использование исходных данных SQL, основанных на информации о транзакциях, и известных параметров покупателей с организацией этой информации в заранее определенную табличную структуру. Затем InfoSphere Warehouse может использовать эту информацию для интеллектуального анализа данных методом кластеризации и классификации с целью получения нужного результата. Демографические данные о покупателях и данные о транзакциях можно скомбинировать, а затем преобразовать в формат, который допускает анализ определенных данных, как показано на рисунке 6.

Рисунок 6. Специальный формат анализа данных
Специальный формат анализа данных

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

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

В таблице 1 приведен пример расширения информации.

Таблица 1. Расширенная таблица товаров
product_idproduct_nameproduct_groupproduct_type
101Клубника неупакованнаяКлубникаФрукты
102Клубника в коробкахКлубникаФрукты
110Бананы неупакованныеБананыФрукты

Документальные базы данных и MapReduce

Обработка с помощью функции MapReduce многих современных документальных и NoSQL баз данных, таких как Hadoop, нацелена на очень большие наборы данных и информацию, которая не всегда соответствует табличному формату. При работе с программным обеспечением интеллектуального анализа данных эта система может принести пользу ― и вызвать проблемы.

Основная проблема данных на основе документов ― это неструктурированный формат, который может потребовать дополнительной обработки. Много различных записей могут содержать аналогичные данные. Сбор и согласование этой информации в целях упрощения ее обработки зависит от этапов подготовки и применения MapReduce.

В системе, основанной на MapReduce, на этапе преобразования исходные данные нормализуются ― приводятся к стандартной форме. Этот шаг может быть относительно простым (определение ключевых полей или точек данных) или сложным (анализ и обработка информации для создания выборки данных). В процессе преобразования данные приводятся к стандартизированному формату, который можно использовать в качестве базы.

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

Запросы к этим данным часто бывают сложными ― даже при использовании специализированных инструментов. Идеальный подход к интеллектуальному анализу данных заключается в использовании этапа MapReduce в рамках подготовки данных.

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

Рисунок 7. Структура MapReduce
Структура MapReduce

В предыдущем примере мы выполнили обработку (в данном случае посредством MapReduce) исходных данных в документальной базе данных и преобразовали ее в табличный формат в базе данных SQL для целей интеллектуального анализа данных.

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

Рисунок 8. Последовательная цепочка вывода результатов обработки MapReduce
Последовательная цепочка вывода результатов обработки MapReduce

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

Независимо от исходных данных, многие инструменты могут использовать неструктурированные файлы, CSV или другие источники данных. Например, InfoSphere Warehouse в дополнение к прямой связи с хранилищем данных DB2 может анализировать неструктурированные файлы.


Заключение

Интеллектуальный анализ данных — это не только выполнение некоторых сложных запросов к данным, хранящимся в базе данных. Независимо от того, используете ли вы SQL, базы данных на основе документов, такие как Hadoop, или простые неструктурированные файлы, необходимо работать с данными, форматировать или реструктурировать их. Требуется определить формат информации, на котором будет основываться ваш метод и анализ. Затем, когда информация находится в нужном формате, можно применять различные методы (по отдельности или в совокупности), не зависящие от требуемой базовой структуры данных или набора данных.

Ресурсы

Научиться

Получить продукты и технологии

  • Hadoop поддерживает некоторые структуры NoSQL, такие как бессхемный формат, и возможность использования MapReduce для обработки хранимых данных.
  • InfoSphere Warehouse: полный набор инструментов для создания и анализа данных, поддерживающий многие методы интеллектуального анализа данных.
  • WEKA: инструментарий на базе Java™, который поддерживает различные алгоритмы интеллектуального анализа данных и статистические алгоритмы.
  • SPSS: статистический пакет с мощными средствами прогностического анализа.
  • Hadoop: обеспечивает мощные функции MapReduce.
  • Couchbase Server: документальная база данных NoSQL с поддержкой функции MapReduce на основе запросов и индексации.

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management, Open source
ArticleID=857088
ArticleTitle=Методы интеллектуального анализа данных
publish-date=02012013