Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кондрашов ВСЕ.doc
Скачиваний:
9
Добавлен:
01.05.2025
Размер:
12 Мб
Скачать
☆

Запрос значений столбца

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

SELECT [FLATTENED] DISTINCT [TOP <n>] <expression list> FROM <model>

[WHERE <condition list>][ORDER BY <expression>]

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

Рассмотрим два примера. В первом будут выведены все значения дискретного столбца Gender (Пол) модели [TMDecisionTree].

SELECT DISTINCT [Gender]

FROM [TM Decision Tree]

Возможный результат выполнения запроса:

Gender

Жен

Муж

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

SELECT DISTINCT [Age] AS [Midpoint Age],

RangeMin([Age]) AS [Minimum Age],

RangeMax([Age]) AS [Maximum Age]

FROM [TMDecisionTree]

Возможный результат выполнения запроса:

Midpoint Age

Minimum Age

Maximum Age

62

26

97

Запрос содержимого модели

Оператор SELECT может не только возвратить используемые моделью варианты, но и вывести ее содержимое. Для этого используется синтаксис

SELECT [FLATTENED] [TOP <n>] <expression list> FROM <model>.CONTENT

[WHERE <condition expression>]

[ORDER BY <expression> [DESC|ASC]]

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

Таблица. Столбцы содержимого модели интеллектуального анализа

Столбец набора строк CONTENT

Описание

MODEL_CATALOG

Имя каталога. Имеет значение NULL, если поставщик не поддерживает каталоги.

MODEL_SCHEMA

Свободное имя схемы. Имеет значение NULL, если поставщик не поддерживает схемы.

MODEL_NAME

Имя модели. Этот столбец не может содержать значение NULL.

ATTRIBUTE_NAME

Имя атрибута, соответствующего этому узлу.

NODE_NAME

Имя узла.

NODE_UNIQUE_NAME

Уникальное имя узла внутри модели.

NODE_TYPE

Целое число, представляющее тип узла.

NODE_GUID

Идентификатор GUID узла. Имеет значение NULL, если идентификатор GUID отсутствует.

NODE_CAPTION

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

CHILDREN_CARDINALITY

Количество имеющихся у узла потомков.

PARENT_UNIQUE_NAME

Уникальное имя родителя узла.

NODE_DESCRIPTION

Описание узла.

NODE_RULE

XML-фрагмент, представляющий внедренное в узел правило. Формат XML-строки основывается на стандарте PMML.

MARGINAL_RULE

XML-фрагмент, описывающий маршрут от родителя к узлу.

NODE_PROBABILITY

Вероятность маршрута, который завершается в узле.

MARGINAL_PROBABILITY

Вероятность доступа к узлу от родительского узла.

NODE_DISTRIBUTION

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

NODE_SUPPORT

Количество вариантов, поддерживающих этот узел.

Следующий пример позволяет просмотреть перечень узлов модели [TM DecisionTree], где число поддерживающих узел вариантов больше 2. Считаем, что модель основана на алгоритме дерева принятия решений.

SELECT NODE_UNIQUE_NAMEFROM [TMDecisionTree].CONTENT

WHERE NODE_SUPPORT >2

Прогнозирование в языке DMX.

Задача прогнозирования в языке DMX также решается с помощью оператора SELECT. При этом чаще всего используется конструкция прогнозирующего соединения - PREDICTION JOIN. С ее помощью шаблонам модели сопоставляется набор данных из внешнего источника, что позволяет определить значение для прогнозируемого столбца.

Упрощенно это можно представить следующим образом. Модель содержит некоторое множество шаблонов, описывающих зависимость выходных параметров от входных. Например:

  1. Если Вход1=x, то Выход = "да"

  2. Если Вход1=y и Вход2=z, то Выход="нет"

  3. …

Для обработки модель получает входные данные из внешнего источника, определяет наиболее соответствующий шаблон и выдает результат. Например, входной вариант имеет атрибут "Вход1=x", применяя первое правило получаем "Выход = "да"".

Рассмотрим теперь синтаксис SELECT, использующийся для прогнозирующего соединения.

SELECT [FLATTENED] [TOP <n>] <select expression list>

FROM <model> | <sub select> [NATURAL] PREDICTION JOIN

<source data query> [ON <join mapping list>]

[WHERE <condition expression>]

[ORDER BY <expression> [DESC|ASC]]

где

n

целое число, указывающее количество возвращаемых строк;

selectexpressionlist

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

model

название модели;

subselect

внедренная (вложенная) инструкция SELECT;

sourcedataquery

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

joinmappinglist

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

conditionexpression

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

expression

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

Предложение ON позволяет сопоставить столбцы исходного запроса со столбцами модели интеллектуального анализа данных (чтобы определить, какие значения рассматривать в качестве входных при прогнозировании). Столбцы в списке <joinmappinglist> соотносятся с помощью знака равенства (=), как показано в следующем примере:

[MiningModel].ColumnA = [source data query].Column1 AND

[MiningModel].ColumnB = [source data query].Column2 AND

...

Инструкция NATURALPREDICTION JOIN автоматически сопоставляет имена столбцов исходного запроса, совпадающих с именами столбцов модели. В случае использования инструкции NATURALPREDICTION предложение ON можно пропустить.

В списке <selectexpressionlist> и выражении <conditionexpression> можно указывать прогнозирующие функции, не возвращающие табличного выражения.

Примеры построения прогнозов.

Одноэлементный запрос (прогноз в реальном времени)

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

Ниже приведен пример подобного прогнозирующего запроса к модели [TMDecisionTree] для оценки того, станет ли покупателем велосипеда человек в возрасте 35 лет, проживающий в 2-5 милях от места работы, владеющий одним домом, двумя автомобилями, с двумя детьми в семье (значения перечислены в том порядке, как идут в листинге). Запрос возвращает прогнозируемое логическое значение столбца [BikeBuyer] и набор табличных значений, возвращенных функцией PredictHistogram, описывающих, как был сделан прогноз.

SELECT

[TM Decision Tree].[Bike Buyer],

PredictHistogram([Bike Buyer])

FROM

[TM Decision Tree]

NATURAL PREDICTION JOIN

(SELECT 35 AS [Age],

'5-10 Miles' AS [Commute Distance],

'1' AS [House Owner Flag],

2 AS [Number Cars Owned],

2 AS [Total Children]) AS t

Здесь нужно отметить, что за счет использования конструкции NATURALPREDICTION JOIN определять соответствия между столбцами модели и набора входных данных не потребовалось.

Запрос с использованием функции OPENQUERY

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

В приведенном ниже примере имена столбцов таблицы отличаются от имен столбцов, содержащихся в модели интеллектуального анализа данных, поэтому нужно использовать предложение ON. Запрос возвращает список имен ([FirstName])и фамилий ([LastName]) каждого человека в таблице [ProspectiveBuyer] наряду с логическим столбцом, указывающим на вероятность покупки им велосипеда, где 0 означает "вероятно, не будет покупать велосипед", а 1 означает "вероятно, купит велосипед". Последний столбец содержит значение вероятности прогнозируемого результата, возвращаемое функцией PredictProbability.

SELECT

t.[LastName],

t.[FirstName],

[TM Decision Tree].[Bike Buyer],

PredictProbability([Bike Buyer])

From

[TM Decision Tree]

PREDICTION JOIN

OPENQUERY([Adventure Works DW2008R2],

'SELECT

[LastName],

[FirstName],

[MaritalStatus],

[Gender],

[YearlyIncome],

[TotalChildren],

[NumberChildrenAtHome],

[Education],

[Occupation],

[HouseOwnerFlag],

[NumberCarsOwned]

FROM

[dbo].[ProspectiveBuyer]

') AS t

ON

[TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND

[TM Decision Tree].[Gender] = t.[Gender] AND

[TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND

[TM Decision Tree].[Total Children] = t.[TotalChildren] AND

[TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND

[TM Decision Tree].[Education] = t.[Education] AND

[TM Decision Tree].[Occupation] = t.[Occupation] AND

[TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND

[TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned]

Использование функции Predict

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

Predict(<scalar column reference>, [option1], [option2], [option n], [INCLUDE_NODE_ID], n)

ИЛИ

Predict(<table column reference>, [option1], [option2], [option n], [INCLUDE_NODE_ID], n)

В то же время просто выбор прогнозируемого столбца в заголовке SELECT аналогичен вызову функции PREDICT с параметрами по умолчанию. Например, если при создании модели указано что столбец [Gender] (пол) - прогнозируемый, то SELECT [Gender] будет аналогично Predict([Gender], EXCLUDE_NULL). Где опция EXCLUDE_NULL указывает на то, что пустые значения исключаются.

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

Прогнозирование наиболее вероятного значения

Если использовать следующий синтаксис оператора SELECT

SELECT <expression list> [TOP <n>] FROM <model>

[WHERE <condition list>]

[ORDER BY <expression> [DESC|ASC]]

и в списке <expressionlist> указать только прогнозируемые столбцы, то оператор выполнит пустое прогнозируемое соединение и возвратит наиболее вероятные значения для указанных столбцов. Для создания прогноза используется только содержимое модели интеллектуального анализа данных.

Например:

SELECT ([Bike Buyer]) FROM [TM_Naive_Bayes]

выдаст наиболее часто встречающееся значение столбца [BikeBuyer].

Создание копии модели - оператор SELECT INTO

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

SELECT INTO <new model>

USING <algorithm> [(<parameter list>)] [WITH DRILLTHROUGH[,] [FILTER(<expression>)]]

FROM <existingmodel>

где

newmodel

имя для новой создаваемой модели;

algorithm

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

parameterlist

cписок через запятую параметров алгоритма;

expression

выражение, определяющее фильтр для значений, попадающих в новую модель;

existingmodel

имя существующей модели для копирования.

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

Например, приведенный ниже фрагмент кода создает новую модель [New_Clustering] на базе существующей модели интеллектуального анализа данных [TMClustering]. В обоих случаях используется алгоритм кластеризации. Но в новой модели параметр CLUSTER_COUNT изменяется так, чтобы существовало максимум пять кластеров, тогда как значение по умолчанию равно 10.

SELECT * INTO [New_Clustering]

USING [Microsoft_Clustering] (CLUSTER_COUNT = 5)

FROM [TM Clustering]

DATA MINING

Data Mining или добыча знаний

  • Data Mining - процесс поиска в данных скрытых закономерностей (шаблонов информации).

  • Data Mining - это технология, которая предназначена для поиска в больших объемах данных неочевидных, объективных и полезных на практике закономерностей.

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

  • Data Mining - это процесс выделения из данных неявной и неструктурированной информации и представления ее в виде, пригодном для использования.

Качественное отличие Data Mining от традиционных статистических методов анализа, которые ориентированы на проверку заранее сформулированных гипотез.

Примеры прикладных задач

Банковское дело

  • Классический пример применения Data Mining в банковском деле - решение задачи определения возможной некредитоспособности клиента банка.

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

  • Задачи сегментации клиентов - Разбивая клиентов при помощи инструментов Data Mining на различные группы, банк имеет возможность сделать свою маркетинговую политику более целенаправленной, а потому – эффективной.

  • Задача управления ликвидностью банка. Прогнозирование остатка на счетах клиентов.

  • Задача выявления случаев мошенничества с кредитными карточками.

Примеры прикладных задач

Страхование

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

  • Задача выявление мошенничества решается путем нахождения некого общего стереотипа поведения клиентов-мошенников.

Электронная коммерция

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

Примеры прикладных задач

Промышленное производство

  • комплексный системный анализ производственных ситуаций;

  • краткосрочный и долгосрочный прогноз развития производственных ситуаций;

  • выработка вариантов оптимизационных решений;

  • прогнозирование качества изделия в зависимости от некоторых параметров технологического процесса;

  • обнаружение скрытых тенденций и закономерностей развития, прогнозирование производственных процессов;

  • обнаружение скрытых факторов влияния;

  • обнаружение и идентификация ранее неизвестных взаимосвязей между производственными параметрами и факторами влияния;

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

  • выработку оптимизационных рекомендаций по управлению производственными процессами.

Примеры прикладных задач

Маркетинг и торговля

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

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

  • методы и алгоритмы поиска ассоциативных правил для определения необходимых объемов запасов товаров на складе.

Примеры прикладных задач

Фондовый рынок

  • прогнозирование будущих значений финансовых инструментов и индикаторов по их прошлым значениям;

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

  • выделение кластерной структуры рынка, отрасли, сектора по некоторому набору характеристик;

  • динамическое управление портфелем;

  • прогноз волатильности;

  • оценка рисков;

  • предсказание наступления кризиса и прогноз его развития;

  • выбор активов и др.

Примеры прикладных задач

Исследования для правительства

  • По данным аналитического отчета Главного контрольного управления американского Конгресса, правительственные ведомства США участвуют приблизительно в двухстах проектах на основе анализа данных (Data Mining), собирающих разнообразную информацию о населении.

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

  • Предварительная стоимость одной из систем составляет более 10 млрд. долларов, разработчик комплекса - компания Accenture.

Проблемы при использовании технологии Data Mining

  • Процесс реализации технологии Data Mining на практике оказывается более сложным, чем часто ожидается.

  • Успешный Data Mining-проект требует понимания сути деятельности, знания данных и инструментов, а также процесса анализа данных.

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

  • Различные инструменты Data Mining имеют различную степень "дружелюбности" интерфейса и требуют определенной квалификации пользователя.

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

  • Успешный анализ требует качественной предобработки данных. По утверждению аналитиков и пользователей баз данных, процесс предобработки может занять до 80% процентов всего Data Mining-процесса.

Используемые понятия и определения

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

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

Параметры - числовые характеристики генеральной совокупности.

Статистики - числовые характеристики выборки.

Гипотеза - предположение относительно параметров совокупности объектов, которое должно быть проверено.

Пример гипотезы: между показателями продолжительности жизни и качеством питания есть связь. Целью исследования может быть объяснение изменений продолжительности жизни.

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

Зависимая переменная в одной гипотезе может быть независимой в другой

Переменная изначально не является зависимой или независимой. Она становится таковой после формулировки конкретной гипотезы.

Задачи Data Mining

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

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

  • Ассоциация

  • Последовательность

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

  • Определение отклонений или выбросов

  • Оценивание

  • Анализ связей

  • Визуализация

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

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

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

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

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

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

  • Оценивание - сводится к предсказанию непрерывных значений признака.

  • Анализ связей - нахождение зависимостей в наборе данных.

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

Два этапа решения задач Data Mining

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

  • использование модели для поступающих новых данных.

Пример: клиенты туристического агентства в базе данных разделены на два класса

Создание модели

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

Использование модели

При появлении нового клиента созданная модель может использоваться для его классификации и направления ему соответствующего рекламного материала.

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

  • Приведенный пример задачи классификации относится к стратегии обучения с учителем (все объекты тренировочного набора данных заранее отнесены к одному из предопределенных классов)

  • Набор исходных данных (или выборка данных) это данные в хранилище (в рассмотренном примере приведенная таблица).

  • Набор исходных данных разбивают на два множества: обучающее и тестовое

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

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

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

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

  • Под классификацией будем понимать отнесение объектов (наблюдений, событий) к одному из заранее известных классов.

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

Классификация (продолжение)

  • Бинарной классификации - зависимая переменная может принимать только два значения (например, да или нет, 0 или 1).

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

  • Классификация может быть одномерной (по одному признаку) и многомерной (по двум и более признакам).

Методы классификации

Принцип классификации на основе линейной регрессии.

В данной двумерном примере выражение регрессии имеет вид A*X + B*Y. При выполнении для параметров объектов условия > A*X + B*Y, объекты принадлежат одному классу (выше прямой линии на рисунке), в противном случае – другому классу.

В общем случае, вместо линейной регрессии можно использовать любое математическое выражение (закон).

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

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

Под правилом понимается логическая конструкция, представленная в виде "если ... то ...".

Внутренние узлы дерева (возраст, наличие недвижимости, доход и образование) являются атрибутами расщепления.

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

Каждая ветвь дерева, идущая от внутреннего узла, отмечена предикатом расщепления (Доход > 5000). Предикат расщепления может относиться лишь к одному атрибуту расщепления (Доход) данного узла.

Особенность предикатов расщепления: каждая запись использует уникальный путь от корня дерева только к одному узлу-решению.

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

Бинарное дерево

Бинарное дерево - представления правил в иерархической последовательной структуре на основе ответов «Да» или «Нет».

Элементы дерева решений:

  • Корень дерева («Солнечно?»)

  • Внутренний узел дерева или узел проверки ("Температура воздуха высокая?", "Идет ли дождь?”)

  • Ветвь дерева (случаи ответа "Да", "Нет«),

  • Лист - конечный узел дерева (узел решения или вершина: "Играть", "Не играть”)

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

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

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

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

Как построить дерево решений?

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

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

Построение дерева решений будет происходит сверху вниз.

Задачи:

  • выбор критерия атрибута, по которому пойдет разбиение

  • остановки обучения

  • отсечения ветвей.

Как построить дерево решений?

Пусть через {C1, C2, ... Ck} обозначены классы, тогда существуют 3 ситуации:

  • множество T содержит один или более примеров, относящихся к одному классу Ck. Тогда дерево решений для Т – это лист, определяющий класс Ck;

  • множество T не содержит ни одного примера, т.е. пустое множество. Тогда это снова лист, и класс, ассоциированный с листом, выбирается из другого множества отличного от T, скажем, из множества, ассоциированного с родителем;

  • множество T содержит примеры, относящиеся к разным классам и его следует разбить на некоторые подмножества. Для этого выбирается один из признаков, имеющий два и более отличных друг от друга значений O1, O2, ... On. T разбивается на подмножества T1, T2, ... Tn, где каждое подмножество Ti содержит все примеры, имеющие значение Oi для выбранного признака.

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

Алгоритмы построения деревьев решений

Существует значительное число алгоритмов, реализующих деревья решений CART, C4.5, NewId, ITrule, CHAID, CN2 и т.д. Наибольшее распространение и популярность получили следующие два:

  • CART (Classification and Regression Tree) – алгоритм построения бинарного дерева решений – дихотомической классификационной модели. Каждый узел дерева при разбиении имеет только двух потомков. Решает задачи классификации и регрессии.

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

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

Дискретные атрибуты

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

Целевой атрибут (столбец) "Покупатели" зависит от атрибута «Возраст» (возраст человека помогает определить, является ли он покупателем).

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

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

Непрерывные атрибуты

Когда алгоритм строит дерево, основанное на непрерывном целевом атрибуте, каждый узел содержит регрессионную формулу.

Разбиение осуществляется в точке нелинейности в этой регрессионной формуле.

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

Два уравнения представляют регрессионные уравнения для этих двух линий (показаны на слайде).

Правило разбиения.

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

Общее правило для выбора атрибута можно сформулировать следующим образом:

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

Существуют различные критерии разбиения.

Теоретико-информационный критерий

Алгоритм C4.5 использует теоретико-информационный подход. Для выбора наиболее подходящего атрибута, предлагается следующий критерий:

где, Info(T) – энтропия множества T, а

Множества T1, T2, ... Tn получены при разбиении исходного множества T по проверке X. Выбирается атрибут, дающий максимальное значение по критерию.

Целый класс алгоритмов, которые используют этот критерий выбора атрибута.

Энтропия - минимум при наибольшей упорядоченности в системе (от 0 до 1).

Статистический критерий

Алгоритм CART использует так называемый индекс Gini (итальянский экономист Corrado Gini), который оценивает "расстояние" между распределениями классов.

где c – текущий узел, а pj – вероятность класса j в узле c.

Правило остановки. Разбивать дальше узел или отметить его как лист?

Эвристические правила:

  • Использование статистических методов для оценки целесообразности дальнейшего разбиения, так называемая "ранняя остановка" (prepruning). «Ранняя остановка" процесса построения привлекательна в плане экономии времени обучения, но строит менее точные классификационные модели и поэтому нежелательна. Авторитеты советуют : "Вместо остановки используйте отсечение".

  • Ограничить глубину дерева. Остановить дальнейшее построение, если разбиение ведет к дереву с глубиной превышающей заданное значение.

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

Правило отсечения. Каким образом ветви дерева должны отсекаться?

Очень часто алгоритмы построения деревьев решений дают сложные деревья, которые имеют много узлов и ветвей. Такие "ветвистые" деревья очень трудно понять и оно разбивает обучающее множество на все большее количество подмножеств, состоящих из все меньшего количества объектов. Ценность правила для малого количества объектов (2-3) крайне низка и для анализа данных практически непригодно. Предпочтительнее иметь дерево, состоящее из малого количества узлов, которым бы соответствовало большое количество объектов из обучающей выборки.

Для решения вышеописанной проблемы часто применяется так называемое отсечение ветвей (pruning).

Отсечение ветвей

Допущение: известен способ оценки ошибки дерева (количество неправильно классифицированных объектов).

Тогда, для отсечения можно использовать следующее правило:

  • построить дерево;

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

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

Методы классификации - «деревья решений»

  • Результат работы алгоритмов конструирования деревьев решений легко интерпретируется пользователем (правила из базы данных извлекаются на естественном языке -Если Возраст > 35 и Доход > 200, то выдать кредит).

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

  • Хорошая точность.

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

  • Разработаны специальные процедуры для создания оптимальные деревья (деревья «подходящих размеров»).

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

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

Кластеризация (или кластерный анализ) — это задача разбиения множества объектов на группы, называемые кластерами. Внутри каждой группы должны оказаться «похожие» объекты, а объекты разных группы должны быть как можно более отличны.

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

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

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

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

Объекты, которые по значениям X и Y "похожи" друг на друга, принадлежат к одной группе (кластеру); объекты из разных кластеров не похожи друг на друга.

Применение кластерного анализа в общем виде сводится к следующим этапам:

1.Отбор выборки объектов для кластеризации.

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

3.Вычисление значений меры сходства между объектами.

4.Применение метода кластерного анализа для создания групп сходных объектов (кластеров).

5.Представление результатов анализа.

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

Вектор характеристик для каждого объекта:

  • Числовые

  • Категорийные (качественные)

Нормализация (чтобы все компоненты давали одинаковый вклад при расчете «расстояния»).

В процессе нормализации все значения приводятся к некоторому диапазону, например, [-1, -1] или [0, 1].

Расстояние между объектами (кластерами) и мера близости

 Наиболее трудным и наименее формализованным в задаче классификации является определение понятия однородности объектов.

В общем случае понятие однородности объектов задается введением:

  • либо правила вычисления расстояний ρ(xi, хj) между любой парой исследуемых объектов (x1, x2, ...,xn),

  • либо некоторой функцией r(хi, xj), характеризующей степень близости i-го и j-го объектов.

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

При задании меры близости r(xi, хj), необходимо выполнение следующих условий:

  • симметрии r(xi, хj) = r(xj, хi);

  • максимального сходства объекта с самим собой r(xi, хi) =  max i,j(xi, хj), 1 ≤ i, j ≤ п,

  • монотонного убывания r(xi, хj) по мере увеличения ρ(xi, хj), т.е. из ρ(xk, хl) ≥ ρ(xi, хj) должно следовать неравенство r(xk, хl) ≤ ρ(xi, хj).

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

Кластеризации (продолжение)

Критерием схожести и различия кластеров является расстояние между точками на диаграмме рассеивания (мера близости).

Несколько способов определения меры расстояния между кластерами (меры подобия).

Наиболее распространенный способ - вычисление евклидова расстояния между точками i и j в пространстве, когда известны их координаты X, Y и Z (для числовых атрибутов).

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

Меры расстояний

Евклидово расстояние Наиболее распространенная функция расстояния. Представляет собой геометрическим расстоянием в многомерном пространстве:

Меры расстояний

Квадрат евклидова расстояния Применяется для придания большего веса более отдаленным друг от друга объектам. Это расстояние вычисляется следующим образом:

Меры расстояний

Расстояние городских кварталов (манхэттенское расстояние) Это расстояние является средним разностей по координатам. В большинстве случаев эта мера расстояния приводит к таким же результатам, как и для обычного расстояния Евклида. Однако для этой меры влияние отдельных больших разностей (выбросов) уменьшается (т.к. они не возводятся в квадрат). Формула для расчета манхэттенского расстояния:

Меры расстояний

Расстояние Чебышева Это расстояние может оказаться полезным, когда нужно определить два объекта как «различные», если они различаются по какой-либо одной координате. Расстояние Чебышева вычисляется по формуле:

Меры расстояний

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

Меры расстояний

Степенное расстояние вычисляется по следующей формуле:

где r и p – параметры, определяемые пользователем. Параметр p ответственен за постепенное взвешивание разностей по отдельным координатам, параметр r ответственен за прогрессивное взвешивание больших расстояний между объектами. Если оба параметра – r и p — равны двум, то это расстояние совпадает с расстоянием Евклида.

Меры расстояний

Процент несогласия.

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

Это расстояние вычисляется по формуле:

расстояние(x,y) = (Количество xi yi)/ i

Кластеризации (продолжение)

Для категорийных атрибутов распространена мера сходства Чекановского-Серенсена.

и Жаккара

Меры близости двух групп объектов

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

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

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

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

Невзвешенное попарное среднее - расстояние между двумя различными кластерами вычисляется как среднее расстояние между всеми парами объектов в них.

Меры близости двух групп объектов

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

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

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

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

Кластеризации (продолжение)

Математические характеристики кластера:

  • Центр кластера - среднее геометрическое место точек в пространстве переменных.

  • Радиус кластера - максимальное расстояние точек от центра кластера.

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

Объект относится к кластеру, если расстояние от объекта до центра кластера меньше радиуса кластера. Если это условие выполняется для двух и более кластеров, объект является спорным.

Неоднозначность данной задачи может быть устранена экспертом или аналитиком.

  • Размер кластера - радиус кластера или среднеквадратичное отклонение объектов для этого кластера.

Кластеризации (продолжение)

Выбор масштаба в кластерном анализе имеет большое значение.

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

Два способа нормирования:

  • деление исходных данных на среднеквадратичное отклонение соответствующих переменных;

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

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

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

Правила объединения или связи

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

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

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

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

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

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

Невзвешенный центроидный метод В этом методе расстояние между двумя кластерами определяется как расстояние между их центрами тяжести.

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

Метод Варда.

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

Классификация алгоритмов

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

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

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

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

Алгоритмы кластеризации

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

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

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

  • восходящие алгоритмы.

  • нисходящие алгоритмы.

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

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

Для вычисления расстояний между кластерами чаще все пользуются двумя расстояниями: одиночной связью или полной связью (меры расстояний между кластерами).

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

Кластеризации (продолжение)

Иерархическая кластеризация состоит в последовательном объединении меньших кластеров в большие (агломеративные методы) или разделении больших кластеров на меньшие (дивизимные методы).

Не требует предварительных предположений относительно числа кластеров,

Иерархические методы кластерного анализа используются при небольших объемах наборов данных. Большинство из них имеют сложность O(n2).

Иерархические алгоритмы обеспечивают сравнительно высокое качество кластеризации.

Примеры алгоритмов

Алгоритм CURE (Clustering Using Representatives), агломеративный - кластеризация очень больших наборов числовых данных, работает только на числовых данных.

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

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

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

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

Также алгоритмы ROCKC, HAMELEON и др.

Дивизимные - Алгоритм BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies), работа с только числовыми данными, алгоритм MST (Algorithm based on Minimum Spanning Trees), кластеризация больших наборов произвольных данных.

Кластеризации (продолжение)

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

В этой группе популярны алгоритмы семейства k-средних (k-means, fuzzy c-means, Густафсон-Кесселя), которые в качестве целевой функции используют сумму квадратов взвешенных отклонений координат объектов от центров искомых кластеров.

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

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

Кластеризации (продолжение)

Итеративные методы - итеративное дробление исходной совокупности (в процессе деления новые кластеры формируются до тех пор, пока не будет выполнено правило остановки).

Необходимо иметь гипотезу о наиболее вероятном количестве кластеров.

Используются при большом количестве наблюдений.

Кластеризации (продолжение)

Кластеризации (продолжение)

Проблема: атрибуты объекта смешанные – одна часть имеет числовой тип, а другая часть – категорийный. Например, (Возраст, Пол, Образование)

Первый атрибут является числовым, остальные – категорийными. Для использования классического иерархического алгоритма с какой-либо мерой сходства, нам придется каким-то образом произвести дискредитацию атрибута "Возраст". Например, {до 30 лет, муж, высшее}. Часть информации теряется.

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

Расстояние между "Пол муж" и "Пол жен" равно 0, т.к. значения этого признака находятся в шкале наименований.

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

Что делать, если категорийные атрибуты важнее числовых?

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

Решение этих проблем ложится на плечи аналитика.

Общие проблемы кластеризации

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

  • Сложность выбора метода кластеризации.

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

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

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

Адаптивные методы кластеризации

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

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

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

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

Формальные критерии оценки качества кластеризации.

Формальные критерии оценки

Показатели четкости достигают максимума при наиболее четком разбиении (Коэффициент разбиения, Индекс четкости)

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

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

Индекс эффективности строится из двух составных частей:

  • межкластерные отличия (велики при оптимальном разбиении)

  • внутрекластерные отличия (малы при оптимальном разбиении)

Ассоциация

Задача ассоциации

Ассоциация - поиск закономерности между связанными событиями в наборе данных.

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

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

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

На основе имеющейся базы данных можно найти закономерности между событиями (покупками).

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

Пусть I = {ii,i2,...,ij,...,in} – множество (набор) товаров (объектов) общим числом n.

Пусть D – множество транзакций D = {T1,T2,Tr,...,Tm}, где каждая транзакция T – это набор элементов из I.

Некоторый произвольный набор объектов (itemset) обозначим F:, например F = {молоко, печенье}.

Набор, состоящий из k элементов, называется k-элементным набором.

Множество транзакций, в которые входит набор F, обозначим DF.

Отношение количества транзакций, в которое входит набор F, к общему количеству транзакций называется поддержкой (support) набора F и обозначается Supp(F): |DF|/| D|.

Набор товаров {Хлеб, молоко, печенье} встречается в базе данных три раза, т.е. поддержка этого набора товаров равна 3 (Supp(F)=3).

Для данного набора товаров поддержка, выраженная в процентном отношении, равна 50% (SUP(Хлеб, молоко, печенье)=(3/6)*100%=50%).

Решении задачи поиска ассоциативного правила представляются в виде:

если (условие), то (результат)

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

Например, ассоциативное правило "если (молоко), то (печенье)" означает, что если потребитель покупает молоко, то он покупает и печенье. Основным достоинством ассоциативных правил является их лёгкое восприятие человеком.

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

Например, для набора {Хлеб, молоко, печенье} могут быть построены следующие правила:

если (Хлеб), то (молоко); если (Хлеб), то (молоко) и т.д.

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

Для оценки полезности правила вводятся поддержка (support).

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

Набор называется частым (large itemset), если значение его поддержки больше минимального значения поддержки, заданного пользователем: Supp(F) > Suppmin.

При минимальном уровне поддержки, равной трем, набор товаров {Хлеб, молоко, печенье} является часто встречающимся шаблоном (min_sup=3, {Хлеб, молоко, печенье} - часто встречающийся шаблон).

Так как правило строится на основании набора, то, значит, правило X=>Y имеет поддержку, равную поддержке набора F, который составляют X и Y: SuppX=>Y =SuppF |DF|/| D|.

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

Достоверность (confidence) - показывает вероятность того, что из наличия в транзакции набора X следует наличие в ней набора Y. Достоверностью правила X=>Y является отношение числа транзакций, содержащих X и Y, к числу транзакций, содержащих набор Х: Conf X=>Y=|Df=XUY|/|Dx|=SuppXUY/SuppX.

Очевидно, что чем больше достоверность, тем правило лучше, причем у правил, построенных на основании одного и того же набора, достоверность будет разная, например:

  • Conf(если (Хлеб), то (печенье)) = 1;

  • Conf(если (печенье), то (Хлеб)) = 1;

  • Conf(если (молоко, печенье), то (Хлеб)) = 1;

  • Conf(если (Хлеб), то (печенье, сметана)) = 2/3.

К сожалению, достоверность не позволяет определить полезность правила.

Если процент наличия в транзакциях набора Y при условии наличия в нем набора Х меньше, чем процент безусловного наличия набора Y, т.е.:

Conf X=>Y= SuppXUY/SuppX < SuppY

Это значит, что вероятность случайно угадать наличие в транзакции набора Y больше, чем предсказать это с помощью правила X=>Y. Для исправления такой ситуации вводится мера - улучшение.

Улучшение(improvement) - показывает, полезнее ли правило случайного угадывания.

Улучшение правила является отношением числа транзакций, содержащих наборы X и Y, к произведению количества транзакций, содержащих набор Х, и количества транзакций, содержащих набор Y:

impr X=>Y=|Df=XUY|/(|Dx||DY|)= SuppXUY/ (SuppX* SuppY)

Например, impr(если (молоко, печенье), то (Хлеб)) = 0,5/(0,5*0,5) = 2.

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

Приведенные оценки используются при генерации правил.

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

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

Разработаны алгоритмы сокращенного перебора (алгоритм Apriori).

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

Например, поддержка 3-элементного набора {Хлеб, Масло, Молоко} будет всегда меньше или равна поддержке 2-элементных наборов {Хлеб, Масло}, {Хлеб, Молоко}, {Масло, Молоко}. Любая транзакция, содержащая {Хлеб, Масло, Молоко}, также должна содержать {Хлеб, Масло}, {Хлеб, Молоко}, {Масло, Молоко}, причем обратное не верно.

Это свойство носит название анти-монотонности и служит для снижения размерности пространства поиска.

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

Предположим, что набор из элементов {A, B} имеет поддержку ниже заданного порога и, соответственно, не является часто встречающимся.

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

Алгоритм Apriori

Алгоритм Apriori определяет часто встречающиеся наборы за несколько этапов.

Во время первого этапа выбранное множество наборов-кандидатов содержит все одно-элементные частые наборы.

На i-ом этапе определяются все часто встречающиеся i-элементные наборы. Каждый этап состоит из двух шагов:

  • формирование кандидатов;

  • подсчет поддержки кандидатов.

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

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

Пример алгоритма (алгоритм Apriori)

  • Происходит формирование одноэлементных кандидатов.

  • Алгоритм подсчитывает поддержку одноэлементных наборов. Наборы с уровнем поддержки меньше установленного, то есть 3, отсекаются. (e и f, которые имеют поддержку, равную 1). Оставшиеся наборы товаров считаются часто встречающимися одноэлементными наборами товаров: это наборы a, b, c, d.

  • Происходит формирование двухэлементных кандидатов, подсчет их поддержки и отсечение наборов с уровнем поддержки, меньшим 3. Оставшиеся двухэлементные наборы товаров считаются часто встречающимися наборами ab, ac, bd.

  • Алгоритм формирует трехэлементные наборы товаров: abc, abd, bcd, acd, подсчитывает их поддержку и отсекает наборы с уровнем поддержки, меньшим 3. Набор товаров abc может быть назван часто встречающимся.

Алгоритм Apriori уменьшает количество кандидатов, отсекая - априори - тех, которые заведомо не могут стать часто встречающимися, на основе информации об отсеченных кандидатах на предыдущих этапах работы алгоритма. Если в наборе находится подмножество, которое на предыдущем этапе было определено как нечасто встречающееся, этот кандидат уже не включается в формирование и подсчет кандидатов. Так наборы товаров ad, bc, cd были отброшены как нечасто встречающиеся, алгоритм не рассматривал товаров abd, bcd, acd.

Задача ассоциации (продолжение)

Проблемы:

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

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

Если значение поддержки правила слишком велико, то будут найдены правила очевидные и хорошо известные.

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

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

Задачи Data mining

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

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

Text Mining

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

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

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

Задачи Text Mining

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

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

  • Автоматическое аннотирование (summarization) - позволяет сократить текст, сохраняя его смысл.

Задачи Text Mining

  • Извлечения ключевых понятий (feature extraction) - идентификация фактов и отношений в тексте. В большинстве случаев такими понятиями являются имена существительные и нарицательные: имена и фа­милии людей, названия организаций и др.

  • Навигация по тексту (text-base navigation) - перемещение по документам относительно тем и значимых терминов.

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

  • Поиск ассоциаций - в заданном наборе документов идентифицируются ассоциатив­ные отношения между ключевыми понятиями.

Этапы Text Mining

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

  • Предварительная обработка документов - простейшие преобразования для представления их в виде, с которым работают методы Text Mining (удаление лишних слов и придание тексту более строгой формы).

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

  • Применение методов Text Mining - извлекаются шаблоны и отношения, имеющиеся в текстах.

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

Предварительная обработка текста

Приемы удаления неинформативных слов и повышения строгости текстов:

  • удаление стоп-слов. Стоп-слова - вспомогательные и несут мало информации о содержании документа (слова и артикли, например: "так как", "кроме того" и т. п.)

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

  • N-граммы — альтернатива морфологическому разбору и удалению стоп-слов. N -грамма - это часть строки, состоящая из N символов (слово "дата" может быть представлено 3-граммой "дат«).

  • приведение регистра

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

Извлечение ключевых понятий из текста

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

Различные подходы к извлечению информации из текста:

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

  • идентификация фактов (некоторые события или отношения) в текстах и извлечение их характеристик

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

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

Процесс извлечения ключевых понятий с помощью шаблонов разбивается на две стадии:

  • локальный анализ

  • анализ понятий

Локальный анализ - из текстовых документов извлекаются отдельные факты с помощью лексиче­ского анализа.

Анализ понятий - интеграция извлеченных фактов и/или в вывод новых фактов.

В конце наиболее характерные факты преобра­зовываются в нужную выходную форму

Система Oracle Text

Oracle Text предоставляет возможность работать с современными реляционными СУБД в контексте сложного многоцелевого поиска и анализа текстовых данных:

  • поиск документов по их содержанию;

  • классификация документов;

  • кластеризация документов;

  • извлечение ключевых понятий;

  • автоматическое аннотирование;

  • поиск в документах ассоциативных связей;

Поддерживает­ся языком запросов в сочетании с традиционным синтаксисом SQL для поиска документов.

IBM Intelligent Miner for Text

Включен в комплекс "Information Integrator for Content" для СУБД DB2 в качестве средства анализа инфор­мации.

Компоненты:

  • Text Search Engine — информационно-поисковая система;

  • Web crawler— утилита сканирования web-пространства;

  • Net Question Solution — решение для поиска на локальном web-сайте или на нескольких lntranet/Internel-серверах;

  • Java Sample GUI — набор интерфейсов Java Beans для администрирования и организации поиска на основе Text Search Engine.

IBM Intelligent Miner for Text

Содержит следующие основные утилиты для решения задач анализа текстовой информации:

  • автомати­ческого определения языка, на котором составлен документ (Language Identification Tool)

  • классификации (Categorisation Tool) — автоматическое отнесение текста к некоторой категории (входной информацией на обучающей фазе работы этого инструмента может служить результат работы следующей утилиты — Clusterisation Tool);

  • кластеризации (Clusterisation Tool) — разбиение большого множе­ства документов на группы по близости стиля, формы, различных частот­ных характеристик выявляемых ключевых слов;

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

  • автоматического аннотирования (Annotation Tool)

SAS Institute — Text Miner

Система SAS Text Miner для сравнения определенных грамматических и словесных рядов в текстах.

Text Miner универсальна - может работать с тексто­выми документами различных форматов (в базах данных, файловых систе­мах, в web).

Text Miner обеспечивает логическую обработку текста в среде пакета SAS Enterprise Miner. Это позволяет пользователям обогащать процесс анализа данных, интегрируя неструктурированную текстовую информацию с сущест­вующими структурированными данными (например, возраст, доход и др.).

Визуализация

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

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

Визуализация (продолжение)

Визуализация (продолжение)

  • штриховка, построение доверительных интервалов и областей (например, эллипсов),

  • создание мозаичных структур, спектральных плоскостей,

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

Системы Data mining

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

Обилие методов и алгоритмов, реализованных в различных действующих системах Data Mining.

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

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

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

Процессы в экономике являются многопараметрическими.

Прогнозирование результатов выборов президента США

  • Правящая партия у власти более 1 срока?

  • Правящая партия получила больше 50 % на прошлых выборах?

  • В год выборов была активна третья партия?

  • Была серьезная конкуренция при выдвижении кандидата правящей партии?

  • Кандидат от правящей партии был президентом в год выборов?

  • Был ли год выборов временем спада или депрессии?

  • Был ли рост среднего национального валового продукта более 2,1 %?

  • Произвел ли правящий президент существенные изменения в политике?

  • Во время правления были существенные социальные волнения?

  • Администрация правящей партии виновна в серьезной ошибке или скандале?

  • Кандидат правящей партии - национальный герой?

  • Кандидат оппозиционной партии - национальный герой? 

Обучающие параметры

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

Нейронные сети (продолжение)

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

Элементарным преобразователем в нейронных сетях является искусственный нейрон.

Нейронные сети (продолжение)

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

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

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

Эта функция называется функцией активации или передаточной функцией нейрона.

Нейронные сети (продолжение)

Математическая модель нейрона:

  • wi-вес синапса, i=1..n

  • b-значение смещения

  • s-результат суммирования

  • xi- компонент входного вектора (входной сигнал), i=1..n, n- число входов нейрона

  • y- выходной сигнал нейрона

  • f- нелинейное преобразование (функция активации).

Нейронные сети (продолжение)

Алгоритм работы:

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

  • в теле нейрона оценивается суммарное значение входных сигналов.

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

  • нейрон формирует выходной сигнал, интенсивность которого зависит от значения вычисленного скалярного произведения. Если - оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе - нейрон «не срабатывает».

Нейронные сети (продолжение)

Персептрон - один слой искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов.

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

x1,x2…-известные значения, y1, y2- определяемые значения

На выходах сети формируются выходные сигналы

Нейронные сети (продолжение)

В многослойных сетях нейроны объединяются в слои.

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

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

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

Внешние входные сигналы подаются на входы нейронов входного слоя, а выходами сети являются выходные сигналы последнего слоя.

Нейронные сети (продолжение)

Геометрическая иллюстрация

Работа персептронов сводится к классификации (обобщению) входных сигналов, принадлежащих n-мерному гиперпространству, по некоторому числу классов.

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

Каждая полученная область является областью определения отдельного класса.

Математически -это разбиение гиперпространства гиперплоскостями (геометрически плоскость описывается линейным уравнением).

Нейронные сети (продолжение)

Процесс функционирования нейронной сети зависит от величин синаптических связей (значения wij).

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

Нахождение значений весовых коэффициентов называется обучением нейронной сети.

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

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

Нейронные сети (продолжение)

Алгоритм обучения:

ШАГ 1. Задать исходные значения весовых коэффициентов (случайные значения).

ШАГ 2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход (поочередно в случайном порядке предъявляются все возможные входные вектора).

ШАГ 3. Если выход правильный, перейти на шаг 4. Иначе -модифицировать веса по некоторому правилу.

Шаг 4. Цикл с шага 2, пока сеть не перестанет ошибаться.

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

Нейронные сети (продолжение)

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

Обычно в качестве минимизируемой целевой функции Е берется величина (метод наименьших квадратов):

 

где:

  • Уj,p (N) реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы p-го образа;

  • Dj,p идеальное (желаемое) выходное состояние этого нейрона.

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

Нейронные сети (продолжение)

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

 

где:

  • Wi,j (n) – весовой коэффициент синаптической связи, соединяющей i-ый нейрон слоя n-1 с j-ым нейроном слоя n;

  • коэффициент скорости обучения.

Нейронные сети (продолжение)

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

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

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

Нейронные сети (продолжение)

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

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

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

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

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

Нейронные сети (продолжение)

Проблемы:

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

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

Применение метода градиентного спуска не гарантирует нахождения глобального минимума целевой функции.

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

Слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения.

Нейронные сети (продолжение)

Проблемы обобщения и переобучения нейронной сети:

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

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

Сети с большим числом весов моделируют более сложные функции и, следовательно, склонны к переобучению.

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

Нейронные сети (продолжение)

Как выбрать правильную степень сложности сети?

Более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении сети.

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

По мере обучения сети ошибка обучения убывает, как и ошибка на тестовом множестве. Если же тестовая ошибка перестала убывать или даже стала расти, то сеть начала слишком близко аппроксимировать данные (переобучилась) и обучение следует остановить.

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

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

Нейронные сети (продолжение)

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

Обратная ситуация может привести к тому, что сеть никогда не обучится.

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

Количество обучающих фактов F:

2 * ( I + H + O ) < = F < = 10 * ( I + H + O ),

где: I - количество входов сети, H - количество спрятанных нейронов, O - количество выходов сети.

Количество скрытых нейронов H:

F / 10 - I - O < = H < = F / 2 - I - O,

где: I - количество входов сети, F - количество фактов обучающей выборки, O - количество выходов сети.

Нейронные сети (продолжение)

Этапы решения практических задач с использованием нейронных сетей:

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

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

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

  • Задание структуры сети

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

  • Использование сети

Пример прогноза

Исходными данными для прогноза являются известные результаты выборов по годам и признаки сложившейся накануне выборов ситуации в США:

  • Правящая партия у власти более 1 срока?

  • Правящая партия получила больше 50 % на прошлых выборах?

  • ……………………………………….

Обучающая выборка состоит из 37 примера, каждый из которых представляет ситуацию выборов, начиная с 1864 г. где признаки «Да» обозначены единицами, а «Нет» - нулями.

Класс 1 означает, что в данной ситуации был избран кандидат правящей партии, класс 2 - кандидат оппозиционной партии.

Пример прогноза

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

Нейронные сети (продолжение)

Наиболее известные универсальные нейросетевые программные системы: NeuroSolutions ( NeuroDimension, Inc), Process Advisor (AI Ware, Inc), NeuroShell 2 (Ward System Group), NeuralWorks Professional (NeuralWare, Inc), BrainMaker Pro (California Scientific Software).

Нейросетевые программные системы для решения задач прогнозирования временных рядов и ориентированные на финансовых работников: Neuro Builder 2001, NeuroShell Day Trader, BioComp Profit, NeuroScalp.

Пакет фирмы “The MathWorks” MATLAB также предоставляет пользователям возможность работы с нейронными сетями (модуль “Neural Network Toolbox”).

Web Mining – применение методов и алгоритмов Data Mining для обнаружения и поиска зависимостей и знаний в сети Интернет.

Примеры задач

  • описание посетителей сайта (кластеризация, классификация);

  • описание посетителей, которые совершают покупки в интернет-магазине (кластеризация, классификация);

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

  • определение групп или сегментов посетителей (кластеризация);

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

  • др.

Примеры задач

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

Поиск сессий с большим количеством действий и высокой продолжительностью.

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

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

  • Посетитель заходит на сайт и открывает некоторые страницы.

  • Рассчитывается, к какому кластеру он ближе (поведение было приписано к некоторому кластеру).

  • Посетителю предлагается просмотреть и остальные страницы из данного кластера (с соответствующей информацией)

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

Сегментация

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

Когда пользователь будет на сайте, его сессию в режиме on-line можно отнести к тому или иному кластеру (для этого можно использовать алгоритмы классификации).

Затем посетителю «подсказывают», какие страницы также стоит посмотреть.

Анализ рыночной корзины

Можно выделить записи, которые отражают факт покупки конкретного товара.

За определенный период посетители интернет-магазина покупают некоторый набор товаров.

Эти данные можно использовать для поиска ассоциативных правил.

Популярный навигационный путь

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

Категории Web Mining

  • Анализ использования веб-ресурсов (Web Usage Mining).

  • Извлечение веб-структур (Web Structure Mining).

  • Извлечение веб-контента (Web Content Mining).

Анализ использования веб-ресурсов

Извлечении данных из логов веб-серверов. Целью анализа является выявление предпочтений посетителей при использовании тех или иных ресурсов сети Интернет.

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

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

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

Извлечение веб-структур

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

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

G = (D, L),

где D – это набор страниц, узлов или документов; L – набор ссылок.

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

Извлечение веб-контента

Поиск знаний в сети Интернет. Основывается на сочетании возможностей информационного поиска, машинного обучения и Data Mining.

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

Это направление может быть использовано для оптимизации поиска индексированных документов.

Взаимосвязь между категориями Web Mining и задачами Data Mining

Этапы Web Mining

  • входной этап (input stage) – получение "сырых" данных из источников (логи серверов, тексты электронных документов);

  • этап предобработки (preprocessing stage) – данные представляются в форме, необходимой для успешного построения той или иной модели;

  • этап моделирования (pattern discovery stage);

  • этап анализа модели (pattern analysis stage) – интерпретация полученных результатов.

Лог-файлы веб-серверов

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

Различные форматы журналов веб-серверов (количество полей).

Общие для всех логов:

  • Поле "удаленный хост« ( содержит IP-адрес или имя)

  • Поле "дата/время".

  • Поле «HTTP запроса» (метод запроса, URI (Uniform Resource Identifier) заголовок, протокол).

  • Поле кода состояния

  • Поле переданного количества данных.

Формат Microsoft IIS

  • IP-адрес клиента;

  • имя пользователя;

  • дата;

  • время;

  • сервис;

  • имя сервера;

  • IP-адрес сервера;

  • пройденное время;

  • количество данных, отправленных клиентом;

  • количество данных, отправленных сервером;

  • код состояния сервиса;

  • код состояния Windows;

  • тип запроса;

  • цель операции;

  • параметры.

Обработка веб-лога

Данные о посещениях сайта хранятся в лог-файлах веб­сервера (текстовые файлы с разделителями).

Очистка и предобработка

  • удаление записей, содержащих запросы графических файлов;

  • удаление записей, отражающих активность веб-ботов;

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

Используются строковые функции и фильтры.

Определение неавторизованных пользователей

  • Создание временного штампа для записей (прошедшее количество секунд от базовой даты).

  • Определить базовую дату.

  • Найти, сколько прошло полных дней от базовой даты.

  • Умножить полученные значения на 86 400 (количество секунд в сутках).

  • Найти прошедшее время в секундах от полуночи.

  • Сложить значения, полученные на этапах 1.3 и 1.4. Это и будет временной штамп.

  • Упорядочить все записи лога по IP-адресу, затем по временному штампу.

  • Каждую отдельную полученную группу IP-адресов определить как отдельного пользователя.

.

Определение сессии

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

  • Определение времени t – максимальный интервал перехода от одной страницы к другой в течение сессии.

  • Сортировка записей по номеру пользователя и по временному штампу.

  • Расчет количества секунд, прошедших от предыдущего просмотра.

  • Если полученное значение превышает заданный интервал t, то запись рассматривается как начало новой сессии.

Определение сессии

Пример: пользователь 42.

23 марта он посетил 3 страницы, и следующие визиты были им сделаны уже 26 числа.

У пользователя 42 было две сессии: 23 и 26 марта.

Выделение отдельных сессий посетителей сайта

Пример анализ использования веб-ресурсов.

Какая страница чаще всего является точкой входа на сайт?

  • Упорядочение записи по ID-сессии и по временному штампу.

  • Сгруппировать данные по ID-сессии, в качестве факта назначив адрес запрошенной страницы (выбрать первую запись).

  • Просмотреть статистику и выявить частые точки захода на сайт.

Наибольшие доли входа на сайт приходятся на страницу форума "бесплатные компоненты" (8,1%) и на главную (4,9%).

Почему главная занимает второе место, а не первое?

Анализ точек захода на сайт.

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

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

  • Посетитель заходит на сайт и открывает некоторые страницы.

  • Рассчитывается, к какому кластеру он ближе (поведение было приписано к некоторому кластеру).

  • Посетителю предлагается просмотреть и остальные страницы из данного кластера (с соответствующей информацией)

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

Social Mining – применение методов и алгоритмов Data Mining для поиска и обнаружения зависимостей и знаний в социальных сетях.

Social Mining

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

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

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

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

Social Mining

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

Social Mining

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

Формально данные сети представлены в виде специально разработанных электронных порталов, таких как «Одноклассники», «Вконтакте» и других.

На рисунке: Группы внутри социальной сети.

Задачи Social Mining

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

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

  • Поиск объектов, наиболее активно участвующих в переписке внутри фирмы.

  • Поиск объектов, имеющих наибольшее количество связей.

  • Поиск наиболее "могущественных" объектов.

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

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

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

  • сбор и обогащение информации о пользователях социальной сети;

  • сегментация пользователей;

  • интерпретация и описание сегментов;

  • сегментация гостевых пользователей на базе построенной модели;

  • персонифицированное предоставление информации сегментам пользователей.

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

Задачи Social Mining

Поиск аномалий, компьютерных ботов и мошенников.

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

Таким образом, анализ позволяет повысить эффективность политики безопасности в социальной сети.

Social Mining, Web Mining и Data Mining тесно взаимосвязаны между собой.

Анализ связей объектов всей сети

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

Используя исходные данные о фактах связей, построим матрицу смежности графа. Матрицей смежности А = [aij] графа G называется квадратная матрица c размерностью n*n (где n – кол-во вершин), а элемент aij определяется по следующему правилу:

  • aij = 1 – если в графе G есть дуга (xi;xj),

  • aij = 0 – если в графе G отсутствует дуга (xi;xj).

Далее, чтобы получить искомую информацию, построчно суммируем матрицу. .

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

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

Вычисление итерированной силы объекта

Далее все объекты сортируются по значению рассчитанной силы P и им присваивается значение рейтинга для объекта, у которого Pmax – это 1, и так далее по убыванию.

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

Анализ связей на уровне групп

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

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

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

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

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

  • Компании New-Vasyuki, ltd. и Black Mesa генерируют трафик между собой;

  • Компании Bol-L-Gol Gardening и Skynet также генерируют трафик между собой;

  • Компания NoName, inc. получает большее количество сообщений от Skynet и передает в компанию Acme Corporation;

  • Компания Acme Corporation генерирует большую часть трафика внутри себя.

Видны две явные группы: New-Vasyuki, ltd. + Black Mesa и Bol-L-Gol Gardening + Skynet.

Компания NoName, inc. является дочерней фирмой компании Acme Corporation.

Анализ связей объектов с группами

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

Группы связаны между собой через узлы 1-3 и 2-4. Причем связь 2-4 односторонняя (объект №4 передает сообщения объекту №2, не получая ответных сообщений), причем объект №4 имеет одностороннюю входящую связь внутри группы.

Исходные данные аналогичны предыдущим примерам.

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

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

Использование результатов

  • Интернет. Выявление лидеров мнений в социальных сетях, запуск "сарафанного радио", управление PR-акциями.

  • Маркетинг. Анализ связей как одного из свойств клиентов для формирования более полного его "портрета", обогащение данных о клиенте.

  • Реклама. Продвижение сложных товаров через сеть лояльных партнеров/клиентов, кросс-продажи.

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

  • Корпоративная психология. Организация эффективных рабочих групп, формирование проектных команд.

  • Оптимизация сети. Перераспределение мощностей для оптимальной обработки трафика.

Хранилища данных

Основы технологии хранилищ данных

Технология хранилищ данных (Data Warehouse)

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

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

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

ХД - базовая технология современных СППР

ХД – важнейший компонент СППР

ХД – важнейший компонент СППР

Предпосылки создания технологии ХД

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

  • №1 операционная обработка данных

  • №2 анализ данных или задача принятия решений (ППР).

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

  • Разные виды обработки данных требуют разного подхода к хранению и представлению данных

№ 1 Операционная обработка данных и транзакционные системы

  • Транзакционные Системы (ТС) - системы или части информационных систем, ориентированные на операционную (системы операционной обработки данных), или транзакционную обработку данных; (ПРОИЗВОДЯТ КУЧУ МУСОРА-ДАННЫХ)

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

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

Транзакция

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

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

  • Пример: операция перевода денежных средств с одного счета на другой предполагает согласованное изменение данных одного счета и второго. Операция состоит из двух элементарных – уменьшить значение одного счета и увеличить значение другого.

Системы обработки транзакций в реальном времени (OLTP).

  • Системы обработки транзакций в реальном времени называются On-line Transaction Processing Systems (OLTP).

  • Системы OLTP могут реализовываться на основе файл-серверных или клиент-серверных архитектур, имеют нормализованные реляционные структуры баз данных.

  • Системы OLTP предназначены для автоматизации повседневных задач, решаемых персоналом «нижнего» звена финансовых органов, банков или других учреждений (учет платежей в бюджет, учет расходов бюджета, клиентов, договоров, заказов, взаиморасчетов, запасов и пр.). Типичным примером OLTP – систем является «1С-Бухгалтерия».

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

№2 Задача анализа данных или задача принятия решений

  • Решением задач этого вида занимаются Аналитические системы.

  • Аналитические Системы (АС) - системы или составляющие части информационных систем, ориентированные на анализ данных. Их часто называют системами поддержки принятия решений (СППР)

  • Основная цель - помочь управляющему персоналу организации принять правильное и своевременное решение (в зарубежной литературе им соответствует термин DSS - Decision Support System)

Каких систем больше транзакционных или аналитических?

  • В настоящий момент более распространены транзакционные учетные системы.

  • Это обусловлено тем, что на первых этапах автоматизации требовалось и требуется навести порядок именно в процессах повседневной рутинной обработки (переработки) данных, на что и ориентированы традиционные Учетные системы.

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

Что такое современная аналитическая система?

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

  • ХД – большая «куча мусора» в которой ищатся модели закономерностей инструментами BI (Business intelligence)

Требования к информации для AC

  • Информация, на основе которой принимается решение, должна быть достоверной, полной, непротиворечивой и адекватной.

  • Поэтому при проектировании СППР возникает вопрос о том, на основе каких данных эта система будет работать и в каком виде данные необходимо представить лицу принимающему решение (ЛПР).

Проблемы анализа собранной информации

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

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

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

Недостатки OLTP систем с точки зрения решения задач анализа

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

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

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

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

Невозможность получения необходимой информации в оперативном режиме

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

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

Нерегламентированные запросы

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

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

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

Недостаточное количество ретроспективной (исторической) информации

  • Очевидно, что чем больше информации вовлечено в процесс принятия решений, тем более обоснованное решение может быть принято.

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

Ограниченные способности обработки и восприятия информации

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

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

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

  • Все это предъявляет специальные требования к инструментам и способам представления анализируемой информации.

Почему нельзя использовать традиционные БД в процессе принятия решений?

  • недостоверность данных;

  • низкая производительность при нестандартных запросах;

  • невозможность преобразования разнородных данных, так как они часто не имеют меток времени.

Проблемы при подготовке отчетов возникают из-за того, что:

  • трудно понять, где находятся данные, необходимые для анализа и принятия решения;

  • большинство БД ориентировано только на стандартные запросы;

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

Парадокс:

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

Выводы

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

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

  • Данные разнотипны и распределены как внутри организации, так и за ее пределами.

  • Лицам, принимающим решения (ЛПР) и аналитикам приходится принимать решения не только в условиях неполной, но и зачастую недостоверной и противоречивой информации.

  • К тому же не всегда удается получить требуемую информацию во время и в наглядном виде. В результате - неудачные решения.

Вывод

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

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

Отличия в требованиях к БД и ХД

Отличия в требованиях к БД и ХД

Основные требования к ХД

  • ХД должно быть:

  • предметно-ориентированным,

  • интегрированным,

  • предназначенным для поддержки принятия решений.

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

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

Особенности организации информации в ХД:

  • предметная ориентированность;

  • интегрированность (целостность и внутренняя взаимосвязь);

  • временная привязка;

  • неразрушаемая совокупность данных.

Предметная ориентированность

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

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

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

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

Интегрированность ХД

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

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

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

Такие интегрированные данные намного проще анализировать

Интегрированность (целостность и внутренняя взаимосвязь)

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

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

  • Например, могут использоваться несколько различных форматов представления дат или один и тот же показатель может называться по-разному, например, "вероятность доведения информации" и "вероятность получения информации". В процессе загрузки данных подобные несоответствия устраняются автоматически;

Временная привязка

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

  • ХД, напротив, содержит исторические данные, накопленные за большой интервал времени (пять—семь лет);

  • Данные в хранилище всегда напрямую связаны с определенным периодом времени.

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

Неизменяемость

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

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

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

  • Стабильность данных также облегчает их анализ.

Прочие особенности ХД

  • ОБЪЕМЫ.Хранилища данных содержат информацию, собранную из нескольких оперативных баз данных. Размер ХД на порядок больше оперативных баз, зачастую имея объем от сотен гигабайт до нескольких терабайт.

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

  • СПЕЦИАЛИЗАЦИЯ.Хранилища данных создаются специально для приложений поддержки принятия решений и предоставляют накопленные за определенное время, сводные и консолидированные данные, которые более приемлемы для анализа, чем детальные индивидуальные записи.

  • СЛОЖНЫЕ ЗАПРОСЫ.Рабочая нагрузка состоит из нестандартных, сложных запросов, которые обращаются к миллионам записей и выполняют огромное количество операций сканирования, соединения и агрегирования. Время ответа на запрос в данном случае важнее, чем пропускная способность.

Компонентная архитектура хранилища данных

Менеджер загрузки и м. хранилища

  • Менеджер загрузки (load manager), который часто называют внешним, (front-end) компонентом, выполняет все операции, связанные с извлечением и загрузкой данных в хранилище. Эти операции включают простые преобразования данных, необходимые для их подготовки к вводу в хранилище.

  • Менеджер хранилища выполняет такие операции, как:

  • анализ непротиворечивости и очистка данных;

  • преобразование и перемещение исходных данных из временного хранилища в основные таблицы хранилища данных;

  • создание индексов и представлений для базовых таблиц;

  • денормализация данных (в случае необходимости);

  • обобщение данных (в случае необходимости);

  • резервное копирование и архивирование данных.

Средства доступа к данным

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

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

  • инструменты создания отчетов и запросов;

  • инструменты разработки приложений;

  • инструменты информационной системы руководителя (Executive Information System — EIS);

  • инструменты оперативной аналитической обработки (OLAP-инструменты)

  • инструменты разработки данных.

Классификация инструментов доступа по уровню возможностей анализа или получаемых даннных

Средства доступа к данным

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

  • Инструменты создания запросов в реляционных СУБД служат для ввода или генерации SQL-команд, используемых для извлечения данных из хранилища. Подобные инструменты обычно скрывают от конечных пользователей сложность операторов языка SQL и структур баз данных — за счет вставки между пользователем и базой данных промежуточного метауровня. Метауровень — это программное обеспечение, которое предоставляет пользователю некоторое предметно-ориентированное представление содержимого базы данных и позволяет генерировать SQL-операторы с помощью визуальных инструментов типа "выбери и щелкни".

Средства доступа к данным

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

  • Инструменты информационной системы руководителя. Информационные системы руководителя (Executive Information System — EIS), которые в последнее время стали называть "информационными системами для всех" (Everybody Information System — EIS), первоначально разрабатывались для поддержки принятия высокоуровневых стратегических решений. Однако впоследствии область применения этих систем была несколько расширена с целью предоставления поддержки управляющему персоналу всех уровней.

Средства доступа к данным

  • OLАР-инструменты. Инструменты оперативной аналитической обработки данных, или OLAP-инструменты, создаются на основе концепции многомерной базы данных.

  • При использовании подобных инструментов предполагается, что данные организованы согласно многомерной модели, которая поддерживается специальной многомерной базой данных (Multi-Dimensional Database — MDDB) или реляционной базой данных, предназначенной для работы с многомерными запросами.

  • Подробно OLAP-инструменты будут рассмотрены далее.

Средства доступа к данным

  • Инструменты раскопки данных (добычи знаний) data mining. Добыча знаний — это процесс открытия новых осмысленных корреляций, распределений и тенденций путем переработки огромного количества информации извлеченной из хранилища данных, с использованием статистических и математических методов, а также методов искусственного интеллекта.

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

  • Обзор методов добычи данных будет дан далее.

Управление метаданными, репозиторий

Метаданные — информация любого рода, которая требуется для управления хранилищем данных. Управление метаданными — важная составляющая процесса поддержки ХД.

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

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

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

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

Виды данных в хранилище

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

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

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

Проблемы хранилищ данных

  • Недооценка ресурсов, необходимых для загрузки данных;

  • Скрытые проблемы источников данных;

  • Отсутствие требуемых данных в имеющихся архивах;

  • Гомогенизация (однородность) данных;

  • Высокие требования к ресурсам;

  • Владение данными;

  • Сложное сопровождение;

  • Долговременный характер проектов;

Недооценка ресурсов, необходимых для загрузки данных

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

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

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

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

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

Отсутствие требуемых данных в имеющихся архивах

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

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

Гомогенизация (однородность) данных

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

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

Высокие требования к ресурсам

  • Для хранилища данных может потребоваться огромный объем дисковой памяти.

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

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

Владение данными

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

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

Сложности сопровождения

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

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

Долговременный характер проектов

  • Хранилище данных представляет собой единый информационный ресурс организации.

  • Однако для его создания может потребоваться несколько лет (бывает до 2-3), а потому многие организации строят также свои собственные витрины данных (будут рассмотрены ниже).

  • Магазины данных (data marts) предназначены для поддержки работы только какого-то одного подразделения организации или одной ее прикладной области, а потому создать их можно гораздо быстрее.

Преимущества создания ХД

При успешной реализации хранилища данных в организации могут быть достигнуты следующие преимущества:

  • Потенциально высокая отдача от инвестиций;

  • Повышение конкурентоспособности;

  • Повышение эффективности труда лиц, ответственных за принятие решений;

Повышение конкурентоспособности

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

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

Повышение эффективности труда лиц, ответственных за принятие решений

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

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

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

Варианты архитектуры ХД

  • Классическая концепция (Corporate Information Factory (CIF)) Билл Инмон (Bill Inmon)

  • Виртуальное хранилище данных

Архитектура ХД (Билла Инмона) «Corporate Information Factory (СIF)»

  • Когда-то этот подход был известен под названием корпоративного Хранилища данных (enterprise data warehouse, сокр. EDW).

  • Скоординированное извлечение данных из источников.

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

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

  • Эти репозитории, в частности, включают специализированные Хранилища для изучения и "добычи" данных (Data Mining), a также витрины данных.

Архитектура ХД (Билла Инмона) «Corporate Information Factory (СIF)»

  • Скоординированное извлечение данных из источников.

  • Накопление данных в централизованном хранилище

  • Многомерный анализ данных в витринах

Архитектура – «виртуальное ХД»

  • В данном случае в отличие от классического ХД (физического) данные из оперативных источников данных (ОИД) не копируются в единое хранилище.

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

UDM от SQL 2005 и вируальные ХД

  • Поддержка архитектуры виртуального ХД достигается благодаря новой возможности SQL Server 2005 -поддержке унифицированной модели измерений (UDM).

  • UDM позволяет получать BI-данные непосредственно от OLTP-систем так, чтобы чрезмерно не нагружать эти системы. В результате отпадает необходимость в витринах данных.

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

UDM от SQL 2005 и виртуальные ХД

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

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

Достоинства архитектуры – «виртуальноеХД»

Достоинства архитектуры – «виртуальноеХД»

Недостатки архитектуры виртуального ХД

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

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

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

  • Главным же недостатком виртуального хранилища является невозможность получения данных за долгий период времени.При отсутствии физического хранилища доступны только те данные, которые на момент запроса есть в ОИД. Основное назначение OLTP-систем — оперативная обработка текущих данных, поэтому они не ориентированы на хранение данных за длительный период времени. По мере устаревания данные выгружаются в архив и удаляются из оперативной БД.

Когда невозможно использовать виртуальное ХД ?

Недостатки архитектуры виртуального ХД

  • Отсутствие физического соединения

  • В других случаях данные могут находиться в базе ОLTP-данных, способной работать с провайдером OLE DB, но полноценное подключение и возможность использования BI-данных отсутствуют. Подключение к UDM требует поддержки соединений OLE DB. Если такая поддержка отсутствует, то, опять же, нам необходимо настроить витрину данных, которая будет служить хранилищем этих данных там, где требуется бизнес-аналитика.

  • Конечно, нужен какой-нибудь способ переноса экспортированного файла от базы OLTP-данных в витрину данных, чтобы его можно было импортировать, что может подразумевать FTP-передачу через модемное соединение, копирование экспортированного файла на архивную ленту или запись файла на DVD-R с последующей транспортировкой диска из одного места в другое. Однако как бы ни передавались данные, они в любом случае попадают в витрину данных с помощью служб интеграции.

Недостатки архитектуры виртуального ХД

  • Данные сторонних источников

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

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

Недостатки архитектуры виртуального ХД

  • Грязные данные

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

Недостатки архитектуры виртуального ХД

  • Унаследованные базы данных

  • Чтобы подключаться к OLTP-системам, источникам данных для UDM требуются провайдеры OLE DB. При создании источников данных может применяться несколько провайдеров OLE DB, однако для некоторых систем управления базами данных соответствующие провайдеры OLE DB не предусмотрены. Точнее, некоторые системы (в особенности устаревшие) вообще не предоставляют тот уровень доступа к данным, который необходим для провайдера OLE DB.

  • В подобных ситуациях данные из унаследованной системы необходимо экспортировать и копировать в базу, которая может работать с UDM, — витрина данных как раз и становится такой базой. Формат экспортируемых из унаследованной системы данных должен быть таким, чтобы данные затем можно было импортировать в витрину данных. Обычно для этого служат текстовые файлы определенного вида, в которых используются разделители данных или столбцы фиксированной ширины; возможно также применение XML-файлов.