Технологии обработки информации. Лекция 4. Технологии OLAP и Data Mining Антон Викторович Кудинов, доцент кафедры ВТ.
Download ReportTranscript Технологии обработки информации. Лекция 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]