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

ПРОВЕРКА ДОСТОВЕРНОСТИ ИНФОРМАЦИИ

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

Процесс проверки включает несколько этапов :

1) счетная проверка (проверка соответствия данных путем составления оборотных ведомостей, таблиц счетной проверки);

2) встречная проверка (сопоставление информации, полученной из разных источников);

3) логическая проверка (аналитик выясняет с учетом сложившейся экономической ситуации насколько можно доверять данным внутренней и внешней информации);

4) корректировка (внесение корректировок в стоимость имущества, балансовой прибыли, размеров собственного капитала и амортизации);

Все вносимые корректировки должны быть обоснованными и объективными.

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

Аналитическая обработка информации включает:

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

Показатели группируются по:

- способу исчисления (абсолютные и относительные);

- применяемым измерителям (натуральные, стоимостные, трудовые и др.);

- получаемым характеристикам (количественные, качественные);

- степени обобщения (обобщающие, частные);

- охватываемому периоду (статики, динамики);

- отношению к деятельности предприятия (объективные, субъективные);

- слагаемым эффективности (производительность, фондоотдача, качество продукции, материалоотдача);

- стадиям жизненного цикла (проектирование, производство, материальное обеспечение, реализация, эксплуатация).

2) обобщение информации:

а) составление аналитических таблиц ;

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

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

б) графическое отображение информации;

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

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

в) сравнение – сопоставление однородных объектов с целью выявления их сходства или различий (более подробно рассмотрим далее);

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

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

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

4. Классификация OLAP-продуктов.

5. Принципы работы OLAP-клиентов.

7. Сферы применения OLAP-технологий.

8. Пример использования OLAP-технологий для анализа в сфере продаж.

1. Место OLAP в информационной структуре предприятия.

Термин "OLAP" неразрывно связан с термином "хранилище данных" (Data Warehouse).

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

Задача хранилища - предоставить "сырье" для анализа в одном месте и в простой, понятной структуре.

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

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

Централизация и удобное структурирование - это далеко не все, что нужно аналитику. Ему ведь еще требуется инструмент для просмотра, визуализации информации. Традиционные отчеты, даже построенные на основе единого хранилища, лишены одного - гибкости. Их нельзя "покрутить", "развернуть" или "свернуть", чтобы получить желаемое представление данных. Вот бы ему такой инструмент, который позволил бы разворачивать и сворачивать данные просто и удобно! В качестве такого инструмента и выступает OLAP.

Хотя OLAP и не представляет собой необходимый атрибут хранилища данных, он все чаще и чаще применяется для анализа накопленных в этом хранилище сведений.

Место OLAP в информационной структуре предприятия (рис. 1).

Рисунок 1 . Место OLAP в информационной структуре предприятия

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

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

2. Оперативная аналитическая обработка данных.

В основе концепции OLAP лежит принцип многомерного представления данных. В 1993 году E. F. Codd рассмотрел недостатки реляционной модели, в первую очередь, указав на невозможность "объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом", и определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

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

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

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

Операция спуска (drilling down) соответствует движению от высших ступеней консолидации к низшим; напротив, операция подъема (rolling up) означает движение от низших уровней к высшим (рис. 2).


Рисунок 2. Измерения и направления консолидации данных

3. Требования к средствам оперативной аналитической обработки.

Многомерный подход возник практически одновременно и параллельно с реляционным. Однако, только начиная с середины девяностых годов, а точнее с
1993 г., интерес к МСУБД начал приобретать всеобщий характер. Именно в этом году появилась новая программная статья одного из основоположников реляционного подхода Э. Кодда , в которой он сформулировал 12 основных требований к средствам реализации OLAP (табл. 1).

Таблица 1.

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

Средства должны поддерживать многомерный на концептуальном уровне взгляд на данные.

Прозрачность

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

Доступность

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

Согласованная производительность

Производительность практически не должна зависеть от количества Измерений в запросе.

Поддержка архитектуры клиент-сервер

Средства должны работать в архитектуре клиент-сервер.

Равноправность всех измерений

Ни одно из измерений не должно быть базовым, все они должны быть равноправными (симметричными).

Динамическая обработка разреженных матриц

Неопределенные значения должны храниться и обрабатываться наиболее эффективным способом.

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

Средства должны обеспечивать возможность работать более чем одному пользователю.

Поддержка операций на основе различных измерений

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

Простота манипулирования данными

Средства должны иметь максимально удобный, естественный и комфортный пользовательский интерфейс.

Развитые средства представления данных

Средства должны поддерживать различные способы визуализации (представления) данных.

Неограниченное число измерений и уровней агрегации данных

Не должно быть ограничений на число поддерживаемых Измерений.

Правила оценки программных продуктов класса OLAP

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

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

Помнить 12 правил Кодда слишком обременительно для большинства людей. Оказались, что можно резюмировать OLAP-определение только пятью ключевыми словами: Быстрый Анализ Разделяемой Многомерной Информации - или, кратко - FASMI (в переводе с английского: F ast A nalysis of S hared M ultidimensional I nformation).

Это определение впервые было сформулировано в начале 1995 года и с тех пор не нуждалось в пересмотре.

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

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

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

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

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

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

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

Тест FASMI - разумное и понятное определение целей, на достижение которых ориентированы OLAP.

4. Классификация OLAP -продуктов.

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

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

Классификация по способу хранения данных

Многомерные кубы строятся на основе исходных и агрегатных данных. И исходные и агрегатные данные для кубов могут храниться как в реляционных, так и многомерных базах данных. Поэтому в настоящее время применяются три способа хранения данных: MOLAP (Multidimensional OLAP), ROLAP (Relational OLAP) и HOLAP (Hybrid OLAP ). Соответственно, OLAP -продукты по способу хранения данных делятся на три аналогичные категории:

1. В случае MOLAP , исходные и агрегатные данные хранятся в многомерной БД или в многомерном локальном кубе.

2. В ROLAP -продуктах исходные данные хранятся в реляционных БД или в плоских локальных таблицах на файл-сервере. Агрегатные данные могут помещаться в служебные таблицы в той же БД. Преобразование данных из реляционной БД в многомерные кубы происходит по запросу OLAP -средства.

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

Классификация по месту размещения OLAP -машины.

По этому признаку OLAP -продукты делятся на OLAP -серверы и OLAP -клиенты:

· В серверных OLAP -средствах вычисления и хранение агрегатных данных выполняются отдельным процессом - сервером. Клиентское приложение получает только результаты запросов к многомерным кубам, которые хранятся на сервере. Некоторые OLAP -серверы поддерживают хранение данных только в реляционных базах, некоторые - только в многомерных. Многие современные OLAP -серверы поддерживают все три способа хранения данных: MOLAP , ROLAP и HOLAP .

MOLAP.

MOLAP - это Multidimensional On-Line Analytical Processing, то есть Многомерный OLAP. Это означает, что сервер для хранения данных использует многомерную базу данных (МБД). Смысл использования МБД очевиден. Она может эффективно хранить многомерные по своей природе данные, обеспечивая средства быстрого обслуживания запросов к базе данных. Данные передаются от источника данных в многомерную базу данных, а затем база данных подвергается агрегации. Предварительный расчет - это то, что ускоряет OLAP-запросы, поскольку расчет сводных данных уже произведен. Время запроса становится функцией исключительно времени, необходимого для доступа к отдельному фрагменту данных и выполнения расчета. Этот метод поддерживает концепцию, согласно которой работа производится единожды, а результаты затем используются снова и снова. Многомерные базы данных являются относительно новой технологией. Использование МБД имеет те же недостатки, что и большинство новых технологий. А именно - они не так устойчивы, как реляционные базы данных (РБД), и в той же мере не оптимизированы. Другое слабое место МБД заключается в невозможности использовать большинство многомерных баз в процессе агрегации данных, поэтому требуется время для того, чтобы новая информация стала доступна для анализа.

ROLAP.

ROLAP - это Relational On-Line Analytical Processing, то есть Реляционный OLAP. Термин ROLAP обозначает, что OLAP-сервер базируется на реляционной базе данных. Исходные данные вводятся в реляционную базу данных, обычно по схеме "звезда" или схеме "снежинка", что способствует сокращению времени извлечения. Сервер обеспечивает многомерную модель данных с помощью оптимизированных SQL-запросов.

Существует ряд причин для выбора именно реляционной, а не многомерной базы данных. РБД - это хорошо отработанная технология, имеющая множество возможностей для оптимизации. Использование в реальных условиях дало в результате более проработанный продукт. К тому же, РБД поддерживают более крупные объемы данных, чем МБД. Они как раз и спроектированы для таких объемов. Основным аргументом против РБД является сложность запросов, необходимых для получения информации из большой базы данных с помощью SQL. Неопытный SQL-программист мог бы с легкостью обременить ценные системные ресурсы попытками выполнить какой-нибудь подобный запрос, который в МБД выполняется гораздо проще.

Агрегированные/Предварительно агрегированные данные.

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

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

· OLAP -клиент устроен по-другому. Построение многомерного куба и OLAP -вычисления выполняются в памяти клиентского компьютера. OLAP -клиенты также делятся на ROLAP и MOLAP . А некоторые могут поддерживать оба варианта доступа к данным.

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

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

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

OLAP-клиент предоставляет единый визуальный интерфейс для описания кубов и настройки к ним пользовательских интерфейсов.

Итак, в каких случаях применение OLAP-клиента для пользователей может оказаться эффективнее и выгоднее использования OLAP-сервера?

· Экономическая целесообразность применения OLAP -сервера возникает, когда объемы данных очень велики и непосильны для OLAP -клиента, иначе более оправдано применение последнего. В этом случае OLAP -клиент сочетает в себе высокие характеристики производительности и низкую стоимость.

· Мощные ПК аналитиков – еще один довод в пользу OLAP -клиентов. При применении OLAP -сервера эти мощности не используются.

Среди преимуществ OLAP-клиентов можно также назвать следующее:

· Затраты на внедрение и сопровождение OLAP -клиента существенно ниже, чем затраты на OLAP -сервер.

· При использовании OLAP -клиента со встроенной машиной передача данных по сети производится один раз. При выполнении OLAP -операций новых потоков данных не порождается.

5. Принципы работы OLAP -клиентов.

Рассмотрим процесс создания OLAP-приложения с помощью клиентского инструментального средства (рис. 1).

Рисунок 1. Создание OLAP-приложения с помощью клиентского ROLAP-средства

Принцип работы ROLAP-клиентов – предварительное описание семантического слоя, за которым скрывается физическая структура исходных данных. При этом источниками данных могут быть: локальные таблицы, РСУБД. Список поддерживаемых источников данных определяется конкретным программным продуктом. После этого пользователь может самостоятельно манипулировать понятными ему объектами в терминах предметной области для создания кубов и аналитических интерфейсов.

Принцип работы клиента OLAP-сервера иной. В OLAP-сервере при создании кубов пользователь манипулирует физическими описаниями БД. При этом в самом кубе создаются пользовательские описания. Клиент OLAP-сервера настраивается только на куб.

При создании семантического слоя источники данных – таблицы Sales и Deal – описываются понятными конечному пользователю терминами и превращаются в «Продукты» и «Сделки». Поле «ID» из таблицы «Продукты» переименовывается в «Код», а «Name » - в «Товар» и т.д.

Затем создается бизнес-объект «Продажи». Бизнес-объект – это плоская таблица, на основе которой формируется многомерный куб. При создании бизнес-объекта таблицы «Продукты» и «Сделки» объединяются по полю «Код» товара. Поскольку для отображения в отчете не потребуются все поля таблиц – бизнес-объект использует только поля «Товар», «Дата» и «Сумма».

В нашем примере на базе бизнес-объекта «Продажи» создан отчет по продажам товаров по месяцам.

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

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

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

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

6. Выбор архитектуры OLAP-приложения.

При реализации информационно-аналитической системы важно не ошибиться в выборе архитектуры OLAP-приложения. Дословный перевод термина On-Line Analytical Process - «оперативная аналитическая обработка» - часто воспринимается буквально в том смысле, что поступающие в систему данные оперативно анализируются. Это заблуждение - оперативность анализа никак не связана с реальным временем обновления данных в системе. Эта характеристика относится к времени реакции OLAP-системы на запросы пользователя. При этом зачастую анализируемые данные представляют собой снимок информации «на вчерашний день», если, например, данные в хранилищах обновляются раз в сутки.

В этом контексте более точен перевод OLAP как «интерактивная аналитическая обработка». Именно возможность анализа данных в интерактивном режиме отличает OLAP-системы от систем подготовки регламентированных отчетов.

Другой особенностью интерактивной обработки в формулировке родоначальника OLAP Э. Кодда является возможность «объединять, просматривать и анализировать данные с точки зрения множественности измерений, т. е. самым понятным для корпоративных аналитиков способом». У самого Кодда термин OLAP обозначает исключительно конкретный способ представления данных на концептуальном уровне - многомерный. На физическом уровне данные могут храниться в реляционных базах данных, однако на деле OLAP-инструменты, как правило, работают с многомерными базами данных, в которых данные упорядочены в виде гиперкуба (рис. 1).

Рисунок 1. OLAP – куб (гиперкуб, метакуб)

При этом актуальность этих данных определяется моментом наполнения гиперкуба новыми данными.

Очевидно, что время формирования многомерной базы данных существенно зависит от объема загружаемых в нее данных, поэтому разумно ограничить этот объем. Но как при этом не сузить возможности анализа и не лишить пользователя доступа ко всей интересующей информации? Существует два альтернативных пути: Analyze then query («Сначала проанализируй - затем запроси дополнительную информацию») и Query then analyze («Сначала запроси данные - затем анализируй»).

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

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

К достоинствам второго подхода следует отнести «свежесть» информации, которую пользователь получает в виде многомерного отчета - «микрокуба ». Микрокуб формируется на основе только что запрошенной информации из актуальной реляционной базы данных. Работа с микрокубом осуществляется в интерактивном режиме - получение срезов информации и ее детализация в рамках микрокуба осуществляется моментально. Другим положительным моментом является то, что проектирование структуры и наполнение микрокуба осуществляется пользователем «на лету», без участия администратора баз данных. Однако подход страдает и серьезными недостатками. Пользователь, не видит общей картины и должен заранее определяться с направлением своего исследования. В противном случае запрошенный микрокуб может оказаться слишком мал и не содержать всех интересующих данных, а пользователю придется запрашивать новый микрокуб, затем новый, затем еще и еще. Подход Query then analyze реализует инструментальное средство BusinessObjects одноименной компании и инструментальные средства платформы Контур компании Intersoft Lab .

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

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

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

Наиболее яркими представителями подхода «Analyze then query » являются инструментальные средства PowerPlay и Impromptu компании Cognos .

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

7. Сферы применения OLAP-технологий.

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

Рассмотрим некоторые сферы применения OLAP-технологий, взятые из реальной жизни.

1. Продажи.

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

2. Закупки.

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

3. Цены.

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

4. Маркетинг.

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

5. Склад.

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

6. Движение денежных средств.

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

7. Бюджет.

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

8. Бухгалтерские счета.

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

9. Финансовая отчетность.

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

10. Посещаемость сайта.

Лог-файл Интернет-сервера многомерен по природе, а значит подходит для OLAP-анализа. Фактами являются: количество посещений, количество хитов, время проведенное на странице и другая информация, имеющаяся в логе.

11. Объемы производства.

Это еще один пример статистического анализа. Таким образом, можно анализировать объемы выращенного картофеля, выплавленной стали, произведенного товара.

12. Потребление расходных материалов.

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

13. Использование помещений.

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

14. Текучесть кадров на предприятии.

Анализ текучести кадров на предприятии в разрезе филиалов, отделов, профессий, уровня образования, пола, возраста, времени.

15. Пассажирские перевозки.

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

Этим списком не ограничиваются сферы применения OLAP - технологий. Для примера рассмотрим технологию OLAP -анализа в сфере продаж.

8. Пример использования OLAP -технологий для анализа в сфере продаж.

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

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

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

Измерение «Клиенты» отражает структуру продаж по территориально-географическому признаку. В каждом измерении могут существовать свои ие рархии, например, в данном измерении это может быть структура: Страны – Регионы – Города – Клиенты.

Для анализа эффективности деятельности подразделений следует создать свое измерение. Например, можно выделить два уровня иерархии: департаменты и входящие в них отделы, что и должно найти отражение в измерении «Подразделения».

По сути, измерения «Время», «Товары», «Заказчики» достаточно полно определяют пространство предметной области.

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

OLAP – куб для анализа будет иметь вид (рис. 2):


Рисунок 2. OLAP – куб для анализа объема продаж

Вот именно такой трехмерный массив в терминах OLAP и называется кубом. На самом деле, с точки зрения строгой математики кубом такой массив будет далеко не всегда: у настоящего куба количество элементов во всех измерениях должно быть одинаковым, а у кубов OLAP такого ограничения нет. Куб OLAP совсем не обязательно должен быть трехмерным. Он может быть и двух- , и многомерным - в зависимости от решаемой задачи. Серьезные OLAP-продукты рассчитаны на количество измерений порядка 20. Более простые настольные приложения поддерживают где-то 6 измерений.

Должны быть заполнены далеко не все элементы куба: если нет информации о продажах Товара 2 Клиенту 3 в третьем квартале, значение в соответствующей ячейке просто не будет определено.

Однако куб сам по себе для анализа не пригоден. Если еще можно адекватно представить или изобразить трехмерный куб, то с шести- или девятнадцатимерным дело обстоит значительно хуже. Поэтому перед употреблением из многомерного куба извлекают обычные двумерные таблицы. Эта операция называется "разрезанием" куба. Аналитик как бы берет и "разрезает" измерения куба по интересующим его меткам. Этим способом аналитик получает двумерный срез куба (отчет) и с ним работает. Структура отчета представлена на рисунке 3.

Рисунок 3. Структура аналитического отчета

Разрежем наш OLAP – куб и получим отчет о продажах за третий квартал, он будет иметь следующий вид (рис.4).

Рисунок 4. Отчет о продажах за третий квартал

Можно разрезать куб вдоль другой оси и получить отчет о продажах группы товаров 2 в течение года (рис. 5).

Рисунок 5. Поквартальный отчет о продажах товара 2

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

Рисунок 6. Отчет о поставках товаров клиенту 4

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

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

Более поздним достижением в этой области явилось добавление архитектуры клиент – сервер. Было издано много инструментов для развития OLTP приложений.

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

OLAP (Online Analytical Processing – оперативная аналитическая обработка) – это информационный процесс, который дает возможность пользователю запрашивать систему, проводить анализ и т.д. в оперативном режиме (онлайн). Результаты генерируются в течении секунд.

С другой стороны, в OLTP системе огромные объемы данных обрабатываются так скоро, как они поступают на вход.

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

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

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

Кодд определил 12 правил, которым должен удовлетворять программный продукт класса OLAP. Эти правила:

2. Прозрачность.

3. Доступность.

6. Равноправие измерений.

Интеллектуальный анализ данных.

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

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

Многие важные решения в почти любой области бизнеса и социально сферы основываются на анализе больших и сложных БД. ИАД может быть очень полезным в этих случаях.

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

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

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

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

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

1. Сфера детализированных данных. Это область действия большинства систем, нацеленных на поиск информации. В большинстве случаев реляционные СУБД отлично справляются с возникающими здесь задачами. Общепризнанным стандартом языка манипулирования реляционными данными является SQL. Информационно – поисковые системы, обеспечивающие интерфейс конечного пользователя в задачах поиска детализированной информации, могут использоваться в качестве надстроек как над отдельными базами данных транзакционных систем, так и над общим хранилищем данных.

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

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

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

Рис.3.2. Структура корпоративной информационно – аналитической системы.

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

В основе оперативной аналитической обработки данных лежит принцип организации информации в гиперкубическую модель. Простейший трехмерный куб данных по поставкам деталей для ранее рассмотренной тестовой базы данных приведен на рис. 3.11. Каждая его ячейка соответствует «факту» – например, объему поставки детали. Вдоль одной грани куба (одного измерения) располагаются месяцы, в течение которых выполнялись отражаемые кубом поставки. Второе измерение составляют виды деталей, а третье – соответствует поставщикам. В каждой ячейке содержится объем поставки для соответствующей комбинации значений по всем трем измерениям. Следует отметить, что при заполнении куба выполнена агрегация значений по поставкам каждого месяца из тестовой базы данных.


3.11. Вариант упрощенного гиперкуба для анализа поставок деталей

Системы класса OLAP различаются по способу представления данных.

Многомерный OLAP (MOLAP ) – в основу этих систем положена многомерная, основанная на динамических массивах структура данных с соответствующими методами доступа. MOLAP реализуется на патентованных технологиях организации многомерных СУБД. Преимуществом этого подхода является удобство выполнения вычислений над ячейками гиперкуба, т.к. под все сочетания измерений заведены соответствующие ячейки (как в электронной таблице). К классическим представителям таких систем можно отнести Oracle Express, SAS Institute MDDB.

Реляционный OLAP (ROLAP) – поддерживает многомерные аналитические модели над реляционными БД. К данному классу систем можно отнести Meta Cube Informix, Microsoft OLAP Services,Hyperion Solutions, SAS Institute Relational OLAP.

Настольный OLAP (Desktop OLAP) – средства генерации многомерных запросов и отчетов для локальных информационных систем (электронные таблицы, плоские файлы). Можно выделить следующие системы – Business Objects, Cognos Power Play.

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




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

Рис. 3.12. Схема типа «звезда» аналитической витрины по поставкам деталей

Для большинства хранилищ данных самым эффективным способом моделирования N-мерного куба является «звезда». На рис. 3.11 приведена модель гиперкуба для анализа поставок деталей, в котором информация консолидирована по четырем измерениям (поставщик, деталь, месяц, год). В основе схемы «звезда» лежит таблица фактов. Таблица фактов содержит столбец, где указан объем поставки, а также столбцы с указанием внешних ключей для всех таблиц измерений. Каждое измерение куба представлено таблицей значений, являющейся справочником по отношению к таблице фактов. Для организации уровней обобщения информации над справочниками измерений организованы категорные входы (например, «материал-деталь», «город-поставщик»).

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

SELECT SUM(VALUE), SUPPLIER.SUPPLIER_NAME, FACT.MONTH_ID

FROM FACT, SUPPLIER

WHERE FACT.YEAR_ID=2004

AND FACT.SUPPLIER_CODE=SUPPLIER.SUPPLIER_CODE

GROUP_BY SUPPLIER_CODE, MONTH_ID

ORDER_BY SUPPLIER_CODE, MONTH_ID.

На рис. 3.13 приведен фрагмент отчета, сформированного в результате заданного запроса.

3.4 Способы аналитической обработки данных

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

Очень часто информационно-аналитические системы, создаваемые в расчете на непосредственное использование лицами, принимающими решения, оказываются чрезвычайно просты в применении, но жестко ограничены в функциональности. Такие статические системы называются Информационными системами руководителя (ИСР), или Executive Information Systems (EIS). Они содержат в себе множества запросов и, будучи достаточными для повседневного обзора, неспособны ответить на все вопросы которые могут возникнуть при принятии решений. Результатом работы такой системы, как правило, являются многостраничные отчеты, после тщательного изучения, которых у аналитика появляется новая серия вопросов. Однако каждый новый запрос, непредусмотренный при проектировании такой системы, должен быть сначала формально описан, закодирован программистом и только затем выполнен. Время ожидания в таком случае может составлять часы и дни, что не всегда приемлемо.

Оперативная аналитическая обработка . Или On-Line Analytical Processing, OLAP – это ключевой компонент организации хранилищ данных. Концепция OLAP была описана в 1993 г. Эдгаром Коддом и имеет следующие требования к приложениям для многомерного анализа:

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

– предоставление пользователю результатов анализа за приемлемое время (обычно не более 5 с), пусть даже ценой менее детального анализа;

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

– многопользовательский доступ к данным с поддержкой соответствующих механизмов блокировок и средств авторизованного доступа;

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

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

Рассмотрим составные части OLAP-системы.

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

таблиц, объединяющих финансовые данные или любая комбинация перечисленного.

Хранилище данных . Исходные данные собираются и помещаются в хранилище, спроектированное в соответствии с принципами построения хранилищ данных. ХД представляет из себя реляционную базу данных (РБД). Основная таблица ХД (таблица фактов) содержит числовые значения показателей, по которым собирается статистическая информация.

Многомерная база данных .Хранилище данных служит поставщиком информации для многомерной базы данных, которая является набором объектов. Основными классами этих объектов являются измерения и показатели. К измерениям относятся множества значений (параметров), по которым происходит индексация данных, например, время, регионы, тип учреждения и пр. Каждое измерение заполняется значениями из соответствующих таблиц измерений хранилища данных. Совокупность измерений определяет пространство исследуемого процесса. Под показателями понимаются многомерные кубы данных (гиперкубы). В гиперкубе содержатся сами данные, а также агрегатные суммы по измерениям, входящим в состав показателя. Показатели составляют основное содержание МБД и заполняются в соответствии с таблицей фактов. Вдоль каждой оси гиперкуба данные могут быть организованы в виде иерархии, представляющей различные уровни их детализации. Это позволяет создавать иерархические измерения, по которым при последующем анализе данных будут осуществляться агрегирование или детализация представления данных. Типичным примером иерархического измерения служит список территориальных объектов сгруппированных по районам, областям, округам.

Сервер. Прикладной частью OLAP-системы является OLAP-сервер. Эта составляющая выполняет всю работу (в зависимости от модели системы), и хранит в себе всю информацию, к которой обеспечивается активный доступ. Архитектурой сервера управляют различные концепции. В частности, основной функциональной характеристикой OLAP-продуктов является использование МБД либо РБД для хранения данных.

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

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

Клиентские OLAP-средства (например, Pivot Tables в Excel 2000 фирмы Microsoft или ProClarity фирмы Knosys) представляют собой приложения, осуществляющие вычисление агрегатных данных и их отображение. При этом сами агрегатные данные содержатся в кэше внутри адресного пространства такого OLAP-средства.

Если исходные данные содержатся в настольной СУБД, вычисление агрегатных данных производится самим OLAP-средством. Если же источник исходных данных – серверная СУБД, многие из клиентских OLAP-средств посылают на сервер SQL-запросы и в результате получают агрегатные данные, вычисленные на сервере.

Как правило, OLAP-функциональность реализована в средствах статистической обработки данных и в некоторых электронных таблицах.

Многие средства разработки содержат библиотеки классов или компонентов, позволяющие создавать приложения, реализующие простейшую OLAP-функциональность (такие, например, как компоненты Decision Cube в Borland Delphi и Borland C++ Builder). Помимо этого многие компании предлагают элементы управления ActiveX и другие библиотеки, реализующие подобную функциональность.

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

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

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

Преимущества применения серверных OLAP-средств по сравнению с клиентскими OLAP-средствами сходны с преимуществами применения серверных СУБД по сравнению с настольными: в случае применения серверных средств вычисление и хранение агрегатных данных происходят на сервере, а клиентское приложение получает лишь результаты запросов к ним, что позволяет в общем случае снизить сетевой трафик, время выполнения запросов и требования к ресурсам, потребляемым клиентским приложением.

3.5 Технические аспекты многомерного хранения данных

Многомерность в OLAP-приложениях может быть разделена на три уровня:

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

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

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

Первые два уровня в обязательном порядке присутствуют во всех OLAP-средствах. Третий уровень, хотя и является широко распространенным, не обязателен, так как данные для многомерного представления могут извлекаться и из обычных реляционных структур. Процессор многомерных запросов, в этом случае, транслирует многомерные запросы в SQL-запросы, которые выполняются реляционной СУБД.

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

Тем не менее, использование агрегированных данных чревато недостатками. Основными недостатками являются увеличение объема хранимой информации (при добавлении новых измерений объем данных, составляющих куб, растет экспоненциально) и времени на их загрузку. Причем объем информации может увеличиваться в десятки и даже в сотни раз. Например, в одном из опубликованных стандартных тестов полный подсчет агрегатов для 10 Мб исходных данных потребовал 2,4 Гб, т. е. данные выросли в 240 раз!

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

Как исходные, так и агрегатные данные могут храниться либо в

реляционных, либо в многомерных структурах. В связи с этим в настоящее время применяются три способа хранения многомерных данных:

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

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

ROLAP (Relational OLAP) – исходные данные остаются в той же реляционной базе данных, где они изначально и находились. Агрегатные же данные помещают в специально созданные для их хранения служебные таблицы в той же базе данных.

HOLAP (Hybrid OLAP) – исходные данные остаются в той же реляционной базе данных, где они изначально находились, а агрегатные данные хранятся в многомерной базе данных.

Некоторые OLAP-средства поддерживают хранение данных только в реляционных структурах, некоторые – только в многомерных. Однако большинство современных серверных OLAP-средств поддерживают все три способа хранения данных. Выбор способа хранения зависит от объема и структуры исходных данных, требований к скорости выполнения запросов и частоты обновления OLAP-кубов.

3.6 Интеллектуальный анализ данных (Data Mining )

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

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

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

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

В общем случае процесс интеллектуального анализа данных (Data Mining) состоит из трёх стадий

    выявление закономерностей (свободный поиск);

    использование выявленных закономерностей для предсказания неизвестных значений (прогностическое моделирование);

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

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

Выделяют пять стандартных типов закономерностей, выявляемых методами Data Mining:

1.Ассоциация позволяет выделить устойчивые группы объектов, между которыми существуют неявно заданные связи. Частота появления отдельного предмета или группы предметов, выраженная в процентах, называется распространенностью. Низкий уровень распространенности (менее одной тысячной процента) говорит о том, что такая ассоциация не существенна. Ассоциации записываются в виде правил: A => B , где А - посылка, В - следствие. Для определения важности каждого полученного ассоциативного правила необходимо вычислить величину, которую называют доверительность А к В (или взаимосвязь А и В). Доверительность показывает, как часто при появлении А появляется В. Например, если д(A/B) =20%, то это значит, что при покупке товара А в каждом пятом случае приобретается и товар В.

Типичным примером применения ассоциации является анализ структуры покупок. Например, при проведении исследования в супермаркете можно установить, что 65 % купивших картофельные чипсы берут также и «кока-колу», а при наличии скидки за такой комплект «колу» приобретают в 85 % случаев. Подобные результаты представляют ценность при формировании маркетинговых стратегий.

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

3.Классификация - инструмент обобщения. Она позволяет перейти от рассмотрения единичных объектов к обобщенным понятиям, которые характеризуют некоторые совокупности объектов и являются достаточными для распознавания объектов, принадлежащих этим совокупностям (классам). Суть процесса формирования понятий заключается в нахождении закономерностей, свойственных классам. Для описания объектов используются множества различных признаков (атрибутов). Проблема формирования понятий по признаковым описаниям была сформулирована М.М. Бонгартом. Ее решение базируется на применении двух основных процедур: обучения и проверки. В процедурах обучения строится классифицирующее правило на основе обработки обучающего множества объектов. Процедура проверки (экзамена) состоит в использовании полученного классифицирующего правила для распознавания объектов из новой (экзаменационной) выборки. Если результаты проверки признаны удовлетворительными, то процесс обучения заканчивается, в противном случае классифицирующее правило уточняется в процессе повторного обучения.

4.Кластеризация – это распределение информации (записей) из БД по группам (кластерам) или сегментам с одновременным определением этих групп. В отличие от классификации здесь для проведения анализа не требуется предварительного задания классов.

5.Прогнозирование временных рядов является инструментом для определения тенденций изменения атрибутов рассматриваемых объектов с течением времени. Анализ поведения временных рядов позволяет прогнозировать значения исследуемых характеристик.

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

Из многообразия существующих методов исследования данных можно выделить следующие:

    регрессионный, дисперсионный и корреляционный анализ (реализован в большинстве современных статистических пакетов, в частности, в продуктах компаний SAS Institute, StatSoft и др.);

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

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

    нечеткая логика применяется для обработки данных с размытыми значениями истинности, которые могут быть представлены разнообразными лингвистическими переменными. Нечеткое представление знаний широко применяется для решения задач классификации и прогнозирования, например, в системе XpertRule Miner (Attar Software Ltd., Великобритания), а также в AIS, NeuFuz и др;

    индуктивные выводы позволяют получить обобщения фактов, хранящихся в БД. В процессе индуктивного обучения может участвовать специалист, поставляющий гипотезы. Такой способ называют обучением с учителем. Поиск правил обобщения может осуществляться без учителя путем автоматической генерации гипотез. В современных программных средствах, как правило, сочетаются оба способа, а для проверки гипотез используются статистические методы. Примером системы с применением индуктивных выводов является XpertRule Miner, разработанная фирмой Attar Software Ltd. (Великобритания);

    рассуждения на основе аналогичных случаев (метод «ближайшего соседа») (Case-based reasoning – CBR) основаны на поиске в БД ситуаций, описания которых сходны по ряду признаков с заданной ситуацией. Принцип аналогии позволяет предполагать, что результаты похожих ситуаций также будут близки между собой. Недостаток этого подхода заключается в том, что здесь не создается каких-либо моделей или правил, обобщающих предыдущий опыт. Кроме того, надежность выводимых результатов зависит от полноты описания ситуаций, как и в процессах индуктивного вывода. Примерами систем, использующих CBR, являются: KATE Tools (Acknosoft, Франция), Pattern Recognition Workbench (Unica, США);

    деревья решений – метод структурирования задачи в виде древовидного графа, вершины которого соответствуют продукционным правилам, позволяющим классифицировать данные или осуществлять анализ последствий решений. Этот метод дает наглядное представление о системе классифицирующих правил, если их не очень много. Простые задачи решаются с помощью этого метода гораздо быстрее, чем с использованием нейронных сетей. Для сложных проблем и для некоторых типов данных деревья решений могут оказаться неприемлемыми. Кроме того, для этого метода характерна проблема значимости. Одним из последствий иерархической кластеризации данных является отсутствие большого числа обучающих примеров для многих частных случаев, в связи с чем классификацию нельзя считать надежной. Методы деревьев решений реализованы во многих программных средствах, а именно: С5.0 (RuleQuest, Австралия), Clementine (Integral Solutions, Великобритания), SIPINA (University of Lyon, Франция), IDIS (Information Discovery, США);

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

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

3.7 Интеграция OLAP и Data Mining

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

В настоящее время появляется составной термин «OLAP Data Mining» (многомерный интеллектуальный анализ) для обозначения такого объединения.

Существует три основных способа формирования «OLAP Data Mining»:

    «Cubing then mining». Возможность выполнения интеллектуального анализа должна обеспечиваться над любым результатом запроса к многомерному концептуальному представлению, то есть над любым фрагментом любой проекции гиперкуба показателей.

    «Mining then cubing». Подобно данным, извлечённым из хранилища, результаты интеллектуального анализа должны представляться в гиперкубической форме для последующего многомерного анализа.

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

    11 класса [Текст... им как часть всей системы ... доцент ... Чебоксары , 2009. № 10. С. 44 -49 ... . Авторы-составители : Н. ... конспекты лекций , ...

  • Учебно-методическое пособие

    ... лекций . Подготовка лекции по математике. Написание конспекта лекции лекции . Использование информационных технологий ...

  • И к кондаурова с в лебедева научно-исследовательская деятельность будущего учителя математики творческие задания по элементарной математике и методике её преподавания

    Учебно-методическое пособие

    ... лекций . Подготовка лекции по математике. Написание конспекта лекции . Подготовка наглядных пособий. Методика чтения лекции . Использование информационных технологий ...

  • М ОНИТОРИНГ СМИ Модернизация профессионального образования Март - август 2011г

    Краткое содержание

    ... 11 .08.2011 "Мертвые души-2" В РНИМУ им ... 3,11 -3,44 . ... публичные лекции руководителей... Чебоксарах ... и строчащая конспекты аудитория - ... информационные системы и технологии . ... системой образования, - говорит доцент ... составителей ... части повышения реального содержания ...

OLAP (Online Analytical Processing – оперативная аналитическая обработка) – это информационный процесс, который дает возможность пользователю запрашивать систему, проводить анализ и т.д. в оперативном режиме (онлайн). Результаты генерируются в течении секунд.

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

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

В основе концепции OLAP лежит принцип многомерного представления данных. Э. Кодд рассмотрел недостатки реляционной модели, в первую очередь указав на невозможность объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом, и определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

12 правил, которым должен удовлетворять программный продукт класса OLAP. Эти правила:

1. Многомерное концептуальное представление данных.

2. Прозрачность.

3. Доступность.

4. Устойчивая производительность.

5. Клиент – серверная архитектура.

6. Равноправие измерений.

7. Динамическая обработка разреженных матриц.

8. Поддержка многопользовательского режима.

9. Неограниченная поддержка кроссмерных операций.

10. Интуитивное манипулирование данными.

11. Гибкий механизм генерации отчетов.

12. Неограниченное количество измерений и уровней агрегации.

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


Интеллектуальный анализ данных (Data Mining) и знаний (Knowledge Мining). Управление и анализ больших объемов данных (Big data). Системы бизнес-аналитики (Business Intelligence, BI).

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

В общем случае процесс ИАД состоит из трех стадий:

1) выявление закономерностей (свободный поиск);

2) использование выявленных закономерностей для предсказания неизвестных значений (прогнозирование);

3) анализ исключений для выявления и толкования аномалий в найденных закономерностях.

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

Все методы ИАД по принципу работы с исходными данными подразделяются на две группы:

Методы рассуждений на основе анализа прецедентов – исходные данные могут храниться в явном детализированном виде и непосредственно использоваться для прогнозирования и/или анализа исключений. Недостатком этой группы методов является сложность их использования на больших объемах данных.

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

Data Mining (DM)– это технология обнаружения в «сырых» данных ранее неизвестных нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Алгоритмы, используемые в Data Mining, требуют большого количества вычислений, что ранее являлось сдерживающим фактором широкого практического применения этих методов, однако рост производительности современных процессоров снял остроту этой проблемы.

Рынок Business Intelligence состоит из 5 секторов:

1. OLAP-продукты;

2. Инструменты добычи данных;

3. Средства построения Хранилищ и Витрин данных (Data Warehousing);

4. Управленческие информационные системы и приложения;

5. Инструменты конечного пользователя для выполнения запросов и построения отчетов.

В настоящее время среди лидеров корпоративных BI-платформ можно выделить MicroStrategy, Business Objects, Cognos, Hyperion Solutions, Microsoft, Oracle, SAP, SAS Institute и другие (в приложении Б приведен сравнительный анализ некоторых функциональных возможностей BI-систем).

(СУБД. - 1998. - № 4-5)

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

В последние годы в мире оформился ряд новых концепций хранения и анализа корпоративных данных:

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

1. Хранилища (склады) данных

В области информационных технологий всегда сосуществовали два класса систем [ , С. 49]:

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

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

Целью построения корпоративного хранилища данных является интеграция, актуализация и согласование оперативных данных из разнородных источников для формирования единого непротиворечивого взгляда на объект управления в целом. При этом в основе концепции хранилищ данных лежит признание необходимости разделения наборов данных, используемых для транзакционной обработки, и наборов данных, применяемых в системах поддержки принятия решений. Такое разделение возможно путем интеграции разъединенных в СОД и внешних источниках детализированных данных в едином хранилище, их согласования и, возможно, агрегации. W. Inmon, автор концепции хранилищ данных , определяет такие хранилища как:

  • "предметно-ориентированные,
  • интегрированные,
  • неизменчивые,
  • поддерживающие хронологию

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

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

  1. Время обработки запросов к распределенному хранилищу значительно превышает соответствующие показатели для централизованного хранилища. Кроме того, структуры баз данных СОД, рассчитанные на интенсивное обновление одиночных записей, в высокой степени нормализованы, поэтому в аналитическом запросе к ним требуется объединение большого числа таблиц, что также приводит к снижению быстродействия.
  2. Интегрированный взгляд на распределенное корпоративное хранилище возможен только при выполнении требования постоянной связи всех источников данных в сети. Таким образом, временная недоступность хотя бы одного из источников может либо сделать работу информационно-аналитической системы (ИАС) невозможной, либо привести к ошибочным результатам.
  3. Выполнение сложных аналитических запросов над таблицами СОД потребляет большой объем ресурсов сервера БД и приводит к снижению быстродействия СОД, что недопустимо, так как время выполнения операций в СОД часто весьма критично.
  4. Различные СОД могут поддерживать разные форматы и кодировки данных, данные в них могут быть несогласованы. Очень часто на один и тот же вопрос может быть получено несколько вариантов ответа, что может быть связано с несинхронностью моментов обновления данных, отличиями в трактовке отдельных событий, понятий и данных, изменением семантики данных в процессе развития предметной области, ошибками при вводе, утерей фрагментов архивов и т. д. В таком случае цель - формирование единого непротиворечивого взгляда на объект управления - может не быть достигнута.
  5. Главным же недостатком следует признать практическую невозможность обзора длительных исторических последовательностей, ибо при физическом отсутствии центрального хранилища доступны только те данные, которые на момент запроса есть в реальных БД связанных СОД. Основное назначение СОД - оперативная обработка данных, поэтому они не могут позволить себе роскошь хранить данные за длительный (более нескольких месяцев) период; по мере устаревания данные выгружаются в архив и удаляются из транзакционной БД. Что касается аналитической обработки, для нее как раз наиболее интересен взгляд на объект управления в исторической ретроспективе.

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

Облегченным вариантом корпоративного хранилища данных могут быть витрины данных (Data Mart), то есть тематические БД, содержащие информацию, относящуюся к отдельным аспектам деятельности организации. Концепция витрин данных была предложена Forrester Research в 1991 году . При этом главная идея заключалась в том, что витрины данных содержат тематические подмножества заранее агрегированных данных, по размерам гораздо меньшие, чем общекорпоративное хранилище данных, и, следовательно, требующие менее производительной техники для поддержания. В 1994 году M. Demarest предложил объединить две концепции и использовать хранилище данных в качестве единого интегрированного источника для многочисленных витрин данных. В таком варианте корпоративная информационно-аналитическая система имеет трехуровневую структуру:

  • общекорпоративное централизованное хранилище данных;
  • тематические витрины данных на уровне подразделений;
  • рабочие места конечных пользователей, снабженные аналитическим инструментарием.

Рассмотренная концепция ориентирована исключительно на хранение, а не на обработку корпоративных данных. Она не предопределяет архитектуру целевых аналитических систем, а только создает поле деятельности для их функционирования, концентрируясь на требованиях к данным. Таким образом, она оставляет свободу выбора во всем, что касается:

  • способов представления данных в целевом хранилище (например, реляционный, многомерный);
  • режимов анализа данных хранилища.

2. Способы аналитической обработки данных

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

По критерию режима анализа данных информационно-аналитические системы подразделяются на две категории [ , ]:

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

Очень часто ИАС, создаваемые в расчете на непосредственное использование лицами, принимающими решения, оказываются чрезвычайно просты в применении, но жестко ограничены в функциональности. Такие статические СППР [ , С. 55], или Информационные системы руководителя (ИСР) [ , С. 73] - (Executive Information Systems, EIS) [ , С. 4] - содержат в себе предопределенные множества запросов и, будучи достаточными для повседневного обзора, неспособны ответить на все вопросы к имеющимся данным, которые могут возникнуть при принятии решений (ПРИМЕЧАНИЕ. По определению В. Пржиялковского [ , С. 81], ИСР - это "компьютерная система, позволяющая... предоставлять информацию в распоряжение старшего управляющего персонала с ограниченным опытом обращения с ЭВМ".). Результатом работы такой системы, как правило, являются многостраничные отчеты, после тщательного изучения которых у аналитика появляется новая серия вопросов; однако, каждый новый, непредусмотренный при проектировании такой системы, запрос должен быть сначала формально описан, передан программисту, закодирован и только затем выполнен. Время ожидания в таком случае может составлять часы и дни, что не всегда приемлемо. Таким образом, внешняя простота статических СППР, за которую активно борется большинство заказчиков информационно-аналитических систем, оборачивается катастрофической потерей гибкости.

Динамические СППР, напротив, ориентированы на обработку нерегламентированных, неожиданных (ad hoc) запросов аналитиков к данным. Наиболее глубоко требования к таким системам рассмотрел E. F. Codd в статье , положившей начало концепции OLAP. Работа аналитиков с этими системами заключается в интерактивной последовательности формирования запросов и изучения их результатов, каждый из которых может породить потребность новой серии запросов.

Но динамические СППР могут действовать не только в области оперативной аналитической обработки (OLAP); поддержка принятия управленческих решений на основе накопленных данных может выполняться в трех базовых сферах .

По Кодду, многомерное концептуальное представление (multi-dimensional conceptual view) является наиболее естественным взглядом управляющего персонала на объект управления. Оно представляет собой множественную перспективу, состоящую из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных. Одновременный анализ по нескольким измерениям данных определяется как многомерный анализ. Каждое измерение включает направления консолидации данных, состоящие из серии последовательных уровней обобщения, где каждый вышестоящий уровень соответствует большей степени агрегации данных по соответствующему измерению. Так, измерение Исполнитель может определяться направлением консолидации, состоящим из уровней обобщения "предприятие - подразделение - отдел - служащий". Измерение Время может даже включать два направления консолидации - "год - квартал - месяц - день" и "неделя - день", поскольку счет времени по месяцам и по неделям несовместим. В этом случае становится возможным произвольный выбор желаемого уровня детализации информации по каждому из измерений. Операция спуска (drilling down) соответствует движению от высших ступеней консолидации к низшим; напротив, операция подъема (rolling up) означает движение от низших уровней к высшим (рис. 2).


Рис. 2. Измерения и направления консолидации данных.

3.1. Требования к средствам оперативной аналитической обработки

Кодд определил 12 правил, которым должен удовлетворять программный продукт класса OLAP (табл. 1).

Таблица 1. Правила оценки программных продуктов класса OLAP.

1. Многомерное концептуальное представление данных (Multi-Dimensional Conceptual View) Концептуальное представление модели данных в продукте OLAP должно быть многомерным по своей природе, то есть позволять аналитикам выполнять интуитивные операции "анализа вдоль и поперек" ("slice and dice" - перевод С. Д. Кузнецова, выступление на 3-й ежегодной конференции "Корпоративные базы данных "98"), вращения (rotate) и размещения (pivot) направлений консолидации.
2. Прозрачность (Transparency) Пользователь не должен знать о том, какие конкретные средства используются для хранения и обработки данных, как данные организованы и откуда берутся.
3. Доступность (Accessibility) Аналитик должен иметь возможность выполнять анализ в рамках общей концептуальной схемы, но при этом данные могут оставаться под управлением оставшихся от старого наследства СУБД, будучи при этом привязанными к общей аналитической модели. То есть инструментарий OLAP должен накладывать свою логическую схему на физические массивы данных, выполняя все преобразования, требующиеся для обеспечения единого, согласованного и целостного взгляда пользователя на информацию.
4. Устойчивая производительность (Consistent Reporting Performance) С увеличением числа измерений и размеров базы данных аналитики не должны столкнуться с каким бы то ни было уменьшением производительности. Устойчивая производительность необходима для поддержания простоты использования и свободы от усложнений, которые требуются для доведения OLAP до конечного пользователя.
5. Клиент - серверная архитектура (Client-Server Architecture) Большая часть данных, требующих оперативной аналитической обработки, хранится в мэйнфреймовых системах, а извлекается с персональных компьютеров. Поэтому одним из требований является способность продуктов OLAP работать в среде клиент-сервер. Главной идеей здесь является то, что серверный компонент инструмента OLAP должен быть достаточно интеллектуальным и обладать способностью строить общую концептуальную схему на основе обобщения и консолидации различных логических и физических схем корпоративных баз данных для обеспечения эффекта прозрачности.
6. Равноправие измерений (Generic Dimensionality) Все измерения данных должны быть равноправны. Дополнительные характеристики могут быть предоставлены отдельным измерениям, но поскольку все они симметричны, данная дополнительная функциональность может быть предоставлена любому измерению. Базовая структура данных, формулы и форматы отчетов не должны опираться на какое-то одно измерение.
7. Динамическая обработка разреженных матриц (Dynamic Sparse Matrix Handling) Инструмент OLAP должен обеспечивать оптимальную обработку разреженных матриц. Скорость доступа должна сохраняться вне зависимости от расположения ячеек данных и быть постоянной величиной для моделей, имеющих разное число измерений и различную разреженность данных.
8. Поддержка многопользовательского режима (Multi-User Support) Зачастую несколько аналитиков имеют необходимость работать одновременно с одной аналитической моделью или создавать различные модели на основе одних корпоративных данных. Инструмент OLAP должен предоставлять им конкурентный доступ, обеспечивать целостность и защиту данных.
9. Неограниченная поддержка кроссмерных операций (Unrestricted Cross-dimensional Operations) Вычисления и манипуляция данными по любому числу измерений не должны запрещать или ограничивать любые отношения между ячейками данных. Преобразования, требующие произвольного определения, должны задаваться на функционально полном формульном языке.
10. Интуитивное манипулирование данными (Intuitive Data Manipulation) Переориентация направлений консолидации, детализация данных в колонках и строках, агрегация и другие манипуляции, свойственные структуре иерархии направлений консолидации, должны выполняться в максимально удобном, естественном и комфортном пользовательском интерфейсе.
11. Гибкий механизм генерации отчетов (Flexible Reporting) Должны поддерживаться различные способы визуализации данных, то есть отчеты должны представляться в любой возможной ориентации.
12. Неограниченное количество измерений и уровней агрегации (Unlimited Dimensions and Aggregation Levels) Настоятельно рекомендуется допущение в каждом серьезном OLAP инструменте как минимум пятнадцати, а лучше двадцати, измерений в аналитической модели. Более того, каждое из этих измерений должно допускать практически неограниченное количество определенных пользователем уровней агрегации по любому направлению консолидации.

Набор этих требований, послуживших фактическим определением OLAP, достаточно часто критиковался. Так, в говорится, что в рамках 12 требований смешаны:

  • собственно требования к функциональности (1, 2, 3, 6, 9, 12);
  • неформализованные пожелания (4, 7, 10, 11);
  • требования к архитектуре информационной системы, имеющие к функциональности весьма приблизительное отношение (5, 8); например, согласно требованию 5, система, реализованная на основе UNIX-сервера с терминалами, не может быть продуктом OLAP, так как не работает в клиент-серверной архитектуре; так же, OLAP продукт не может являться настольной однопользовательской системой, так как в этом случае нарушается требование 8.

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

3.2. Классификация продуктов OLAP по способу представления данных

В настоящее время на рынке присутствует около 30 продуктов, которые в той или иной степени обеспечивают функциональность OLAP (по данным обзорного Web-сервера http://www.olapreport.com на февраль 1998 года). Обеспечивая многомерное концептуальное представление со стороны пользовательского интерфейса к исходной базе данных, все продукты OLAP делятся на три класса по типу исходной БД.

Помимо перечисленных средств существует еще один класс - инструменты генерации запросов и отчетов для настольных ПК, дополненные функциями OLAP и/или интегрированные с внешними средствами, выполняющими такие функции. Эти довольно развитые системы осуществляют выборку данных из исходных источников, преобразуют их и помещают в динамическую многомерную БД, функционирующую на клиентской станции конечного пользователя. Для работы с небольшими, просто организованными базами эти средства подходят наилучшим образом. Основными представителями этого класса являются BusinessObjects одноименной компании , BrioQuery компании Brio Technology [ , С. 34] и PowerPlay компании Cognos [ , С. 34-35].

3.2.1. Многомерный OLAP (MOLAP)

В специализированных СУБД, основанных на многомерном представлении данных, данные организованы не в форме реляционных таблиц, а в виде упорядоченных многомерных массивов:

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

Использование многомерных БД в системах оперативной аналитической обработки имеет следующие достоинства.

С другой стороны, имеются существенные ограничения.

Следовательно, использование многомерных СУБД оправдано только при следующих условиях.

  1. Объем исходных данных для анализа не слишком велик (не более нескольких гигабайт), то есть уровень агрегации данных достаточно высок.
  2. Набор информационных измерений стабилен (поскольку любое изменение в их структуре почти всегда требует полной перестройки гиперкуба).
  3. Время ответа системы на нерегламентированные запросы является наиболее критичным параметром.
  4. Требуется широкое использование сложных встроенных функций для выполнения кроссмерных вычислений над ячейками гиперкуба, в том числе возможность написания пользовательских функций.
3.2.2. Реляционный OLAP (ROLAP)

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

  1. При оперативной аналитической обработке содержимого хранилищ данных инструменты ROLAP позволяют производить анализ непосредственно над хранилищем (потому что в подавляющем большинстве случаев корпоративные хранилища данных реализуются средствами реляционных СУБД).
  2. В случае переменной размерности задачи, когда изменения в структуру измерений приходится вносить достаточно часто, ROLAP системы с динамическим представлением размерности являются оптимальным решением, так как в них такие модификации не требуют физической реорганизации БД.
  3. Системы ROLAP могут функционировать на гораздо менее мощных клиентских станциях, чем системы MOLAP, поскольку основная вычислительная нагрузка в них ложится на сервер, где выполняются сложные аналитические SQL-запросы, формируемые системой.
  4. Реляционные СУБД обеспечивают значительно более высокий уровень защиты данных и разграничения прав доступа.
  5. Реляционные СУБД имеют реальный опыт работы с очень большими базами данных и развитые средства администрирования.

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

Описанию схемы звезды (star schema) и рекомендациям по ее применению полностью посвящены работы [ , , ]. Ее идея заключается в том, что имеются таблицы для каждого измерения, а все факты помещаются в одну таблицу, индексируемую множественным ключом, составленным из ключей отдельных измерений. Каждый луч схемы звезды задает, в терминологии Кодда, направление консолидации данных по соответствующему измерению (например, Магазин - Город/район - Регион).

В общем случае факты имеют разные множества измерений, и тогда их удобно хранить не в одной, а в нескольких таблицах; кроме того, в различных запросах пользователей может интересовать только часть возможных измерений. Но при таком подходе при большом числе независимых измерений необходимо поддерживать множество таблиц фактов, соответствующих каждому возможному сочетанию выбранных в запросе измерений, что приводит к неэкономному использованию внешней памяти, увеличению времени загрузки данных в БД схемы звезды из внешних источников и сложностям администрирования. Для решения этой проблемы авторы работы предлагают специальное расширение для языка SQL (оператор "GROUP BY CUBE" и ключевое слово "ALL") (ПРИМЕЧАНИЕ. В настоящее время это расширение еще не принято, поэтому данное предложение представляет пока чисто академический интерес.), а авторы [ , ] рекомендуют создавать таблицы фактов не для всех возможных сочетаний измерений, а только для наиболее полных (тех, значения ячеек которых не могут быть получены с помощью последующей агрегации ячеек других таблиц фактов базы данных).

В сложных задачах с многоуровневыми измерениями имеет смысл обратиться к расширениям схемы звезды - схеме созвездия (fact constellation schema) [ , С. 10-11] и схеме снежинки (snowflake schema) [ , С. 13-15]. В этих случаях отдельные таблицы фактов создаются для возможных сочетаний уровней обобщения различных измерений. Это позволяет добиться наилучшей производительности, но часто приводит к избыточности данных.

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

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

4. Интеллектуальный анализ данных

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

Интеллектуальный анализ данных определяется в большинстве публикаций афористически - "извлечение зерен знаний из гор данных" , "разработка данных - по аналогии с разработкой полезных ископаемых" . При этом в английском языке существует два термина, переводимые как ИАД, - Knowledge Discovery in Databases (KDD) и Data Mining (DM). В большинстве работ они используются как синонимы [см., например, , ], хотя некоторые авторы [ , ] рассматривают KDD как более широкое понятие - научное направление, образовавшееся "на пересечении искусственного интеллекта, статистики и теории баз данных" и обеспечивающее процесс извлечения информации из данных и ее использования , а DM - как совокупность индуктивных методов этого процесса, то есть то, что ниже будет определено как стадия свободного поиска ИАД.

Остановимся на следующем определении: ИАД - это процесс поддержки принятия решений, основанный на поиске в данных скрытых закономерностей (шаблонов информации) [ , ]. Следует отметить, что большинство методов ИАД было первоначально разработано в рамках теории искусственного интеллекта (ИИ) в 70-80-х годах, но получили распространение только в последние годы, когда проблема интеллектуализации обработки больших и быстро растущих объемов корпоративных данных потребовала их использования в качестве надстройки над хранилищами данных .

4.2.2. Прогностическое моделирование (Predictive Modeling)

Здесь, на второй стадии ИАД, используются плоды работы первой, то есть найденные в БД закономерности применяются для предсказания неизвестных значений:

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

Возвращаясь к рассмотренным примерам, продолжим их на данную стадию. Зная, что некто Иванов - программист, можно быть на 61% уверенным, что его возраст

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

4.2.3. Анализ исключений (Forensic Analysis)

Предметом данного анализа являются аномалии в раскрытых закономерностях, то есть необъясненные исключения. Чтобы найти их, следует сначала определить норму (стадия свободного поиска), вслед за чем выделить ее нарушения. Так, определив, что 84% общеобразовательных школ отнесены к муниципальной форме собственности, можно задаться вопросом - что же входит в 16%, составляющих исключение из этого правила? Возможно, им найдется логическое объяснение, которое также может быть оформлено в виде закономерности. Но может также статься, что мы имеем дело с ошибками в исходных данных, и тогда анализ исключений может использоваться в качестве инструмента очистки сведений в хранилище данных .

4.3. Классификация технологических методов ИАД

Все методы ИАД подразделяются на две большие группы по принципу работы с исходными обучающими данными.

  1. В первом случае исходные данные могут храниться в явном детализированном виде и непосредственно использоваться для прогностического моделирования и/или анализа исключений; это так называемые методы рассуждений на основе анализа прецедентов. Главной проблемой этой группы методов является затрудненность их использования на больших объемах данных, хотя именно при анализе больших хранилищ данных методы ИАД приносят наибольшую пользу.
  2. Во втором случае информация вначале извлекается из первичных данных и преобразуется в некоторые формальные конструкции (их вид зависит от конкретного метода). Согласно предыдущей классификации, этот этап выполняется на стадии свободного поиска, которая у методов первой группы в принципе отсутствует. Таким образом, для прогностического моделирования и анализа исключений используются результаты этой стадии, которые гораздо более компактны, чем сами массивы исходных данных. При этом полученные конструкции могут быть либо "прозрачными" (интерпретируемыми), либо "черными ящиками" (нетрактуемыми).

Две эти группы и входящие в них методы представлены на рис. 4.


Рис. 4. Классификация технологических методов ИАД.

4.3.1. Непосредственное использование обучающих данных

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

Индивидуальной особенностью алгоритма k-ближайшего соседа является метод определения в нем апостериорной вероятности принадлежности примера классу:

где возвращает 1, когда аргументы равны, или 0 в противном случае, - функция близости, определяемая как

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

причем чаще всего принимается r=2 (эвклидово пространство), а функция в зависимости от типа атрибута определяется следующими способами:

w(f) является функцией веса атрибута f. В чистом алгоритме k-ближайшего соседа:

то есть эта функция считается константой.

Метод ближайшего соседа является частным случаем метода k-ближайшего соседа при k=1. Более сложные алгоритмы типа Lazy-Learning основываются на том же обобщенном алгоритме [ , , ], но или иначе определяют апостериорные вероятности принадлежности примеров классам, или (как, например, Nested Generalized Exemplars Algoritm ) усложняют расчет функции w(f).

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

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

4.3.2. Выявление и использование формализованных закономерностей

Методы этой группы извлекают общие зависимости из множества данных и позволяют затем применять их на практике. Они отличаются друг от друга:

  • по типам извлекаемой информации (которые определяются решаемой задачей - см. классификацию задач ИАД выше);
  • по способу представления найденных закономерностей.

Формализм, выбранный для выражения закономерностей, позволяет выделить три различных подхода, каждый из которых уходит своими корнями в соответствующие разделы математики:

  • методы кросс-табуляции;
  • методы логической индукции;
  • методы вывода уравнений.

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

Методы кросс-табуляции

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

Кросс-табличная визуализация является наиболее простым воплощением идеи поиска информации в данных методом кросс-табуляции. Строго говоря, этот метод не совсем подходит под отмеченное свойство ИАД - переход инициативы к системе в стадии свободного поиска. На самом деле кросс-табличная визуализация является частью функциональности OLAP. Здесь система только предоставляет матрицу показателей, в которой аналитик может увидеть закономерность. Но само предоставление такой кросс-таблицы имеет целью поиск "шаблонов информации" в данных для поддержки принятия решений, то есть удовлетворяет приведенному определению ИАД. Поэтому неслучайно, что множество авторов [ , , ] все же относит кросс-табличную визуализацию к методам ИАД.

К методам ИАД группы кросс-табуляции относится также использование байесовских сетей (Bayesian Networks) , в основе которых лежит теорема Байеса теории вероятностей для определения апостериорных вероятностей составляющих полную группу попарно несовместных событий по их априорным вероятностям:

Байесовские сети активно использовались для формализации знаний экспертов в экспертных системах , но с недавних пор стали применяться в ИАД для извлечения знаний из данных.

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

Стратегия, применяемая в алгоритмах индукции деревьев решений, называется стратегией разделения и захвата (divide-and-conquer), в противовес стратегии отделения и захвата (separate-and-conquer), на которой построено большое количество алгоритмов индукции правил. Quinlan описал следующий алгоритм разделения и захвата.

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

Quinlan предложил вычислять E-оценку следующим образом. Пусть для текущего узла:

Число положительных примеров;
- число отрицательных примеров;
- число положительных примеров со значением для ;
- число отрицательных примеров со значением для .

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

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

Индукция правил

Популярность деревьев решений проистекает из быстроты их построения и легкости использования при классификации. Более того, деревья решений могут быть легко преобразованы в наборы символьных правил - генерацией одного правила из каждого пути от корня к терминальной вершине. Однако, правила в таком наборе будут неперекрывающимися, потому что в дереве решений каждый пример может быть отнесен к одному и только к одному терминальному узлу. Более общим (и более реальным) является случай существования теории, состоящей из набора неиерархических перекрывающихся символьных правил. Значительная часть алгоритмов, выполняющих индукцию таких наборов правил, объединяются стратегией отделения и захвата (separate-and-conquer), или покрывания (covering) , начало которой положили работы R. Michalski [ , ]. Термин "отделение и захват" сформулировали Pagallo и Haussler , охарактеризовав эту стратегию индукции следующим образом:

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

Рис. 5 показывает общий алгоритм индукции правил методом отделения и захвата . Разные варианты реализации вызываемых в общем алгоритме подпрограмм определяют разнообразие известных методов отделения и захвата.


Рис. 5. Общий алгоритм отделения и захвата для индукции правил.

Алгоритм SEPARATEANDCONQUER начинается с пустой теории. Если в обучающем множестве есть положительные примеры, вызывается подпрограмма FINDBESTRULE для извлечения правила, покрывающего часть положительных примеров. Все покрытые примеры отделяются затем от обучающего множества, произведенное правило включается в теорию, и следующее правило ищется на оставшихся примерах. Правила извлекаются до тех пор, пока не останется положительных примеров или пока не сработает критерий остановки RULESTOPPINGCRITERION. Зачастую полученная теория подвергается постобработке POSTPROCESS.

Процедура FINDBESTRULE ищет в пространстве гипотез правило, которое оптимизирует выбранный критерий качества, описанный в EVALUATERULE. Значение этой эвристической функции, как правило, тем выше, чем больше положительных и меньше отрицательных примеров покрыто правилом-соискателем (candidate rule). FINDBESTRULE обрабатывает Rules, упорядоченный список правил-соискателей, порожденных процедурой INITIALIZERULE.

Новые правила всегда вставляются в нужные места (INSERTSORT), так что Rules постоянно остается списком, упорядоченным по убыванию эвристических оценок правил. В каждом цикле SELECTCANDIDATES отбирает подмножество правил-соискателей, которое затем очищается в REFINERULE. Каждый результат очистки оценивается и вставляется в отсортированный список Rules, если только STOPPINGCRITERION не предотвращает это. Если оценка NewRule лучше, чем у лучшего из ранее найденных правил, значение NewRule присваивается переменной BestRule. FILTERRULES отбирает подмножество упорядоченного списка правил, предназначенное для использования в дальнейших итерациях. Когда все правила-соискатели обработаны, наилучшее правило возвращается.

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

Сравнение возможностей деревьев решений и индукции правил

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

С другой стороны, индукция правил осуществляется значительно более сложными (и медленными) алгоритмами, чем индукция деревьев решений. Особенно большие трудности возникают с поступрощением построенной теории, в отличие от простоты подрезания деревьев решений, на что обратил внимание Furnkranz : отсечение ветвей в дереве решений никогда не затронет соседние ветви, тогда как отсечение условий правила оказывает влияние на все перекрывающиеся с ним правила (рис. 6).


Рис. 6. Поступрощение в обучающих алгоритмах
(a) разделения и захвата и (b) отделения и захвата.

Рис. 6(a) иллюстрирует работу поступрощения в индукции деревьев решений. Правая половина переусложненного дерева покрывается множествами C и D обучающих примеров. Когда упрощающий алгоритм решает отсечь эти две терминальные вершины, порождающий их узел становится терминальным, который теперь покрывается примерами . Левая ветвь дерева решений не затронута данной операцией.

С другой стороны, отсечение условий от правила означает его обобщение, то есть в новом виде оно будет покрывать больше положительных и больше отрицательных примеров. Следовательно, эти дополнительные положительные и отрицательные примеры должны быть исключены из обучающего множества, дабы не воздействовать на индукцию последующих правил. В случае на рис. 6(b) первое из трех правил упрощается и начинает покрывать не только примеры, покрываемые оригинальной версией, но и все примеры, которые покрывает третье правило, а также часть примеров, которые покрывает второе правило. Если третье правило после этого может быть просто удалено алгоритмом поступрощения, то ситуация с оставшимся множеством примеров B2 не такая простая. Второе правило, естественно, покрывает все примеры множества B2, потому что оно было произведено для покрытия примеров включающего его множества B. Однако вполне может статься, что другое правило окажется более подходящим для отделения положительных примеров B2 от оставшихся отрицательных примеров. Корректная обработка таких ситуаций требует тесной интеграции процессов предупрощения и поступрощения, значительно усложняющей алгоритм индукции правил и ухудшающей его производительность .

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

Методы вывода уравнений

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

Статистика

Классические методы статистического анализа применяются в средствах ИАД чаще всего для решения задачи прогнозирования.

  1. Выявление тенденций динамических рядов. Тенденцию среднего уровня можно представить в виде графика или аналитической функции, вокруг значения которой варьируют фактические значения уровней исследуемого процесса. Часто тенденции среднего уровня называют детерминированной компонентой процесса, и соответствующий динамический pяд выражается уравнением , где - уровень pяда в момент времени t, - детеpминиpованная компонента pяда, - случайная компонента. Детерминированная компонента обычно представляется достаточно простой аналитической функцией - линейной, параболической, гиперболической, экспоненциальной, - параметры которой подбираются согласно историческим данным для лучшей аппроксимации исторических данных.
  2. Гармонический анализ. Во многих случаях сглаживание рядов динамики с помощью определения тренда не дает удовлетворительных результатов, так как в остатках наблюдается автокоppеляция. Причиной автокоppелиpованности остатков могут быть нередко встречающиеся в pядах динамики заметные периодические колебания относительно выделенной тенденции. В таких случаях следует прибегать к гармоническому анализу, то есть к выделению из динамического ряда периодической составляющей. По результатам выделения из динамического ряда тренда и периодической составляющей может выполняться статистический прогноз процесса по принципу экстраполяции, по предположению, что параметры тренда и колебаний сохранятся для прогнозируемого периода [ , С. 304].
  3. Корреляционно-регрессионный анализ. В отличие от функциональной (жестко детерминированной) связи, статистическая (стохастически детерминированная) связь между переменными имеет место тогда, когда с изменением значения одной из них вторая может в определенных пределах принимать любые значения с некоторыми вероятностями, но ее среднее значение или иные статистические характеристики изменяются по определенному закону [ , С. 191-192]. Частным случаем статистической связи, когда различным значениям одной переменной соответствуют различные средние значения другой, является корреляционная связь. В соответствии с сущностью корреляционной связи ее изучение имеет две цели:
    1) измерение параметров уравнения, выражающего связь средних значений зависимых переменных со значениями независимой переменной (зависимость средних значений результативного признака от значений факторных признаков);
    2) измерение тесноты связи признаков между собой [ , С. 195-196].
    Метод корреляционно-регрессионного анализа хорошо изучен [ , 19, 29] и широко применяется на практике. Однако, он имеет ряд ограничений:
    1) для обеспечения достаточной точности и надежности число наблюдений должно быть в десятки или сотни раз больше числа факторов, чтобы закон больших чисел, действуя в полную силу, обеспечил эффективное взаимопогашение случайных отклонений от закономерного характера связи признаков;
    2) для надежного выражения закономерности по средней величине требуется достаточно качественная однородность совокупности, чтобы параметры корреляции не были извращены; кроме того, иногда в качестве условия корреляционного анализа выдвигают необходимость подчинения распределения совокупности по результативному и факторным признакам нормальному закону распределения вероятностей (это условие связано с применением метода наименьших квадратов при расчете параметров корреляции - только при нормальном распределении он дает оценку параметров, отвечающую принципам максимального правдоподобия), хотя на практике даже при приближенном выполнении этой предпосылки метод наименьших квадратов дает неплохие результаты [ , С. 14];
    3) метод корреляционно-регрессионного анализа не может объяснить роли факторных признаков в создании результативного признака [ , С. 198];
    4) интерпретировать корреляционные показатели следует лишь в терминах вариаций результативного и факторного признаков; если же задача состоит в измерении связи между изменениями признаков объекта во времени, то метод корреляционно-регрессионного анализа требует значительных изменений (требуется исследование корреляции рядов динамики) [ ; , С. 307-313].
    Получаемые в результате применения анализа корреляционно-регрессионные модели (КРМ) обычно достаточно хорошо интерпретируемы и могут использоваться в прогностическом моделировании. Но, как отмечается в , невозможно применять этот вид анализа, не имея глубоких знаний в области статистики. Теоретическая подготовка аналитика играет здесь особенно важную роль, поэтому немногие существующие средства ИАД предлагают метод корреляционно-регрессионного анализа в качестве одного из инструментов обработки данных.
  4. Корреляция рядов динамики. Проблема изучения причинных связей во времени очень сложна, и полное решение всех задач такого изучения до сих пор не разработано [ , С. 307]. Основная сложность состоит в том, что при наличии тренда за достаточно длительный промежуток времени большая часть суммы квадратов отклонений связана с трендом; при этом, если два признака имеют тренды с одинаковым направлением изменения уровней, то это вовсе не будет означать причинной зависимости. Следовательно, чтобы получить реальные показатели корреляции, необходимо абстрагироваться от искажающего влияния трендов - вычислить отклонения от трендов и измерить корреляцию колебаний (подробному рассмотрению этого подхода посвящена полностью работа ). Однако, не всегда допустимо переносить выводы о тесноте связи между колебаниями на связь рядов динамики в целом (согласно приведенному в [ , С. 312] примеру, правомерно рассматривать связь между колебаниями урожайности и колебаниями суммы выпавших за лето осадков, но связь между урожайностью и дозой удобрений нельзя свести только к корреляции колебаний).

Нейронные сети

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

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

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


Рис. 7. Нейрон с активационной функцией F; .

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

Чаще всего средства ИАД используют специальный тип нейронных сетей, обучаемых "с учителем", - многослойные персептроны [ , С. 54-55]. На рис. 8 изображена такая нейронная сеть с двумя слоями нейронов, имеющая три входных и три выходных переменных (в общем случае количество входов, количество выходов, число слоев и число нейронов в каждом внутреннем слое могут быть какими угодно). Выход каждого нейрона предыдущего слоя соединен со входом каждого нейрона последующего слоя.


Рис. 8. Многослойный персептрон, обучаемый процедурой обратного распространения ошибки.

Настройка весов многослойного персептрона осуществляется алгоритмом обратного распространения ошибки [ , С. 56-69]. При обучении предполагается, что для каждого входного вектора (множества входов) существует парный ему целевой вектор (множество выходов), и вместе они образуют обучающую пару (пример). Перед началом обучения всем весам должны быть присвоены небольшие начальные значения, выбранные случайным образом, для преодтвращения патологических случаев невозможности обучения. Все множество обучающих пар составляет обучающее множество. Обучение сети требует выполнения следующих операций:

  1. выбрать обучающую пару из обучающего множества;
  2. подать входной вектор обучающей пары на вход сети;
  3. вычислить выход сети;
  4. вычислить разность между выходом сети и целевым вектором обучающей пары;
  5. скорректировать веса сети, чтобы минимизировать ошибку;
  6. повторять шаги 1-5 для каждой пары обучающего множества до тех пор, пока ошибка на всем множестве не достигнет допустимого уровня.

Обучение методом обратного распространения ошибки ведется послойно, начиная от выходного слоя, шагами 4 и 5.

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

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

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

Таким образом, нейронные сети - довольно мощный и гибкий инструмент ИАД - должны применяться с известной осторожностью и подходят не для всех проблем, требующих интеллектуального анализа корпоративных данных.

4.3.3. Выводы

Как видно из сделанного обзора, ни один из рассмотренных методов не способен покрыть все задачи, обеспечивающие поддержку принятия управленческих решений на основе интеллектуального анализа содержимого хранилищ данных. Но большинство существующих на рынке систем интеллектуального анализа реализуют один-три метода (например, Pilot Discovery Server фирмы Pilot Software Inc. и Information Harvester фирмы Information Harvester Corp. - только деревья решений, Idis фирмы Information Discovery Inc. - деревья решений и индукцию правил, Darwin фирмы Thinking Machines - нейронные сети, деревья решений и визуализацию данных , MineSet фирмы Silicon Graphics - деревья решений, индукцию ассоциативных правил и визуализацию данных ), поэтому в реальных приложениях для того, чтобы не потерять большое количество значимых закономерностей, приходится, как правило, пользоваться несколькими разнородными инструментами. Кроме того, многие инструменты не позволяют напрямую работать с хранилищами данных, требуя предварительной подготовки исходных данных для анализа в виде плоских файлов фиксированной структуры, что также затрудняет их практическое использование.

5. Взаимодополняемость OLAP и ИАД

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


Рис. 9. Архитектура системы многомерного интеллектуального анализа данных.

Идеальной целью построения корпоративной информационно-аналитической системы является создание СППР замкнутого цикла. Как заметил N. Raden, "многие компании создали... прекрасные хранилища данных, идеально разложив по полочкам горы неиспользуемой информации, которая сама по себе не обеспечивает ни быстрой, ни достаточно грамотной реакции на рыночные события" [ , С. 39]. В особенно динамичных сферах (например, в розничной торговле), где ситуация меняется ежедневно, своевременное принятие грамотных решений не обеспечивается даже при использовании обычных средств OLAP и ИАД. Они должны быть объединены друг с другом и иметь обратную связь к исходным системам обработки данных, с тем чтобы результаты работы СППР немедленно передавались в виде управляющих воздействий в оперативные системы. Так, крупнейшая американская компания в сфере розничной торговли Wal-Mart занимается разработкой СППР замкнутого цикла от нормализации… По пытки нормализовать любую из таблиц в многомерной базе данных исключительно ради экономии дис кового пространства [именно так!] - напрасная трата времени… Таблицы размерности не должны быть нормализованы… Нормализованные таблицы размерности исключают возможность просмотра".

10 Если только эта таблица результатов не включает какие-либо неопределенные значения, или NULL-значения (см. главу 19, раздел 19.3, подраздел "Дополнительные сведения о предикатах"). На самом деле конструкции SQL: 1999, которые должны быть описаны в данном разделе, можно охаракте ризовать как "основанные на использовании" этого весьма не рекомендуемого средства SQL (?); в дей ствительности, они подчеркивают тот факт, что в своих различных проявлениях неопределенные значе ния могут иметь разный смысл, и поэтому позволяют представить в одной таблице много разных преди катов (как будет показано ниже).

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

1. Определить общее количество поставок.

2. Определить общее количество поставок по поставщикам.

3. Определить общее количество поставок по деталям.

4. Определить общее количество поставок по поставщикам и деталям.

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

Теперь предположим, что есть только две детали, с номерами Р1 и Р2, а таблица поставок выглядит следующим образом.

Многомерные базы данных

До сих пор предполагалось, что данные OLAP хранятся в обычной базе данных, использующей язык SQL (не считая того, что иногда мы все же касались терминологии и концепции многомерных баз данных). Фактически мы, не указывая явно, описывали так называемую систему ROLAP (Relational OLAP- реляционная OLAP). Однако многие считают, что использование системы MOLAP (Multi-dimensional OLAP - многомерная OLAP) - более перспективный путь. В этом подразделе принципы построения систем MOLAP будут рассмотрены подробнее.

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

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

Поддерживающая СУБД называется многомерной. В качестве простого примера можно привести трехмерный массив, представляющий, соответственно, товары, заказчиков и периоды времени. Значение каждой отдельной ячейки может представлять общий объем указанного товара, проданного заказчику в указанный период времени. Как отмечалось выше, перекрестные таблицы из предыдущего подраздела также могут считаться такими массивами.

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

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

Примечание. Различие между значениями независимых, или размерных, переменных,

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

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

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

Между прочим, из предыдущего описания должно быть ясно, что ячейки массива часто оказываются пустыми (и чем больше размерностей, тем чаще наблюдается такое явление). Иными словами, массивы обычно бывают разреженными. Предположим, например, что товар р не продавался заказчику с в течение всего периода времени t. Тогда ячейка [с,р, t] будет пустой (или в лучшем случае содержать нуль). Многомерные СУБД поддерживают различные методы хранения разреженных массивов в более эффективном, сжатом представлении12. К этому следует добавить, что пустые ячейки соответствуют отсутствующей информации и, следовательно, системам необходимо предоставлять некоторую вычислительную поддержку для пустых ячеек. Такая поддержка действительно обычно имеется, но стиль ее, к сожалению, похож на стиль, принятый в языке SQL. Обратите внимание на тот факт, что если данная ячейка пуста, то информация или не известна, или не была введена, или не применима, или отсутствует в силу других причин

(см. главу 19).

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

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

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

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

Примечание. Между операциями прохождения вверх (drill up) и накопления итогов (roll

up) есть одно тонкое различие: операция накопления итогов - это операция реализации

12 Обратите внимание на отличие от реляционных систем. В настоящем реляционном аналоге этого примера в строке Ic, p, t) не было бы пустой "ячейки" количества, в связи с тем, что строка (с,р, t) просто бы отсутствовала. Поэтому при использовании реляционной модели, в отличие от многомерных массивов, нет необходимости поддерживать "разреженные массивы", или скорее "разреженные таблицы", а значит, не требуются искусные методы сжатия для работы с такими таблицами.

требуемых способов группирования и агрегирования, а операция прохождения вверх- это операция доступа к результатам реализации этих способов. А примером операции прохождения вниз может служить такой запрос: "Итоговое количество поставок известно; получить итоговые данные для каждого отдельного поставщика". Безусловно, для ответа на этот запрос должны быть доступными (или вычислимыми) данные более детализированных уровней.

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

Завершая этот раздел, отметим, что в некоторых продуктах сочетаются оба подхода - ROLAP и MOLAP. Такую гибридную систему OLAP называют HOLAP. Проводятся широкие дискуссии с целью выяснить, какой из этих трех подходов лучше, поэтому стоит и нам попытаться сказать по данному вопросу несколько слов13. В общем случае системы MOLAP обеспечивают более быстрое проведение расчетов, но поддерживают меньшие объемы данных по сравнению с системами ROLAP, т.е. становятся менее эффективными по мере возрастания объемов данных. А системы ROLAP предоставляют более развитые возможности масштабируемости, параллельности и управления по сравнению с аналогичными возможностями систем MOLAP. Кроме того, недавно был дополнен стандарт SQL и в него включены многие статистические и аналитические функции (см. раздел 22.8). Из этого следует, что в настоящее время продукты ROLAP способны к тому же предоставлять расширенные функциональные возможности.

OLAP (Online Analytical Processing – оперативная аналитическая обработка) – это информационный процесс, который дает возможность пользователю запрашивать систему, проводить анализ и т.д. в оперативном режиме (онлайн). Результаты генерируются в течении секунд.

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

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

В основе концепции OLAP лежит принцип многомерного представления данных. Э. Кодд рассмотрел недостатки реляционной модели, в первую очередь указав на невозможность объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом, и определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

12 правил, которым должен удовлетворять программный продукт класса OLAP. Эти правила:

1. Многомерное концептуальное представление данных.

2. Прозрачность.

3. Доступность.

4. Устойчивая производительность.

5. Клиент – серверная архитектура.

6. Равноправие измерений.

7. Динамическая обработка разреженных матриц.

8. Поддержка многопользовательского режима.

9. Неограниченная поддержка кроссмерных операций.

10. Интуитивное манипулирование данными.

11. Гибкий механизм генерации отчетов.

12. Неограниченное количество измерений и уровней агрегации.

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


Интеллектуальный анализ данных (Data Mining) и знаний (Knowledge Мining). Управление и анализ больших объемов данных (Big data). Системы бизнес-аналитики (Business Intelligence, BI).

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

В общем случае процесс ИАД состоит из трех стадий:

1) выявление закономерностей (свободный поиск);

2) использование выявленных закономерностей для предсказания неизвестных значений (прогнозирование);

3) анализ исключений для выявления и толкования аномалий в найденных закономерностях.

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

Все методы ИАД по принципу работы с исходными данными подразделяются на две группы:

Методы рассуждений на основе анализа прецедентов – исходные данные могут храниться в явном детализированном виде и непосредственно использоваться для прогнозирования и/или анализа исключений. Недостатком этой группы методов является сложность их использования на больших объемах данных.

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

Data Mining (DM)– это технология обнаружения в «сырых» данных ранее неизвестных нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Алгоритмы, используемые в Data Mining, требуют большого количества вычислений, что ранее являлось сдерживающим фактором широкого практического применения этих методов, однако рост производительности современных процессоров снял остроту этой проблемы.

Рынок Business Intelligence состоит из 5 секторов:

1. OLAP-продукты;

2. Инструменты добычи данных;

3. Средства построения Хранилищ и Витрин данных (Data Warehousing);

4. Управленческие информационные системы и приложения;

5. Инструменты конечного пользователя для выполнения запросов и построения отчетов.

В настоящее время среди лидеров корпоративных BI-платформ можно выделить MicroStrategy, Business Objects, Cognos, Hyperion Solutions, Microsoft, Oracle, SAP, SAS Institute и другие (в приложении Б приведен сравнительный анализ некоторых функциональных возможностей BI-систем).



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!