Технологии интеллектуального анализа данных
Объем данных в организациях настолько возрос, что привел к увеличению массива знаний, который выходит за рамки экономической ценности и практической применимости. Это дало толчок к развитию информационных технологий, появлению интеллектуальных технологий анализа деловых данных, аналитических систем и систем интеллектуальной поддержки принятия решений на их базе. Новые ИТ позволили найти нетривиальные подходы к автоматизации управленческого труда и отказаться от старых методов управления.
Технологии интеллектуального анализа данных обеспечивают формирование аналитических данных посредством выполнения операции очищения данных локальных баз организации, применения статистических методов и других сложных алгоритмов. Появлению аналитических систем способствовало осознание руководящим звеном предприятий факта, что в базах данных содержится не только информация, но и знания (скрытые закономерности). Последние позволяют охарактеризовать процесс управления предприятием и дать интеллектуальную информацию для более обоснованного принятия решений.
Можно выделить следующие технологии интеллектуального анализа данных:
· оперативный анализ данных посредством 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 описана в теме «Технологии систем электронного документооборота».
Для интеллектуального анализа текстовой информации разработаны структурные аналитические технологии (САТ).Они ориентированы на углубленную обработку неструктурированной информации. Реализуют уникальную способность человека интерпретировать (толковать) содержание текстовой информации и устанавливать связи между фрагментами текста. САТ реализованы на базе гипертекстовой технологии, лингвистических процессоров, семантических сетей.
Структурные аналитические технологии предназначены для решения разнообразных задач аналитического характера на основе структуризации предварительно отобранной текстовой информации. Являются инструментом создания аналитических докладов, отчетов, статей, заметок для использования в информационно-аналитических службах организаций, отраслей, государственного управления, СМИ и т.д.