1.01k likes | 1.73k Views
Технологии обработки информации. Лекция 4. Технологии OLAP и Data Mining. Антон Викторович Кудинов, доцент кафедры ВТ. Итоги коллоквиума. Содержание. Пример куба Основные понятия кубов Технология (процесс) добычи знаний Решаемые задачи Математические основы (РАД). OLAP.
E N D
Технологии обработки информации.Лекция 4. Технологии OLAP и Data Mining Антон Викторович Кудинов, доцент кафедры ВТ
Содержание • Пример куба • Основные понятия кубов • Технология (процесс) добычи знаний • Решаемые задачи • Математические основы (РАД)
OLAP • OLAP (англ. online analytical processing, оперативная аналитическая обработка) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу • Агрегатные функции образуют многомерный (и, следовательно, нереляционный) набор данных (называемый гиперкубом или метакубом), оси которого содержат параметры, а ячейки — зависящие от них агрегатные данные. Вдоль каждой оси данные могут быть организованы в виде иерархии, представляющей различные уровни их детализации
OLAP: Тест FASMI FASMI – Fast Analysis of Shared Multidimensional Information — Быстрый анализ разделяемой многомерной информации Fast: ответ на запрос в течение 1-20 с Analysis: любой сложный логический и статистический анализ для бизнес–приложений Shared: защищенный многопользовательский доступ Multidimensional:многомерное представление данных включая иерархии Information: большое количество данных и информации
Как реализовать OLAP? • OLAP-функциональность может быть реализована различными способами, начиная с простейших средств анализа данных в офисных приложениях и заканчивая распределенными аналитическими системами, основанными на серверных продуктах
Рассмотрим пример • Стандартная БД Northwind , создаем запрос к таблицам и представлениям: • Invoices • Products • Categories • Цель – получить набор данных о заказах, включающий: • категорию и наименование заказанного товара • дату размещения заказа • имя сотрудника, выписавшего счет, • город, страну и название компании-заказчика, • наименование компании, отвечающей за доставку
Текст запроса • SELECT • dbo.Invoices.Country, dbo.Invoices.City, dbo.Invoices.CustomerName, dbo.Invoices.Salesperson, dbo.Invoices.OrderDate,dbo.Categories.CategoryName, dbo.Invoices.ProductName, dbo.Invoices.ShipperName, dbo.Invoices.ExtendedPrice • FROM dbo.Products • INNER JOIN dbo.Categories ON dbo.Products.CategoryID = dbo.Categories.CategoryID INNER JOIN dbo.Invoices ON dbo.Products.ProductID = dbo.Invoices.ProductID
Какие агрегатные данные можно получить Результатом любого запроса является число
Изменяем параметры запроса 1 • Если в первом из запросов заменить параметр ‘France’ на ‘Austria’ или на название иной страны, можно снова выполнить этот запрос и получить другое число. Выполнив эту процедуру со всеми странами, мы получим следующий набор данных • Country SUM (ExtendedPrice) • Argentina 7327.3 • Austria 110788.4 • Belgium 28491.65 • Brazil 97407.74 • Canada 46190.1 • Denmark 28392.32 • Finland 15296.35 • SELECT • Country, • SUM (ExtendedPrice) • FROM invoices1 • GROUP BY Country
Манипуляции с запросом 2 • Если выполнять этот запрос, подставляя в него все возможные значения параметров Country и ShipperName, мы получим двухмерный набор данных SELECT Country,ShipperName, SUM (ExtendedPrice) FROM invoices1 GROUP BY COUNTRY,ShipperName
Манипуляции с запросом 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’ Ячейки куба содержат агрегатные данные, соответствующие находящимся на осях куба значениям параметров запроса в предложении WHERE
Основные понятия кубов • описания значений данных в ячейках, используется термин summary (в общем случае в одном кубе их может быть несколько) • для обозначения исходных данных, на основе которых они вычисляются — термин measure • для обозначения параметров запросов — термин dimension • значения, откладываемые на осях, называются членами измерений (members)
Иерархии измерений сбалансированная (balanced) иерархия
Операции, выполняемые над гиперкубом. Срез Срез - формируется подмножество многомерного массива данных, соответствующее единственному значению одного или нескольких элементов измерений, не входящих в это подмножество (slice and dice)
Операции, выполняемые над гиперкубом. Вращение Вращение - изменение расположения измерений, представленных в отчете или на отображаемой странице. Например, операция вращения может заключаться в перестановке местами строк и столбцов таблицы. Кроме того, вращением куба данных является перемещение внетабличных измерений на место измерений, представленных на отображаемой странице, и наоборот
Операции, выполняемые над гиперкубом. Консолидация и детализация Консолидация и детализация - операции, которые определяют переход вверх по направлению от детального представления данных к агрегированному и наоборот, соответственно. Направление детализации (обобщения) может быть задано как по иерархии отдельных измерений, так и согласно прочим отношениям, установленным в рамках измерений или между измерениями (drill down)
Что такое Data Mining Data Mining– «добыча данных» • Извлечение новых знаний и неочевидных зависимостейиз больших объемов сложных данных • Предмет интереса: • Нетривиальные знания • Неявные зависимости • Предварительно неизвестные знания • Потенциально полезные знания • Синонимы • Интеллектуальный анализ данных - Business Intelligence • Открытие знаний в БД • Базы знаний. Извлечение знаний • Анализ паттернов
Примеры Data Mining: данные полицейских машин • анализ миллиона записей о прохождении пропускных пунктов на платных дорогах • учитывалось расстояние между пунктами • выявлено 793 полицейские машины, скорость 145-210 км/ч, часто в нерабочее время • Пулитцеровская премия за 2011 г. http://habrahabr.ru/post/177027/
Примеры Data Mining: Оптимизация общественного транспорта • IBM, г. Абиджан (3,8 млн. чел.), 85 маршрутов • анализ данных GSM, выявление какими путями, в какое время и в каком объёме передвигается людская масса • информация о звонках и SMS с 500 тыс. мобильных телефонов • 65 улучшений, 10% экономии времени http://habrahabr.ru/company/ibm/blog/181039/
Примеры Data Mining: предсказание преступлений • Санта-Крус (Калифорния), 2011 г. • на базе статистики преступлений за последние несколько лет вычисляется частотность каждого типа преступлений в разных районах города • корректируются маршруты для полицейских патрулей с указанием «горячих точек» • полиция Чикаго, Университет Иллинойса, 2008-2013 гг. • объединение статистики с профилированием • выявлено > 400 граждан, которые по профилю наиболее склонны совершить преступление в ближайшем будущем • фрагмент социальной сети людей, имеющих высокий риск стать жертвами убийства. Красным цветом обозначены жертвы убийств за год http://habrahabr.ru/post/213887/
Примеры формулировок задач при использовании технологий OLAP и Data Mining
Почему Data Mining? • Накопление и доступность больших объемов данных • Инструментарий автоматического накопления данных, БД, интернет, компьютеризованное общество • Лавинообразный рост объемов данных: терабайты и более • Основные источники больших объемов данных • Бизнес: интернет, e-коммерция, магазины, OLTP-транзакции • Наука: дистанционное зондирование, биоинформатика, моделирование • Общество, люди: новости,фотографии • Люди «тонут» в необработанных данных • Необходим автоматизированный анализ больших наборов данных
Развитие технологий БД • 1960-е: • Сбор данных, разработка БД, сетевые СУБД • 1970-е: • Реляционная модель данных, реляционные СУБД • 1980-е: • Реляционные СУБД, продвинутые модели данных (иерархические, объектно-ориентированные, дедуктивные и др.) • Предметно-ориентированные БД (космос, наука, инженерия) • 1990-е: • Data Mining, Data Warehousing, мультимедиа БД, интернет БД • 2000-е • Управление потоком данных, извлечение знаний • Data Mining • Web технологии (SOA, XML, интеграция данных) • Глобальные информационные системы
Приложения Data Mining (1) • Анализ данных и поддержка принятия решений • Маркетинг и менеджмент • CRM-системы, целевое потребление, анализ корзин покупателя,кросс-продажи, сегментация рынка • Анализ и управление рисками • Прогнозы, контроль качества, конкурентный анализ,анализ «что-если» • Обнаружение мошенничества в транзакциях OLTP систем • Другие приложения • Text Mining (news группы, e-почта, статьи) и Web Mining • Data Mining в поточных данных • Биоинформатикаи анализ
Приложения Data Mining (2) http://3.bp.blogspot.com/-ARWXJFdzxmo/TzTcIU1MKeI/AAAAAAAAA0w/f-IyuJZ55tY/s1600/data_mining_map.JPG
Приложения: Анализ рынка и менеджмент (3) • Источники данных: • транзакции продаж, продвижение продукции со скидками, БД в Call-центрах, опросы и изучение общественного мнения • Маркетинг • Выделить сегментыпотребителей со сходными характеристиками: интерес, уровень дохода, привычки потребления и др. • Определить паттерны покупок покупателей за период времени • Анализ рынка — Найти ассоциации и корреляции по продажам продуктов, выполнить предсказания на основе ассоциативных правил • Профилирование потребителей — какие типы потребителей покупают определенные группы продуктов (кластеризация или классификация) • Анализ требований потребителей • Выявление наилучших продуктов для разных групп потребителей • Прогноз, какие факторы привлекают новых клиентов • Подготовка отчетности • Многомерные итоговые отчеты • Статистическая отчетность (тенденции и вариации в данных)
Приложения: Анализ и управление рисками (4) • Финансовое планирование и оценка остатков • Анализ финансовых потоков и прогнозы • Анализ претензий • Перекрестный анализ и анализ временных рядов: стратегии и тренды • Задачи планирования ресурсов • Оценка и поддержка ресурсов • Конкурентоспособность • monitor competitors and market directions • Группировка потребителей в классы и сегментирование ценовой политики. Установка ценовых политик на высококонкурентном рынке
Приложения: Обнаружение мошенничества и неожиданных паттернов (5) • Подходы:Построение модели и кластеризация данных с неожиданными характеристиками для обнаружения мошенничества • Приложения: страхование, торговля, банковские карты,телекоммуникации. • Ипотека: риски невозвращения кредита • Финансовые операции: нетипичные транзакции • Медицинские страховки • Разработка скрининговых тестов здоровья пациентов • Телекоммуникации: мошенничество • Модель типового звонка: место назначения, длительность, день недели и время. Анализ паттернов, отличающихся от типовых. • Торговля • До 38% воровства – из-за нечестных сотруднков • Анти-терроризм
Общий подход • построение модели (= паттерна) • прогноз на основе модели • выявление данных, не укладывающихся в модель CRISP-DM методология
Ключевые шаги в извлечении знаний • Изучение предметной области • Изучение априорной информации и целей приложения • Создание модельных данных (target): селекция данных • Очистка данныхи предобработка: (до 60% времени!) • Уменьшение размерности данных и трансформации • Выявление полезных характеристик, инвариантов, методов понижения размерности в модели • Суммирование, классификация, регрессия, ассоциации • Выбор алгоритмов Data Mining • Data Mining: поиск интересных паттернов • Оценка паттернов и представление знаний • Визуализация, трансформация, удаление избыточных паттернов и т.д. • Использование открытых знаний
Data Mining и Business Intelligence Увеличение потенциала поддержки принятия решений End User Принятие решений Business Analyst Презентация данных Техники визуализации Data Analyst Data Mining Открытие информации Извлечение данных Агрегирование, запросы, отчетность Предобработка данных/интеграция, хранилища данных DBA Гетерогенные источники данных
Data Mining vs. Традиционный анализ данных • Огромные объемы данных • Требуются масштабированные алгоритмы для террабайтных БД • Данные высокой размерности • До десятков тысяч измерений • Высокая сложность данных • Потоковые бинарные данные и данные датчиков • Данные временных рядов, временные данные, данные последовательностей событий • Структурные данные, графики, социальные отношения, данные со множественными ссылками • Гетерогенные источники данных и унаследованные БД • Пространственные, пространственно-временные, мультимедиа, текстовые и Web-данные • Программное обеспечение, научное моделирование • Новые сложные приложения
Задачи • Классификация • Кластеризация • Сокращение описания • Ассоциация • Прогнозирование • Анализотклонений • Оценивание • Анализ связей • Визуализация
Классификация (Classification) • Наиболее простая и распространенная задача Data Mining. В результате решения задачи классификации обнаруживаются признаки, которые характеризуют группы объектов исследуемого набора данных - классы; по этим признакам новый объект можно отнести к тому или иному классу.
Классификация: примеры • Кредитный скоринг • Распознавание образов • Медицинская диагностика • Определение лояльности клиентов
Виды классификации • Простая и сложная • Одномерная и многомерная • Обучение с учителем: • Обучающее множество • Контрольное множество • Кросс-валидация
Методы решения задачи классификации • ближайшего соседа (Nearest Neighbor) • k-ближайшего соседа (k-Nearest Neighbor) • байесовские сети (Bayesian Networks) • индукция деревьев решений • нейронные сети (neural networks) • линейная регрессия
Пример классификации: определение съедобности грибов (дерево решений)
Кластеризация (Clustering) • Кластеризация является логическим продолжением идеи классификации. Это задача более сложная, особенность кластеризации заключается в том, что классы объектов изначально не предопределены. Результатом кластеризации является разбиение объектов на группы. • Обучение без учителя • Признаки кластера: • внутренняя однородность • внешняя изолированность
Примеры кластеризации • Маркетинг: • сегментация потребителей и конкурентов • позиционирование продуктов • Медицина • классификация симптомов • Социология: • разбиение респондентов на однородные группы • Производство: • выявление типичных производственных ситуаций и режимов
Методы решения задачи кластеризации • Алгоритмы, основанные на разделении данных (Partitioning algorithms): • разделение объектов на k кластеров • итеративное перераспределение объектов для улучшения кластеризации • Иерархические алгоритмы (Hierarchy algorithms): • агломерация: каждый объект первоначально является кластером, кластеры, соединяясь друг с другом, формируют больший кластер и т.д. • Методы, основанные на концентрации объектов (Density-based methods) • Грид-методы (Grid-based methods) • Модельные методы (Model-based)
Ассоциация (Associations) • Ассоциативное правило: «Из события А следует событие В» • В ходе решения задачи поиска ассоциативных правил отыскиваются закономерности между связанными событиями в наборе данных. • Отличия: поиск закономерностей осуществляется не на основе свойств анализируемого объекта, а между несколькими событиями, которые происходят одновременно. • Пример: 65% купивших пиво берут также и чипсы, а при наличии скидки за такой комплект - в 85% случаев
Ассоциация: методы решения • Алгоритм AIS • Алгоритм SETM • Алгоритмы Apriori: • AprioriTiD • AprioriHybrid
Последовательность (Sequence) • Последовательность позволяет найти временные закономерности между транзакциями. • Правило последовательности: после события X через определенное время произойдет событие Y. • Пример. После покупки квартиры жильцы в 60% случаев в течение двух недель приобретают холодильник, а в течение двух месяцев в 50% случаев приобретается телевизор.
Прогнозирование (Forecasting) • В результате решения задачи прогнозирования на основе особенностей исторических данных оцениваются пропущенные или же будущие значения целевых численных показателей. • Этапы: • построение модели по обучающей выборке • прогнозирование по модели • оценка точности прогнозирования • Методы решения: методы математической статистики (линейная регрессия), деревья решений, нейронные сети и др.