Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Технологии обработки информации.
Лекция 7. Технологии OLAP
и Data Mining
к.т.н., доцент Буряченко В.В.
Красноярск, 2019
Содержание
Пример куба
Основные понятия
кубов
Технология (процесс) добычи знаний
Решаемые задачи
Математические основы (РАД)
2
OLAP
OLAP (англ. online analytical processing, оперативная
аналитическая обработка) — технология обработки
данных, заключающаяся в подготовке суммарной
(агрегированной) информации на основе больших
массивов
данных,
структурированных
по
многомерному принципу.
Агрегатные функции образуют многомерный (и,
следовательно, нереляционный) набор данных
(называемый гиперкубом или метакубом), оси
которого содержат параметры, а ячейки — зависящие
от них агрегатные данные.
3
Вдоль каждой оси данные могут быть организованы в виде
иерархии, представляющей различные уровни их
детализации.
OLAP: Тест FASMI
FASMI – Fast Analysis of
Shared Multidimensional Information —
Быстрый анализ разделяемой многомерной информации
Fast: ответ на запрос в течение 1-20 с;
Analysis: любой сложный логический и статистический
анализ для бизнес–приложений;
Shared: защищенный многопользовательский доступ;
Multidimensional: многомерное представление данных
включая иерархии;
Information: большое количество данных и информации.
4
Как реализовать OLAP?
OLAP – функциональность может быть реализована
различными способами, начиная с простейших
средств анализа данных в офисных приложениях и
заканчивая
распределенными
аналитическими
системами, основанными на серверных продуктах.
5
Рассмотрим пример
Стандартная БД Northwind, создаем запрос к
таблицам и представлениям:
Invoices (Счета-фактуры)
Products (Товары)
Categories (Группы товаров)
Цель – получить набор данных о заказах,
включающий:
6
категорию и наименование заказанного товара;
дату размещения заказа;
имя сотрудника, выписавшего счет;
город, страну и название компании-заказчика;
наименование компании, отвечающей за доставку.
Текст запроса
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
7
INNER JOIN dbo.Categories ON dbo.Products.CategoryID =
dbo.Categories.CategoryID INNER JOIN dbo.Invoices ON
dbo.Products.ProductID = dbo.Invoices.ProductID
Запрос в конструкторе
8
Какие агрегатные данные можно получить
Вопрос
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?
3. Какова суммарная стоимость
SELECT SUM (ExtendedPrice) FROM
заказов, сделанных клиентами из
Ord_pmt WHERE
Франции в 1996 году и доставленных CompanyName=’Speedy Express’
компанией Speedy Express?
AND OrderDate BETWEEN ‘December
31, 1995’ AND ‘April 1, 1996’ AND
ShipperName=’Speedy Express’
Результатом данного запроса является число
9
Изменяем параметры запроса 1
10
Если в первом из запросов заменить параметр ‘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
…
…
…
…
11
Манипуляции с запросом 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’
12
соответствующие находящимся на осях
куба значениям параметров запроса в
предложении WHERE
Основные понятия кубов
Для описания значений данных в ячейках
используется термин summary (в общем случае в
одном кубе их может быть несколько);
для обозначения исходных данных, на основе которых
они вычисляются используется термин measure;
для обозначения параметров запросов — термин
dimension;
значения, откладываемые на осях, называются
членами измерений (members).
13
Структура OLAP-куба
14
Иерархии измерений
сбалансированная (balanced) иерархия
15
Операции, выполняемые над гиперкубом. Срез
Срез - формируется подмножество многомерного массива данных,
соответствующее единственному значению одного или нескольких
элементов измерений, не входящих в это подмножество (slice and
dice)
16
Операции, выполняемые над гиперкубом. Вращение
Вращение - изменение расположения измерений, представленных в отчете
или на отображаемой странице. Например, операция вращения может
заключаться в перестановке местами строк и столбцов таблицы. Кроме того,
вращением куба данных является перемещение внетабличных измерений
на место измерений, представленных на отображаемой странице, и
наоборот.
17
Операции, выполняемые над гиперкубом.
Консолидация и детализация
Консолидация и детализация - операции, которые определяют переход вверх по
направлению от детального представления данных к агрегированному и наоборот,
соответственно. Направление детализации (обобщения) может быть задано как по
иерархии отдельных измерений, так и согласно прочим отношениям, установленным в
рамках измерений или между измерениями (drill down).
18
Что такое Data Mining
Data Mining – «добыча данных»
Извлечение новых знаний и неочевидных зависимостей
из больших объемов сложных данных
Предмет интереса:
Нетривиальные знания
Неявные зависимости
Предварительно неизвестные знания
Потенциально полезные знания
Синонимы
Интеллектуальный анализ данных - Business Intelligence
Открытие знаний в БД
Базы знаний. Извлечение знаний
19
Анализ паттернов
Примеры Data Mining: данные полицейских машин
• анализ миллиона
записей о
прохождении
пропускных пунктов
на платных дорогах
• учитывалось
расстояние между
пунктами
• выявлено 793
полицейские
машины, скорость
145-210 км/ч, часто в
нерабочее время
• Пулитцеровская
премия за 2011 г.
http://habrahabr.ru/post/177027/
20
Примеры Data Mining: Оптимизация
общественного транспорта
• IBM, г. Абиджан (3,8 млн. чел.), 85
маршрутов
• анализ данных GSM, выявление какими
путями, в какое время и в каком объёме
передвигается людская масса
• информация о звонках и SMS с 500 тыс.
мобильных телефонов
• 65 улучшений, 10% экономии времени
21
http://habrahabr.ru/company/ibm/blog/181039/
Примеры Data Mining: предсказание
преступлений
• Санта-Крус (Калифорния), 2011 г.
• на базе статистики преступлений за
последние несколько лет вычисляется
частотность каждого типа
преступлений в разных районах
города
• корректируются маршруты для
полицейских патрулей с указанием
«горячих точек»
• полиция Чикаго, Университет Иллинойса, 2008-2013 гг.
• объединение статистики с профилированием
• выявлено > 400 граждан, которые по профилю
наиболее склонны совершить преступление в
ближайшем будущем
• фрагмент социальной сети людей, имеющих высокий
риск стать жертвами убийства. Красным цветом
обозначены жертвы убийств за год
22
http://habrahabr.ru/post/213887/
Примеры формулировок задач при
использовании технологий OLAP и Data Mining
OLAP
Data Mining
Какова средняя продолжительность
нахождения на больничном для
курящих и некурящих?
Какие факторы более всего влияют на
заболеваемость?
Каковы средние размеры телефонных
счетов существующих клиентов в
сравнении со счетами бывших
клиентов (отказавшихся от услуг
телефонной компании)?
Какие характеристики отличают
клиентов, которые, по всей
вероятности, собираются отказаться от
услуг телефонной компании?
Какова средняя величина ежедневных
покупок по украденной и не
украденной кредитной карточке?
Какие схемы покупок характерны для
мошенничества с кредитными
карточками?
23
Почему Data Mining?
Накопление и доступность больших объемов данных:
Инструментарий автоматического накопления данных, БД,
интернет, компьютеризованное общество.
Лавинообразный рост объемов данных: терабайты и более.
Основные источники больших объемов данных:
Бизнес: интернет, e-коммерция, магазины, OLTP-транзакции.
Наука: дистанционное зондирование, биоинформатика, моделирование.
Общество, люди: новости, фотографии.
Люди «тонут» в необработанных данных.
Необходим автоматизированный анализ больших наборов
данных.
24
Развитие технологий БД
1960-е:
Сбор данных, разработка БД, сетевые СУБД.
1970-е:
Реляционная модель данных, реляционные СУБД.
1980-е:
Реляционные
СУБД,
продвинутые
модели
данных
(иерархические, объектно-ориентированные, дедуктивные и др.).
Предметно-ориентированные БД (космос, наука, инженерия).
1990-е:
Data Mining, Data Warehousing, мультимедиа БД, интернет БД.
2000-е
Управление потоком данных, извлечение знаний.
Data Mining.
Web технологии (SOA, XML, интеграция данных).
Глобальные информационные системы.
25
Приложения Data Mining (1)
Анализ данных и поддержка принятия решений:
Маркетинг и менеджмент:
CRM-системы, целевое потребление, анализ корзин покупателя,
кросс-продажи, сегментация рынка.
Анализ и управление рисками:
Прогнозы, контроль качества, конкурентный анализ, анализ «чтоесли».
Обнаружение мошенничества в транзакциях OLTP систем.
Другие приложения:
Text Mining (news группы, e-почта, статьи) и Web Mining.
Data Mining в поточных данных.
Биоинформатика и анализ.
26
Приложения Data Mining (2)
27
http://3.bp.blogspot.com/-ARWXJFdzxmo/TzTcIU1MKeI/AAAAAAAAA0w/fIyuJZ55tY/s1600/data_mining_map.JPG
Приложения: Анализ рынка и менеджмент (3)
Источники данных:
Транзакции продаж, продвижение продукции со скидками, БД в Call-центрах, опросы
и изучение общественного мнения.
Маркетинг:
Выделить сегменты потребителей со сходными характеристиками:
интерес, уровень дохода, привычки потребления и др.
Определить паттерны покупок покупателей за период времени.
Анализ рынка:
Найти ассоциации и корреляции по продажам продуктов, выполнить предсказания на
основе ассоциативных правил.
Профилирование потребителей:
Какие типы потребителей покупают определенные группы продуктов (кластеризация
или классификация).
Анализ требований потребителей:
Выявление наилучших продуктов для разных групп потребителей.
Прогноз, какие факторы привлекают новых клиентов.
Подготовка отчетности:
Многомерные итоговые отчеты.
Статистическая отчетность (тенденции и вариации в данных).
28
Приложения: Анализ и управление рисками (4)
Финансовое планирование и оценка остатков:
Анализ финансовых потоков и прогнозы.
Анализ претензий.
Перекрестный анализ и анализ временных рядов:
стратегии и тренды.
Задачи планирования ресурсов.
Оценка и поддержка ресурсов.
Конкурентоспособность:
Отслеживание конкурентов и направлений развития рынка.
Группировка потребителей в классы и сегментирование ценовой
политики. Установка ценовых политик на высококонкурентном
29
рынке.
Приложения: Обнаружение мошенничества
и неожиданных паттернов (5)
Подходы: Построение модели и кластеризация данных с неожиданными
характеристиками для обнаружения мошенничества.
Приложения:
страхование, торговля, банковские карты,телекоммуникации.
Ипотека: риски невозвращения кредита.
Финансовые операции: нетипичные транзакции.
Медицинские страховки.
Телекоммуникации: мошенничество:
30
Модель типового звонка: место назначения, длительность, день
недели и время. Анализ паттернов, отличающихся от типовых.
Торговля:
Разработка скрининговых тестов здоровья пациентов.
До 38% воровства – из-за нечестных сотруднков.
Анти-терроризм.
Общий подход
построение модели (= паттерна)
прогноз на основе модели
выявление данных, не укладывающихся в модель
CRISP-DM методология
31
Процесс извлечения знаний
Знания
Оценка
паттернов
Анализируемые
данные
Хранилища
данных
Источники
данных
32
Ключевые шаги в извлечении знаний
Изучение предметной области:
Изучение априорной информации и целей приложения.
Создание модельных данных (target): селекция данных.
Очистка данных и предобработка: (до 60% времени!).
Уменьшение размерности данных и трансформации:
Выявление полезных характеристик, инвариантов, методов
понижения размерности в модели.
Суммирование, классификация, регрессия, ассоциации.
Выбор алгоритмов Data Mining:
Data Mining: поиск интересных паттернов.
Оценка паттернов и представление знаний:
33
Визуализация, трансформация, удаление избыточных паттернов и
т.д.
Использование открытых знаний.
Data Mining и Business Intelligence
Увеличение потенциала
поддержки принятия решений
End User
Принятие
решений
Презентация данных
Техники визуализации
Data Mining
Открытие информации
Business
Analyst
Data
Analyst
Извлечение данных
Агрегирование, запросы, отчетность
Предобработка данных/интеграция, хранилища данных
DBA
Гетерогенные источники данных
34
Data Mining vs. Традиционный анализ данных
Огромные объемы данных:
Данные высокой размерности:
Требуются масштабированные алгоритмы для террабайтных БД.
До десятков тысяч измерений.
Высокая сложность данных:
Потоковые бинарные данные и данные датчиков.
Данные временных рядов, временные данные, данные
последовательностей событий.
Структурные данные, графики, социальные отношения, данные со
множественными ссылками.
Гетерогенные источники данных и унаследованные БД.
Пространственные, пространственно-временные, мультимедиа, текстовые и
Web-данные.
Программное обеспечение, научное моделирование.
Новые сложные приложения.
35