Технологии обработки информации. Лекция 4. Технологии OLAP и Data Mining Антон Викторович Кудинов, доцент кафедры ВТ.

Download Report

Transcript Технологии обработки информации. Лекция 4. Технологии OLAP и Data Mining Антон Викторович Кудинов, доцент кафедры ВТ.

Технологии обработки информации.
Лекция 4. Технологии OLAP и Data Mining
Антон Викторович Кудинов,
доцент кафедры ВТ
Итоги коллоквиума
1
2
3
Редько
Гиберт
Федорова
Кулемеев
Вайцеховский
Ковалев
Назмутдинов
Галузо
Гапонов
Фролов
Окунев
Шадрина
Матвиенко
Борисова
Попова
Кравченко
Гущин
Федорченко
Лукиных
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
2
4
0
0
1
0
1
2
0
1
0
3
-
-
-
-
-
-
-
-
-
-
9
1
2
1
9
0
8
9
0
4
2
2
3
2
2
4
1
2
1
1
6
1
4
2
2
2
3
3
47
Содержание
 Пример куба
 Основные
понятия кубов
 Технология (процесс) добычи знаний
 Решаемые задачи
 Математические основы (РАД)
3
OLAP
OLAP (англ. online analytical processing, оперативная
аналитическая обработка) — технология обработки
данных, заключающаяся в подготовке суммарной
(агрегированной) информации на основе больших
массивов данных, структурированных по
многомерному принципу
 Агрегатные функции образуют многомерный (и,
следовательно, нереляционный) набор данных
(называемый гиперкубом или метакубом), оси
которого содержат параметры, а ячейки — зависящие
от них агрегатные данные. Вдоль каждой оси данные
могут быть организованы в виде иерархии,
представляющей различные уровни их детализации
4

OLAP: Тест FASMI
FASMI – Fast Analysis of
Shared Multidimensional Information —
Быстрый анализ разделяемой многомерной информации
Fast: ответ на запрос в течение 1-20 с
Analysis: любой сложный логический и статистический
анализ для бизнес–приложений
Shared: защищенный многопользовательский доступ
Multidimensional: многомерное представление данных
включая иерархии
Information: большое количество данных и информации
5
Как реализовать OLAP?
OLAP-функциональность может быть реализована
различными способами, начиная с простейших
средств анализа данных в офисных приложениях и
заканчивая распределенными аналитическими
системами, основанными на серверных продуктах

6
Рассмотрим пример
Стандартная БД Northwind , создаем запрос к
таблицам и представлениям:




Invoices
Products
Categories
Цель – получить набор данных о заказах,
включающий:






7
категорию и наименование заказанного товара
дату размещения заказа
имя сотрудника, выписавшего счет,
город, страну и название компании-заказчика,
наименование компании, отвечающей за доставку
Текст запроса
SELECT


dbo.Invoices.Country,
dbo.Invoices.City, dbo.Invoices.CustomerName, dbo.Invoice
s.Salesperson, dbo.Invoices.OrderDate,dbo.Categories.Categ
oryName, dbo.Invoices.ProductName, dbo.Invoices.Shipper
Name, dbo.Invoices.ExtendedPrice
FROM dbo.Products


8
INNER JOIN dbo.Categories ON dbo.Products.CategoryID =
dbo.Categories.CategoryID INNER JOIN dbo.Invoices ON
dbo.Products.ProductID = dbo.Invoices.ProductID
Запрос в конструкторе
9
Какие агрегатные данные можно получить
Вопрос
SQL-запрос
1. Какова суммарная стоимость
заказов, сделанных клиентами из
Франции?
SELECT SUM (ExtendedPrice) FROM
invoices1 WHERE Country=’France’
2. Какова суммарная стоимость
SELECT SUM (ExtendedPrice) FROM
заказов, сделанных клиентами из
invoices1 WHERE Country=’France’
Франции и доставленных компанией
AND ShipperName=’Speedy Express’
Speedy Express?
SELECT SUM (ExtendedPrice) FROM
3. Какова суммарная стоимость
Ord_pmt WHERE
заказов, сделанных клиентами из
CompanyName=’Speedy Express’
Франции в 1996 году и доставленных AND OrderDate BETWEEN ‘December
компанией Speedy Express?
31, 1995’ AND ‘April 1, 1996’ AND
ShipperName=’Speedy Express’
Результатом любого запроса является число
10
Изменяем параметры запроса 1









11
Если в первом из запросов заменить параметр ‘France’ на
‘Austria’ или на название иной страны, можно снова
выполнить этот запрос и получить другое число. Выполнив
эту процедуру со всеми странами, мы получим следующий
набор данных
Country SUM (ExtendedPrice)
Argentina 7327.3
SELECT
Austria 110788.4
Country,
Belgium 28491.65
SUM (ExtendedPrice)
Brazil 97407.74
FROM invoices1
Canada 46190.1
GROUP BY Country
Denmark 28392.32
Finland 15296.35
Манипуляции с запросом 2

Если выполнять этот запрос, подставляя в него все
возможные значения параметров Country и
ShipperName, мы получим двухмерный набор данных
ShipperName
Country
Federal Shipping Speedy Express United Package
Argentina
1 210.30
1 816.20
5 092.60
Austria SELECT
40 870.77
41 004.13
46 128.93
Belgium
11 393.30
4 717.56
17 713.99
Country,ShipperName,
Brazil
16 514.56
35 398.14
55 013.08
SUM
(ExtendedPrice)
Canada
19 598.78
5 440.42
25 157.08
Denmark FROM 18invoices1
295.30
6 573.97
7 791.74
Finland
4 889.84BY COUNTRY,ShipperName
5 966.21
7 954.00
GROUP
France
28 737.23
21 140.18
31 480.90
Germany
53 474.88
94 847.12
81 962.58
…
…
…
…
12
Манипуляции с запросом 3
SELECT
SUM (ExtendedPrice)
FROM Ord_pmt
WHERE
CompanyName=’Speedy
Express’
AND
OrderDate
BETWEEN
‘December
31, 1995’
AND ‘April 1, 1996’
AND
ShipperName=’Speedy
Ячейки куба содержат агрегатные данные,
Express’
13
соответствующие находящимся на осях
куба значениям параметров запроса в
предложении WHERE
Основные понятия кубов




описания значений данных в ячейках, используется
термин summary (в общем случае в одном кубе их
может быть несколько)
для обозначения исходных данных, на основе которых
они вычисляются — термин measure
для обозначения параметров запросов — термин
dimension
значения, откладываемые на осях, называются
членами измерений (members)
14
Структура OLAP-куба
15
Иерархии измерений
сбалансированная (balanced) иерархия
16
Операции, выполняемые над гиперкубом. Срез
Срез - формируется подмножество многомерного массива данных,
соответствующее единственному значению одного или нескольких
элементов измерений, не входящих в это подмножество (slice and
dice)
17
Операции, выполняемые над гиперкубом. Вращение
Вращение - изменение расположения измерений, представленных в отчете
или на отображаемой странице. Например, операция вращения может
заключаться в перестановке местами строк и столбцов таблицы. Кроме того,
вращением куба данных является перемещение внетабличных измерений
на место измерений, представленных на отображаемой странице, и
наоборот
18
Операции, выполняемые над гиперкубом.
Консолидация и детализация
Консолидация и детализация - операции, которые определяют переход вверх по
направлению от детального представления данных к агрегированному и наоборот,
соответственно. Направление детализации (обобщения) может быть задано как по
иерархии отдельных измерений, так и согласно прочим отношениям, установленным в
рамках измерений или между измерениями (drill down)
19
Что такое Data Mining
Data Mining – «добыча данных»

Извлечение новых знаний и неочевидных зависимостей
из больших объемов сложных данных

Предмет интереса:


Нетривиальные знания

Неявные зависимости

Предварительно неизвестные знания

Потенциально полезные знания
Синонимы

Интеллектуальный анализ данных - Business Intelligence

Открытие знаний в БД

Базы знаний. Извлечение знаний
20
Анализ паттернов
Примеры Data Mining: данные полицейских машин
• анализ миллиона
записей о
прохождении
пропускных пунктов
на платных дорогах
• учитывалось
расстояние между
пунктами
• выявлено 793
полицейские
машины, скорость
145-210 км/ч, часто в
нерабочее время
• Пулитцеровская
премия за 2011 г.
http://habrahabr.ru/post/177027/
21
Примеры Data Mining: Оптимизация
общественного транспорта
• IBM, г. Абиджан (3,8 млн. чел.), 85
маршрутов
• анализ данных GSM, выявление какими
путями, в какое время и в каком объёме
передвигается людская масса
• информация о звонках и SMS с 500 тыс.
мобильных телефонов
• 65 улучшений, 10% экономии времени
22
http://habrahabr.ru/company/ibm/blog/181039/
Примеры Data Mining: предсказание
преступлений
• Санта-Крус (Калифорния), 2011 г.
• на базе статистики преступлений за
последние несколько лет вычисляется
частотность каждого типа
преступлений в разных районах
города
• корректируются маршруты для
полицейских патрулей с указанием
«горячих точек»
• полиция Чикаго, Университет Иллинойса, 2008-2013 гг.
• объединение статистики с профилированием
• выявлено > 400 граждан, которые по профилю
наиболее склонны совершить преступление в
ближайшем будущем
• фрагмент социальной сети людей, имеющих высокий
риск стать жертвами убийства. Красным цветом
обозначены жертвы убийств за год
23
http://habrahabr.ru/post/213887/
Примеры формулировок задач при
использовании технологий OLAP и Data Mining
OLAP
Data Mining
Какова средняя продолжительность
нахождения на больничном для
курящих и некурящих?
Какие факторы более всего влияют на
заболеваемость?
Каковы средние размеры телефонных
счетов существующих клиентов в
сравнении со счетами бывших
клиентов (отказавшихся от услуг
телефонной компании)?
Какие характеристики отличают
клиентов, которые, по всей
вероятности, собираются отказаться от
услуг телефонной компании?
Какова средняя величина ежедневных
покупок по украденной и не
украденной кредитной карточке?
Какие схемы покупок характерны для
мошенничества с кредитными
карточками?
24
Почему Data Mining?

Накопление и доступность больших объемов данных

Инструментарий автоматического накопления данных, БД,
интернет, компьютеризованное общество

Лавинообразный рост объемов данных: терабайты и более

Основные источники больших объемов данных

Бизнес: интернет, e-коммерция, магазины, OLTP-транзакции

Наука: дистанционное зондирование, биоинформатика, моделирование

Общество, люди: новости, фотографии

Люди «тонут» в необработанных данных

Необходим автоматизированный анализ больших наборов
данных
25
Развитие технологий БД





1960-е:
 Сбор данных, разработка БД, сетевые СУБД
1970-е:
 Реляционная модель данных, реляционные СУБД
1980-е:
 Реляционные СУБД, продвинутые модели данных
(иерархические, объектно-ориентированные, дедуктивные и др.)
 Предметно-ориентированные БД (космос, наука, инженерия)
1990-е:
 Data Mining, Data Warehousing, мультимедиа БД, интернет БД
2000-е
 Управление потоком данных, извлечение знаний
 Data Mining
 Web технологии (SOA, XML, интеграция данных)
 Глобальные информационные системы
26
Приложения Data Mining (1)

Анализ данных и поддержка принятия решений

Маркетинг и менеджмент



CRM-системы, целевое потребление, анализ корзин покупателя,
кросс-продажи, сегментация рынка
Анализ и управление рисками

Прогнозы, контроль качества, конкурентный анализ, анализ «чтоесли»

Обнаружение мошенничества в транзакциях OLTP систем
Другие приложения

Text Mining (news группы, e-почта, статьи) и Web Mining

Data Mining в поточных данных

Биоинформатика и анализ
27
Приложения Data Mining (2)
28
http://3.bp.blogspot.com/-ARWXJFdzxmo/TzTcIU1MKeI/AAAAAAAAA0w/fIyuJZ55tY/s1600/data_mining_map.JPG
Приложения: Анализ рынка и менеджмент (3)






Источники данных:

транзакции продаж, продвижение продукции со скидками, БД в Call-центрах, опросы
и изучение общественного мнения
Маркетинг
 Выделить сегменты потребителей со сходными характеристиками:
интерес, уровень дохода, привычки потребления и др.
 Определить паттерны покупок покупателей за период времени
Анализ рынка
— Найти ассоциации и корреляции по продажам продуктов, выполнить предсказания на
основе ассоциативных правил
Профилирование потребителей
— какие типы потребителей покупают определенные группы продуктов (кластеризация
или классификация)
Анализ требований потребителей
 Выявление наилучших продуктов для разных групп потребителей
 Прогноз, какие факторы привлекают новых клиентов
Подготовка отчетности
 Многомерные итоговые отчеты
 Статистическая отчетность (тенденции и вариации в данных)
29
Приложения: Анализ и управление рисками (4)

Финансовое планирование и оценка остатков

Анализ финансовых потоков и прогнозы

Анализ претензий

Перекрестный анализ и анализ временных рядов:
стратегии и тренды


Задачи планирования ресурсов

Оценка и поддержка ресурсов
Конкурентоспособность

monitor competitors and market directions

Группировка потребителей в классы и сегментирование ценовой
политики. Установка ценовых политик на высококонкурентном
30
рынке
Приложения: Обнаружение мошенничества
и неожиданных паттернов (5)

Подходы: Построение модели и кластеризация данных с неожиданными
характеристиками для обнаружения мошенничества

Приложения:
страхование, торговля, банковские карты,телекоммуникации.

Ипотека: риски невозвращения кредита

Финансовые операции: нетипичные транзакции

Медицинские страховки


Телекоммуникации: мошенничество


31
Модель типового звонка: место назначения, длительность, день
недели и время. Анализ паттернов, отличающихся от типовых.
Торговля


Разработка скрининговых тестов здоровья пациентов
До 38% воровства – из-за нечестных сотруднков
Анти-терроризм
Общий подход



построение модели (= паттерна)
прогноз на основе модели
выявление данных, не укладывающихся в модель
CRISP-DM методология
32
Процесс извлечения знаний
Знания
Оценка
паттернов
Анализируемые
данные
Хранилища
данных
Источники
данных
33
Ключевые шаги в извлечении знаний

Изучение предметной области

Изучение априорной информации и целей приложения

Создание модельных данных (target): селекция данных

Очистка данных и предобработка: (до 60% времени!)

Уменьшение размерности данных и трансформации

Выявление полезных характеристик, инвариантов, методов
понижения размерности в модели

Суммирование, классификация, регрессия, ассоциации

Выбор алгоритмов Data Mining

Data Mining: поиск интересных паттернов

Оценка паттернов и представление знаний

34
Визуализация, трансформация, удаление избыточных паттернов и
т.д.
Использование открытых знаний
Data Mining и Business Intelligence
Увеличение потенциала
поддержки принятия решений
End User
Принятие
решений
Презентация данных
Техники визуализации
Data Mining
Открытие информации
Business
Analyst
Data
Analyst
Извлечение данных
Агрегирование, запросы, отчетность
Предобработка данных/интеграция, хранилища данных
DBA
Гетерогенные источники данных
35
Data Mining vs. Традиционный анализ данных

Огромные объемы данных


Данные высокой размерности



Требуются масштабированные алгоритмы для террабайтных БД
До десятков тысяч измерений
Высокая сложность данных

Потоковые бинарные данные и данные датчиков

Данные временных рядов, временные данные, данные
последовательностей событий

Структурные данные, графики, социальные отношения, данные со
множественными ссылками

Гетерогенные источники данных и унаследованные БД

Пространственные, пространственно-временные, мультимедиа, текстовые и
Web-данные

Программное обеспечение, научное моделирование
Новые сложные приложения
36
Задачи
Классификация
 Кластеризация
 Сокращение описания
 Ассоциация
 Прогнозирование
 Анализ отклонений
 Оценивание
 Анализ связей
 Визуализация

37
Классификация (Classification)

Наиболее простая и распространенная задача Data
Mining. В результате решения задачи классификации
обнаруживаются признаки, которые характеризуют
группы объектов исследуемого набора данных классы; по этим признакам новый объект можно
отнести к тому или иному классу.
38
Классификация: примеры




Кредитный скоринг
Распознавание образов
Медицинская диагностика
Определение лояльности клиентов
39
Виды классификации

Простая и сложная
Одномерная и многомерная

Обучение с учителем:




40
Обучающее множество
Контрольное множество
Кросс-валидация
Методы решения задачи классификации
Neighbor)
 k-ближайшего соседа (k-Nearest
Neighbor)
 байесовские сети (Bayesian Networks)
 индукция деревьев решений
 нейронные сети (neural networks)
 линейная регрессия
 ближайшего соседа (Nearest
41
Пример классификации:
определение съедобности грибов (дерево решений)
42
Кластеризация (Clustering)



Кластеризация является логическим продолжением
идеи классификации. Это задача более сложная,
особенность кластеризации заключается в том, что
классы объектов изначально не предопределены.
Результатом кластеризации является разбиение
объектов на группы.
Обучение без учителя
Признаки кластера:


43
внутренняя однородность
внешняя изолированность
Классификация vs. кластеризация
44
Примеры кластеризации

Маркетинг:



Медицина


классификация симптомов
Социология:


сегментация потребителей и конкурентов
позиционирование продуктов
разбиение респондентов на однородные группы
Производство:

45
выявление типичных производственных ситуаций и
режимов
Методы решения задачи кластеризации

Алгоритмы, основанные на разделении данных
(Partitioning algorithms):



Иерархические алгоритмы (Hierarchy algorithms):




разделение объектов на k кластеров
итеративное перераспределение объектов для улучшения
кластеризации
агломерация: каждый объект первоначально является
кластером, кластеры, соединяясь друг с другом, формируют
больший кластер и т.д.
Методы, основанные на концентрации объектов (Densitybased methods)
Грид-методы (Grid-based methods)
Модельные методы (Model-based)
46
Ассоциация (Associations)




Ассоциативное правило: «Из события А следует
событие В»
В ходе решения задачи поиска ассоциативных правил
отыскиваются закономерности между связанными
событиями в наборе данных.
Отличия: поиск закономерностей осуществляется не
на основе свойств анализируемого объекта, а между
несколькими событиями, которые происходят
одновременно.
Пример: 65% купивших пиво берут также и чипсы, а
при наличии скидки за такой комплект - в 85% случаев
47
Ассоциация: методы решения



Алгоритм AIS
Алгоритм SETM
Алгоритмы Apriori:


48
AprioriTiD
AprioriHybrid
Последовательность (Sequence)



Последовательность позволяет найти временные
закономерности между транзакциями.
Правило последовательности: после события X через
определенное время произойдет событие Y.
Пример. После покупки квартиры жильцы в 60%
случаев в течение двух недель приобретают
холодильник, а в течение двух месяцев в 50% случаев
приобретается телевизор.
49
Прогнозирование (Forecasting)


В результате решения задачи прогнозирования на
основе особенностей исторических данных
оцениваются пропущенные или же будущие значения
целевых численных показателей.
Этапы:




построение модели по обучающей выборке
прогнозирование по модели
оценка точности прогнозирования
Методы решения: методы математической статистики
(линейная регрессия), деревья решений, нейронные
сети и др.
50
Прогнозирование по временным рядам



Временной ряд – последовательность наблюдаемых
значений какого-либо признака, упорядоченных в
неслучайные моменты времени
Период, горизонт и интервал прогнозирования
Краткосрочный прогноз (<3% от объема наблюдений),
среднесрочный (3-5%), долгосрочный (>5%)
51
Анализ временных рядов (2)




Большинство регулярных составляющих временных
рядов принадлежит к двум классам: они являются
либо трендом, либо сезонной составляющей
Тренд – общая систематическая линейная или
нелинейная компонента, которая может изменяться
во времени
Сезонная составляющая - это периодически
повторяющаяся компонента
часто присутствуют в ряде одновременно (продажи
компании могут возрастать из года в год, но они также
содержат сезонную составляющую)
52
Анализ временных рядов (3)
53
Временная корреляция между поисковыми
запросами в Google Trends
54
Анализ отклонений или выбросов
(Deviation Detection)


Цель решения данной задачи - обнаружение и анализ
данных, наиболее отличающихся от общего
множества данных, выявление так называемых
нехарактерных шаблонов.
Пример: выявление вредоносных программ через
анализ нетипичной сетевой активности
55
Визуализация (Visualization, Graph Mining)







В результате визуализации создается графический
образ анализируемых данных. Для решения задачи
визуализации используются графические методы,
показывающие наличие закономерностей в данных.
Пример методов визуализации - представление
данных в 2-D и 3-D измерениях.
Графы
Параллельные координаты
Лица Чернова
Лепестковые диаграммы
другие
56
Примеры визуализации: графы (1)
57
связи между различными болезнями
Визуализация: деревья
58
http://bl.ocks.org/mbostock/4063550
Примеры визуализации: графы (3)
59
Информационный портрет сайта NASA. Martyn Robertson, of Newcastle
University, http://www.telegraph.co.uk/science/science-news/10492552/A-galaxy-Asupernova-No-its-NASAs-website.html
Примеры визуализации: графы (3)
Показаны результаты анализа твитов, содержащих фразы «Только что
вылетел из…» и «Только что приземлился в…»
(http://www.flickr.com/photos/blprnt/3521508124/)
60
Визуализация: столбцовые диаграммы
61
http://flare.prefuse.org/
Визуализация: параллельные координаты
62
сравнение параметров двух моделей
Визуализация: лепестковые диаграммы
63
числа, выпадавшие в лотереях в разные годы
Визуализация: диаграммы Венна
64
описывают логические отношения между
конечным числом наборов данных
Визуализация: лица Чернова
65
Визуализация: график рассеивания
66
http://informationandvisualization.de/blog/5dimensional-scatter-plot
Визуализация: текстура
67
Подводные течения
http://ccom.unh.edu/vislab/projects/2d_flow_vis.html
Визуализация: heat map
68
http://www.mediabistro.com/alltwitter/files/2012/11/Screen-Shot-2012-11-19-at12.07.35-PM.png
Визуализация: ландшафтная
69
http://www.coolinfographics.com/blog/2007/10/29/where-we-live.html
Визуализация: диаграммы Вороного
70
http://mbostock.github.io/d3/talk/20111116/airports-all.html
Визуализация: карты динамики
71
http://datamining.typepad.com/data_mining/2009/08/the-human-journey.html
Визуализация: аноморфные карты
Картирование размера населения страны
http://www.worldmapper.org/display.php?selected=2
72
Визуализация: 3D-картодиаграмма в
Excel 2013
73
http://blogs.office.com/b/microsoft-excel/archive/2013/04/11/public-preview-ofgeoflow-for-excel-delivers-3d-data-visualization-and-storytelling.aspx
Визуализация: облако тэгов
74
Результаты обработки текстов песенпобедителей "Евровидения« с 1956 по 2010 гг.
Визуализация: dashboard
75
Математическая основа
Разведочный анализ данных
76
Отличия от традиционной проверки
гипотез




не предназначен для проверки априорных
предположений
нужен, когда природа связей между переменными
неизвестна («черный ящик»)
учитывается и сравнивается большое число
переменных
для поиска закономерностей используются самые
разные методы
77
Многомерный РАД

поиск закономерностей в многомерных данных (или
последовательностях одномерных данных)










78
кластерный анализ
факторный анализ
анализ дискриминантных функций
многомерное шкалирование
логлинейный анализ
канонические корреляции
пошаговая линейная и нелинейная (например, логит)
регрессия
анализ соответствий
анализ временных рядов
деревья классификации
Кластерный анализ





включает в себя набор различных алгоритмов
классификации
общий вопрос – как организовать наблюдаемые
данные в наглядные структуры, т.е. развернуть
таксономии (древообразная структура классификаций
определенного набора объектов)
пример – разделение животных на классы, рода и
виды
приложения – медицина, археология, биология,
маркетинг
методы – объединение (древовидная кластеризация),
двувходовое объединение, метод K средних
79
Главные компоненты и факторный анализ

Главные цели:


80
сокращение числа переменных (редукция
данных)
определение структуры взаимосвязей между
переменными, т.е. классификация переменных
Анализ временных рядов


основывается на предположении, что
последовательные значения в файле данных
наблюдаются через равные промежутки времени
(тогда как в других методах нам не важна и часто не
интересна привязка наблюдений ко времени)
две основные цели анализа временных рядов:



определение природы ряда
прогнозирование (предсказание будущих значений
временного ряда по настоящим и прошлым значениям)
предполагает, что данные содержат систематическую
составляющую (обычно включающую несколько
компонент) и случайный шум (ошибку)
81
Спасибо за внимание!

82
[email protected]