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

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

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

Можно выделить следующие технологии интеллектуального анализа данных:

· оперативный анализ данных посредством OLAP-систем;

· поиск и интеллектуальный выбор данных Data Mining;

· деловые интеллектуальные технологии BIS;

· интеллектуальный анализ текстовой информации.

Аналитические системы OLAP(On-Line Analytical Processing) предназначены для анализа больших объемов информации в интерактивном режиме для создания ин­теллектуального капитала (аналитических данных), позволяющего руководителю при­нять обоснованное решение. Они обеспечивают:

· агрегирование и детализацию данных по запросу.

· выдачу данных в терминах предметной области.

· анализ деловой информации по множеству параметров (например, поставщик, его местоположение, поставляемый товар, цены, сроки поставки и т.д.).

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

· произвольные срезы данных по наименованию, выбираемых из разных внутрен­них и внешних источников (например, по наименованию товара).

· выполнение аналитических операций с использованием статистических и других методов.

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

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

Концепция технологии OLAP была сформулирована Эдгаром Коддом в 1993 году. Она стала ключевым компонентом организации данных в информационных хранилищах и их применении. Эта технология основана на построении многомер­ных наборов данных - OLAP-кубов. Целью использования технологий OLAP являет­ся анализ данных и представление этого анализа в виде, удобном для восприятия управленческим персоналом и принятия на их основе решений.

Основные требования, предъявляемые к приложениям для многомерного анализа:

· предоставление пользователю результатов анализа за приемлемое время (не бо­лее 5 сек.);

· осуществление логического и статистического анализа, его сохранение и отобра­жение в доступном для пользователя виде;

· многопользовательский доступ к данным;

· многомерное представление данных;

· возможность обращаться к любой информации независимо от места ее хранения и объема.

Аналитические данные содержат факты и агрегатные данные.

Факт- это число, значение. Над фактами производятся различные операции: суммирование, группировка, вычисление средних, максимальных, минимальных значе­ний для получения агрегатных данных.

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

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

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

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

Мы будем использовать для иллюстрации принципов OLAP базу данных Northwind, входящую в комплекты поставки Microsoft SQL Server и представляющую собой типичную базу данных, хранящую сведения о торговых операциях компании, занимающейся оптовыми поставками продовольствия. К таким данным относятся сведения о поставщиках, клиентах, список поставляемых товаров и их категорий, данные о заказах и заказанных товарах, список сотрудников компании.

Возьмем для примера таблицу Invoices1, которая содержит заказы фирмы. Поля в данной таблице будут следующие:

· Дата Заказа

· Страна

· Город

· Название заказчика

· Компания-доставщик

· Название товара

· Количество товара

· Сумма заказа.

Какие агрегатные данные мы можем получить на основе этого представления? Обычно это ответы на вопросы типа:

· Какова суммарная стоимость заказов, сделанных клиентами из определенной страны?

· Какова суммарная стоимость заказов, сделанных клиентами из определенной страны и доставленных определенной компанией?

· Какова суммарная стоимость заказов, сделанных клиентами из определенной страны в заданном году и доставленных определенной компанией?

Все эти данные можно получить из этой таблицы вполне очевидными SQL-запросами с группировкой.

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

Представим себе, что нам надо получить информацию по суммарной стоимости заказов из всех стран и их распределение по компаниям доставщиков – мы получим уже таблицу (матрицу) из чисел, где в заголовках колонок будут перечислены доставщики, в заголовках строк – страны, а в ячейках будет сумма заказов. Это – двумерный массив данных. Такой набор данных называется сводной таблицей (pivot table) или кросс-таблицей.

Если же нам захочется получить те же данные, но еще в разрезе годов, тогда появится еще одно изменение, т.е. набор данных станет трехмерным (условным тензором 3-го порядка или 3-х мерным «кубом»).

Очевидно, что максимальное количество измерений – это количество всех атрибутов (Дата, Страна, Заказчик и т.д.), описывающих наши агрегируемые данные (сумму заказов, количество товаров и т.п).

Так мы приходим к понятию многомерности и его воплощению – многомерному кубу. Такая таблица будет у нас называться «таблицей фактов». Измерения или Оси куба (dimensions) – это атрибуты, координаты которых – выражаются индивидуальными значениями этих атрибутов, присутствующих в таблице фактов. Т.е. например, если информация о заказах велась в системе с 2003 по 2014 год, то эта ось годов будет состоять из 12 соответствующих точек. Если заказы приходят из трех стран, то ось стран будет содержать 3 точки и т.д. Независимо от того, сколько стран заложено в справочнике Стран. Точки на оси называются ее «членами» (Members).

Сами агрегируемые данные в данном случае буду назваться «мерами» (Measure). Чтобы избежать путаницы с «измерениями», последние предпочтительней называть «осями». Набор мер образует еще одну ось «Меры» (Measures). В ней столько членов (точек), сколько мер (агрегируемых столбцов) в таблице фактов.

Члены измерений или осей могут быть объединены одной или несколькими иерархиями (hierarchy). Что такое иерархия, поясним на примере: города из заказов могут быть объединены в районы, районы в области, области страны, страны в континенты или другие образования. Т.е. налицо иерархическая структура – континент-страна-область-район-город – 5 уровней (Level). Для района данные агрегируются по всем городам, которые в него входят. Для области по всем районам, которые содержат все города и т.п. Зачем нужно несколько иерархий? Например, по оси с датой заказа мы можем хотеть группировать точки (т.е. дни) по иерархии Год-Месяц-День или по Год-Неделя-День: в обоих случаях по три уровня. Очевидно, что Неделя и Месяц по-разному группируют дни. Бывают также иерархии, количество уровней в которых не детерминировано и зависит от данных. Например, папки на компьютерном диске.

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

Как исходные, так и агрегатные данные могут храниться либо в реляционных, либо в многомерных базах данных MDD (MultiDimensional Data). В настоящее время применяются три способа хранения многомерных баз данных:

· Системы оперативной аналитической обработки многомерных баз данных MOLAP (Multidimensional OLAP) - исходные и агрегатные данные хранятся в многомер­ной базе данных. Многомерные базы данных представляют собой гиперкубы или поли­кубы. В гиперкубах все измерения имеют одинаковую размерность. В поликубе каждое измерение имеет свою размерность. Многомерная база данных оказывается избыточной, так как она полностью содержит исходные данные реляционных баз.

· Системы оперативной аналитической обработки реляционных баз данных ROLAP (Relational OLAP) - исходные данные остаются в реляционной базе, агрегатные данные размещаются в кэш той же базы.

· Гибридные системы оперативной аналитической обработки данных HOLAP (Hybrid OLAP) - исходные данные остаются в реляционной базе, а агрегатные данные хранятся в многомерной базе данных (MDD).

Многомерный анализ данных может быть произведен посредством клиентских приложений и серверных OLAP-систем.

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

Примерами клиентских приложений, содержащими OLAP-средства, являются приложения статистической обработки данных SEWSS (Statistic Enterprise - Wide SPS System) фирмы StatSoft и MS Excel 2003, 2007, 2010, 2013. Excel позволяет создать и сохранить небольшой локальный многомерный OLAP-куб и отобразить его двух- или трехмерные сечения (разреза).

Многие средства проектирования позволяют создавать простейшие OLAP-средства. Например, Borland Delphi и Borland C++ Builder.

Отметим, что клиентские приложения применяются при малом числе измерений (не более шести) и небольшом разнообразии значений этих измерений.

Серверные OLAP-системыразвили идею сохранения кэш с агрегатными данными.

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

Применение OLAP-серверов сокращает трафик сети, время обслуживания запро­сов, сокращает требования к ресурсам клиентских приложений.

В масштабе предприятия обычно используются OLAP-серверы типа Oracle Express Server, MS SQL Server 2000 Analysis Services и др.

Заметим, что MS Excel позволяет делать запросы к OLAP-серверам.

Серверные OLAP-системы на базе информационных хранилищ поддерживают все три способы хранения данных.

Аналитическая система обеспечивает выдачу агрегатных данных по запросам клиентов. Сложность аналитических систем вызвана реализацией сложных интеллекту­альных запросов. Интеллектуальные запросыосуществляют поиск по условию или алго­ритму вычисления ответа. Например, выбрать для выпуска изделия, приносящие макси­мальную прибыль. Само условие может доопределяться в ходе формирования ответа, что усложняет алгоритм формирования ответа. Данные для формирования ответа могут на­ходиться в разных внутренних и внешних базах. Существующий язык запросов SQL рас­ширяется возможностью построения интеллектуальных запросов. Пример такого запроса - сравнить данные о продажах в конкретные месяцы, но разные годы. Для таких запросов используются непроцедурные языки обращения к многомерным базам данных. Приме­ром такого языка запросов является язык MDX (Multidimensional Expressions). Он позво­ляет формировать запрос и описывать алгоритм вычислений. Язык SQL используется для извлечения данных из локальных баз. Язык MDX служит для извлечения данных из мно­гомерных баз и информационных хранилищ.

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

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

В соответствии с определением Gartner, бизнес-анализ (BI, Business Intelligence) - это категория приложений и технологий для сбора, хранения, анализа и публикации данных, позволяющая корпоративным пользователям принимать лучшие решения. В русскоязычной терминологии подобные системы называются также системами поддержки принятия решений (СППР).

Рис.27. Архитектура СППР

Сбор и хранение информации, а также решение задач информационно-поискового запроса эффективно реализуются средствами систем управления базами данных (СУБД). В OLTP (Online Transaction Processing)-подсистемах реализуется транзакционная обработка данных. Непосредственно OLTP-системы не подходят для полноценного анализа информации в силу противоречивости требований, предъявляемых к OLTP-системам и СППР.

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

Поэтому для объединения в одной системе OLTP и СППР для реализации подсистемы хранения используются концепция хранилищ данных (ХД). В основе концепции ХД лежит идея разделения данных, используемых для оперативной обработки и для решения задач анализа, что позволяет оптимизировать структуры хранения. ХД позволяет интегрировать ранее разъединенные детализированные данные, содержащиеся в исторических архивах, накапливаемых в традиционных OLTP-системах, поступающих из внешних источников, в единую базу данных, осуществляя их предварительное согласование и, возможно, агрегацию.

Подсистема анализа может быть построена на основе:

· подсистемы информационно-поискового анализа на базе реляционных СУБД и статических запросов с использованием языка SQL;

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

· подсистемы интеллектуального анализа, реализующие методы и алгоритмы Data Mining.

Примером OLAP-систем является Brio Query Enterprise корпорации Brio Technology. OLAP-средства включают в свои системы фирмы 1С, Парус и др.

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

· Поиск зависимых данных (реализацию интеллектуальных запросов);

· Выявление устойчивых бизнес-групп (выявление групп объектов, близких по за­данным критериям);

· Ранжирование важности измерений при классификации объектов для проведе­ния анализа (страна, город, район, поставщик);

· Прогнозирование бизнес-показателей (например, ожидаемые продажи, спрос);

· Оценка влияния принимаемых решений на достижение успеха предприятия;

· Поиск аномалий и т.д.

Технологии Data Mining позволяют наблюдать за текущей информациейс целью поиска отклонений, тенденций без вникания в смысл самих данных. Их используют, на­пример, для оценки поведения покупателей, чтобы внести изменения рекламную такти­ку, для корректировки выпуска продукции, изменения ценовой политики и т.д.

Интеллектуальные деловые технологии BIS(Business Intelligence Services) преоб­разуют информацию из внутренних и внешних баз в интеллектуальный капитал (анали­тические данные). Главными задачами систем интеллектуального выбора данных является поиск функциональных и логических закономерностей в накопленных данных для под­сказки обоснованных управленческих решений. Они основаны на применении технологий информационного хранилища и алгоритмов автоматизации деловых процессов (Workflow). Аналитические данные предоставляются руководству всех уровней и работни­кам аналитических служб организации по запросам в удобном виде.

Технология BIS описана в теме «Технологии систем электронного документооборота».

Для интеллектуального анализа текстовой информации разработаны струк­турные аналитические технологии (САТ).Они ориентированы на углубленную обра­ботку неструктурированной информации. Реализуют уникальную способность человека интерпретировать (толковать) содержание текстовой информации и устанавливать связи между фрагментами текста. САТ реализованы на базе гипертекстовой технологии, лин­гвистических процессоров, семантических сетей.

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