У вас вопросы?
У нас ответы:) SamZan.net

тематических методов

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 3.2.2025

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

 

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

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

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

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

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

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

  1.  Принципы анализа данных

Процесс анализа. В инф. подходе к анализу данных, помимо модели, присутствуют еще три важные составляющие: эксперт, гипотеза и аналитик.

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

Аналитик - специалист в области анализа и моделирования. Аналитик на достаточном уровне владеет какими-либо инструментальными и программными средствами анализа данных. Кроме того, в обязанности аналитика входят функции систематизации данных, опроса мнений экспертов, координации действий всех участников проекта по анализу данных. Он играет роль «мостика» между экспертами, то есть является связующим звеном между специалистами разных уровней и областей.

Можно выделить две основные группы методов:

- извлечение и визуализация данных;

- построение и использование моделей.

Извлечение и визуализация данных.В этом случае аналитик некоторым образом формулирует запрос к системе, извлекает нужную информацию из различных источников и просматривает полученные результаты. На их основе он делает выводы, которые и являются результатом анализа. Существует множество способов визуализации данных:OLAP (кросс-таблицы и кросс-диаграммы);таблицы;диаграммы, гистограммы;карты, проекции, срезы и т. п.

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

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

Процесс построения моделей состоит из нескольких шагов:

- Формулирование цели моделирования.

- Подготовка и сбор данных.

- Поиск модели.

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

  1.  Формы представления данных

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

  1.  Технологии KDD и Data Mining

Процесс Knowledge Discovery in Databases, состоит из следующих шагов:

  1.  Подготовка исходного набора данных. Этот этап заключается в создании набора данных, в том числе из различных источников, выбора обучающей выборки и т.д. Для этого должны существовать развитые инструменты доступа к различным источникам данных. Желательно иметь поддержку работы с хранилищами данных и наличие семантического слоя, позволяющего использовать для подготовки исходных данных не технические термины, а бизнес понятия.
  2.  Предобработка данных. Для того чтобы эффективно применять методы Data Mining, следует обратить внимание на вопросы предобработки данных. Данные могут содержать пропуски, шумы, аномальные значения и т.д. Кроме того, данные могут быть избыточны, недостаточны и т.д. В некоторых задачах требуется дополнить данные некоторой априорной информацией. Наивно предполагать, что если подать данные на вход системы в существующем виде, то на выходе получим полезные знания. Данные должны быть качественны и корректны с точки зрения используемого метода DM. Поэтому первый этап KDD заключается в предобработке данных. Более того, иногда размерность исходного пространства может быть очень большой, и тогда желательно применять специальные алгоритмы понижения размерности. Это как отбор значимых признаков, так и отображение данных в пространство меньшей размерности.
  3.  Трансформация, нормализация данных. Этот шаг необходим для приведения информации к пригодному для последующего анализа виду. Для чего нужно проделать такие операции, как приведение типов, квантование, приведение к "скользящему окну" и прочее. Кроме того, некоторые методы анализа, которые требуют, чтобы исходные данные были в каком-то определенном виде. Нейронные сети, скажем, работают только с числовыми данными, причем они должны быть нормализованы.
  4.  Data Mining. На этом шаге применяются различные алгоритмы для нахождения знаний. Это нейронные сети, деревья решений, алгоритмы кластеризации, установления ассоциаций и т.д.
  5.  Постобработка данных. Интерпретация результатов и применение полученных знаний в бизнес приложениях.

  1.  Аналитические платформы

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

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

  1.  Консолидация данных: источники данных, основные задачи консолидации данных, обобщенная схема процесса консолидации данных

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

В процессе консолидации данных решаются следующие задачи:

- выбор источников данных;

- разработка стратегии консолидации;

- оценка качества данных;

- обогащение;

- очистка;

- перенос в хранилище данных.

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

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

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

Очистка данных - комплекс методов и процедур, направленных на устранение причин, мешающих корректной обработке: аномалий, пропусков, дубликатов, противоречий, шумов и т.д.

  1.  Хранилища данных: основные особенности концепции ХД, основные требования к ХД

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

Интеграция

ранее разъединенных детализированных (описывающих некоторые конкретные факты, свойства, события и т.д.) данных в едином ХД : исторические архивы, данные из традиционных СОД, данные из внешних источников в едином ХД, их согласование и возможно агрегация. Интегрированность означает, что, например, данные, полученные из различных источников, хранятся согласованно и централизованно.

Разделение

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

Цель концепции ХД

Цель концепции ХД - прояснить отличия в характеристиках данных в операционных и аналитических системах, определить требования к данным помещаемым в целевую БД ХД, определить общие принципы и этапы её построения, основные источники данных, дать рекомендации по решению потенциальных проблем возникающих при их выгрузке, очистке, согласовании, транспортировке и загрузке в целевую БД.

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

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

  1.  Многомерные и реляционные хранилища данных

Реляционные хранилища данных

В начале 1970-х гг. англо-американский ученый Э. Кодд разработал реляционную модель организации хранимых данных, которая положила начало новому этапу эволюции СУБД. Благодаря простоте и гибкости реляционная модель стала доминирующей, а реляционные СУБД стали промышленным стандартом де-факто.

Определение

Реляционная база данных (relational database) — совокупность отношений, содержащих всю информацию, которая должна храниться в базе. Физически это выражается в том, что информация хранится в виде двумерных таблиц, связанных с помощью ключевых полей.

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

В основе технологии РХД лежит принцип, в соответствии с которым измерения хранятся в плоских таблицах так же, как и в обычных реляционных СУБД, а факты (агрегируемые данные) — в отдельных специальных таблицах этой же базы данных. При этом таблица фактов является основой для связанных с ней таблиц измерений. Она содержит количественные характеристики объектов и событий, совокупность которых предполагается в дальнейшем анализировать.

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

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

Системы оперативной аналитической обработки (online analytical processing — OLAP) позволяют оперативно получить ответы на запросы, охватывающие большие объемы данных в поисках общих тенденций.

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

  1.  ETL-процесс: основные цели и задачи, извлечение данных, очистка данных, преобразование данных, загрузка данных

ETL (от англ. Extract, Transform, Load — дословно «извлечение, преобразование, загрузка») — один из основных процессов в управлении хранилищами данных, который включает в себя:

  1.  извлечение данных из внешних источников;
  2.  их трансформация и очистка, чтобы они соответствовали нуждам бизнес-модели;
  3.  и загрузка их в хранилище данных.

Продукты ETL

Коммерческие

  1.  Ab Initio (англ.) ;
  2.  SAS Data Integration Server (в более ранних версиях известный как «SAS ETL Studio» (вер. 8) и «SAS Data Integration Studio» (вер. 9);
  3.  SAP BusinessObjects Data Integrator (до покупки компании BusinessObjects корпорацией SAP известный как «BusinessObjects Data Integrator»);
  4.  Службы интеграции Microsoft SQL Server (входят в линейку Microsoft SQL Server, SSIS)
  5.  IBM WebSphere DataStage (англ.);
  6.  Informatica PowerCenter;
  7.  Oracle Data Integrator (англ.) (ранее принадлежавший компании Sunopsis).

[править]Свободно распространяемые

  1.  Pentaho;
  2.  Talend Open Studio (англ.);
  3.  Scriptella (англ.);
  4.  JasperETL (компании JasperSoft);
  5.  CloverETL (англ.).

  1.  Трансформация данных: основные методы

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

Типичные средства трансформации:

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

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

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

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

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

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

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

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

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

  1.  Визуализация данных: цели и задачи на разных этапах аналитического процесса, группы методов визуализации данных

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

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

- представление данных в одном, двух и трех измерениях;

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

- одномерное (univariate) измерение, или 1-D;

- двумерное (bivariate) измерение, или 2-D;

- трехмерное или проекционное (projection) измерение, или 3-D.

 

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

- его кластерную структуру и распределение объектов на классы;

- топологические особенности;

- наличие трендов;

- информацию о взаимном расположении данных;

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

- представление данных в четырех и более измерениях.

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

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

- "лица Чернова". Основная идея состоит в кодировании значений различных переменных в характеристиках или чертах человеческого лица.

- лепестковые диаграммы.

  1.  Оценка качества данных: уровни качества данных, оценка пригодности данных к анализу, оценка качества данных по их происхождению

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

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

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

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

  1.  Технологии и методы оценки качества данных

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

- метод внутренней оценки;

- метод внешней оценки.

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

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

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

При оценке качества данных в составе набора применяются как полный (100 %) контроль, так и контроль по выборке данных.

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

Пример - По аспекту «синтаксическая корректность» должны быть проконтролированы все данные набора данных ЦК.

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

Объём выборки должен гарантировать установленный нормативными или техническими требованиями уровень достоверности результатов оценки качества данных ЦК.

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

  1.  Ассоциативные правила

Ассоциативные правила (Association Rules)

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

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

Определение 1. Пусть I = {i1, i2, i3, ...in} - множество (набор) товаров, называемых элементами. Пусть D - множество транзакций, где каждая транзакция T – это набор элементов из I, TI. Каждая транзакция представляет собой бинарный вектор, где t[k]=1, если ik элемент присутствует в транзакции, иначе t[k]=0. Мы говорим, что транзакция T содержит X, некоторый набор элементов из I, если XT. Ассоциативным правилом называется импликация XY, где XI, YI и XY=. Правило XY имеет поддержку s (support), если s% транзакций из D, содержат XY, supp(XY) = supp(XY). Достоверность правила показывает какова вероятность того, что из X следует Y. Правило XY справедливо с достоверностью (confidence) c, если c% транзакций из D, содержащих X, также содержат Y, conf(XY) = supp(XY)/supp(X ).

Покажем на конкретном примере: "75% транзакций, содержащих хлеб, также содержат молоко. 3% от общего числа всех транзакций содержат оба товара". 75% - это достоверность (confidence) правила, 3% это поддержка (support), или "Хлеб" "Молоко" с вероятностью 75%.

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

Алгоритмы поиска ассоциативных правил предназначены для нахождения всех правил X Y, причем поддержка и достоверность этих правил должны быть выше некоторых наперед определенных порогов, называемых соответственно минимальной поддержкой (minsupport) и минимальной достоверностью (minconfidence).

Задача нахождения ассоциативных правил разбивается на две подзадачи:

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

Один из первых алгоритмов, эффективно решающих подобный класс задач, – это алгоритм APriori [2]. Кроме этого алгоритма в последнее время был разработан ряд других алгоритмов: DHP[5], Partition[6], DIC[7] и другие.

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

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

Обобщенные ассоциативные правила (Generalized Association Rules)

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

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

Например, если Покупатель купил товар из группы "Безалкогольные напитки", то он купит и товар из группы "Молочные продукты" или "Сок" "Молочные продукты". Эти правила носят название обобщенных ассоциативных правил.

Определение 2. Обобщенным ассоциативным правилом называется импликация XY, где XI, YI и XY= и где ни один из элементов, входящих в набор Y, не является предком ни одного элемента, входящего в X. Поддержка и достоверность подсчитываются так же, как и в случае ассоциативных правил (см. Определение 1).

Введение дополнительной информации о группировке элементов в виде иерархии даст следующие преимущества:

  1.  Это помогает установить ассоциативные правила не только между отдельными элементами, но и между различными уровнями иерархии (группами).
  2.  Отдельные элементы могут иметь недостаточную поддержку, но в целом группа может удовлетворять порогу minsupport.

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

  1.  Элементы на верхних уровнях иерархии стремятся к значительно большим значениям поддержки по сравнению с элементами на нижних уровнях.
  2.  С добавлением в транзакции групп увеличилось количество атрибутов и соответственно размерность входного пространства. Это усложняет задачу, а также ведет к генерации большего количества правил.
  3.  Появление избыточных правил, противоречащих определению обобщенного ассоциативного правила, например, "Сок" "Прохладительные напитки". Очевидно, что практическая ценность такого "открытия" нулевая при 100% достоверности. Следовательно, нужны специальные операторы, удаляющие подобные избыточные правила.

Для нахождения обобщенных ассоциативных правил желательно использование специализированного алгоритма[3], который устраняет вышеописанные проблемы и к тому же работает в 2-5 раз быстрее, чем стандартный APriori.

Группировать элементы можно не только по вхождению в определенную товарную группу, но и по другим характеристикам, например по цене (дешево, дорого), брэнду и т.д.

Численные ассоциативные правила (Quantitative Association Rules)

При поиске ассоциативных правил задача была существенно упрощена. По сути все сводилось к тому, присутствует в транзакции элемент или нет. Т.е. если рассматривать случай рыночной корзины, то мы рассматривали два состояния: куплен товар или нет, проигнорировав, например, информацию о том, сколько было куплено, кто купил, характеристики покупателя и т.д. И можно сказать, что рассматривали "булевские" ассоциативные правила. Если взять любую базу данных, каждая транзакция состоит из различных типов данных: числовых, категориальных и т.д. Для обработки таких записей и извлечения численных ассоциативных правил был предложен алгоритм поиска [4].

Пример численного ассоциативного правила: [Возраст: 30-35] и [Семейное положение: женат] [Месячный доход: 1000-1500 тугриков].

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

Как было сказано, задача поиска ассоциативных правил впервые была представлена для анализа рыночной корзины. Ассоциативные правила эффективно используются в сегментации покупателей по поведению при покупках, анализе предпочтений клиентов, планировании расположения товаров в супермаркетах, кросс-маркетинге, адресной рассылке. Однако, сфера применения этих алгоритмов не ограничивается лишь одной торговлей. Их также успешно применяют и в других областях: медицине, для анализа посещений веб-страниц (Web Mining), для анализа текста (Text Mining), для анализа данных по переписи населения[7], в анализе ипрогнозировании сбоев телекоммуникационного оборудования и т.д.

  1.  Алгоритм a priori

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

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

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

  1.  F1 = {часто встречающиеся 1-элементные наборы}
  2.  для (k=2; Fk-1 <> ; k++) {
  3.  Ck = Apriorigen(Fk-1) // генерация кандидатов
  4.  для всех транзакций t  T {
  5.  Ct = subset(Ck, t) // удаление избыточных правил
  6.  для всех кандидатов c  Ct
  7.  c.count ++
  8.  }
  9.  Fk = { c  Ck | c.count >= minsupport} // отбор кандидатов
  10.  }
  11.  Результат  Fk

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

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

  1.  Объединение. Каждый кандидат Ck будет формироваться путем расширения часто встречающегося набора размера (k-1) добавлением элемента из другого (k-1)- элементного набора.
    Приведем алгоритм этой функции Apriorigen в виде небольшого SQL-подобного запроса.

    insert into C
    k
    select p.item
    1, p.item2, …, p.itemk-1, q.itemk-1
    From F
    k-1 p, Fk-1 q
    where p.item
    1= q.item1, p.item2 = q.item2, … , p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1
  2.  Удаление избыточных правил. На основании свойства анти-монотонности, следует удалить все наборы c  Ck если хотя бы одно из его (k-1) подмножеств не является часто встречающимся.

После генерации кандидатов следующей задачей является подсчет поддержки для каждого кандидата. Очевидно, что количество кандидатов может быть очень большим и нужен эффективный способ подсчета. Самый тривиальный способ – сравнить каждую транзакцию с каждым кандидатом. Но это далеко не лучшее решение. Гораздо быстрее и эффективнее использовать подход, основанный на хранении кандидатов в хэш-дереве. Внутренние узлы дерева содержат хэш-таблицы с указателями на потомков, а листья – на кандидатов. Это дерево нам пригодится для быстрого подсчета поддержки для кандидатов.

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

Хэш-дерево с кандидатами-наборами построено, теперь, используя хэш-дерево, легко подсчитать поддержку для каждого кандидата. Для этого нужно "пропустить" каждую транзакцию через дерево и увеличить счетчики для тех кандидатов, чьи элементы также содержатся и в транзакции, т.е. Ck  Ti = Ck. На корневом уровне хэш-функция применяется к каждому элементу из транзакции. Далее, на втором уровне, хэш-функция применяется ко вторым элементам и т.д. На k-уровне хэшируется k-элемент. И так до тех пор, пока не достигнем листа. Если кандидат, хранящийся в листе, является подмножеством рассматриваемой транзакции, тогда увеличиваем счетчик поддержки этого кандидата на единицу.

После того, как каждая транзакция из исходного набора данных "пропущена" через дерево, можно проверить удовлетворяют ли значения поддержки кандидатов минимальному порогу. Кандидаты, для которых это условие выполняется, переносятся в разряд часто встречающихся. Кроме того, следует запомнить и поддержку набора, она нам пригодится при извлечении правил. Эти же действия применяются для нахождения (k+1)-элементных наборов и т.д.

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

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

Чтобы извлечь правило из часто встречающегося набора F, следует найти все его непустые подмножества. И для каждого подмножества s мы сможем сформулировать правило s  (F – s), если достоверность правила conf(s  (F – s)) = supp(F)/supp(s) не меньше порога minconf.

Заметим, что числитель остается постоянным. Тогда достоверность имеет минимальное значение, если знаменатель имеет максимальное значение, а это происходит в том случае, когда в условии правила имеется набор, состоящий из одного элемента. Все супермножества данного множества имеют меньшую или равную поддержку и, соответственно, большее значение достоверности. Это свойство может быть использовано при извлечении правил. Если мы начнем извлекать правила, рассматривая сначала только один элемент в условии правила, и это правило имеет необходимую поддержку, тогда все правила, где в условии стоят супермножества этого элемента, также имеют значение достоверности выше заданного порога. Например, если правило A  BCDE удовлетворяет минимальному порогу достоверности minconf, тогда AB  CDE также удовлетворяет. Для того, чтобы извлечь все правила используется рекурсивная процедура. Важное замечание: любое правило, составленное из часто встречающегося набора, должно содержать все элементы набора. Например, если набор состоит из элементов {A, B, C}, то правило A  B не должно рассматриваться.

  1.  Кластеризация: алгоритм кластеризации k-means, меры расстояний, выбор числа кластеров

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

Алгоритм k-средних (k-means).

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

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

Описание алгоритма:

1) Первоначальное распределение объектов по кластерам. Выбирается число k, и на первом шаге эти точки считаются "центрами" кластеров. Каждому кластеру соответствует один центр.Выбор начальных центроидов может осуществляться следующим образом:

+ выбор k-наблюдений для максимизации начального расстояния;

+ случайный выбор k-наблюдений;

+ выбор первых k-наблюдений.

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

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

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

- число итераций равно максимальному числу итераций.

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

Отличия сетей Кохонена от карт:

1)       Сеть используется для кластеризации объекта, визуализация результатов происходит в виде диаграмм и таблиц. Карты позволяют визуализировать результаты кластеризации в виде карт.

2)       В сети Кохонена число выходных нейронов равно числу кластеров. В карте число выходных нейронов будет соответствовать числу сегментов, из которых будет состоять карта. Размер карты определяется степенью её деятельности. Чем выше число сегментов, тем больше признаков объектов может быть представлено распределение признаков.

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

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

Процедура 2 – Объединение.

Процедура 3 – Подстройка весов.

  1.  Классификация и регрессия: применение классификации и регрессии, линейная и логистическая регрессии
  2.  Временной ряд и его компоненты

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

Будем различать количественные и качественные модели прогнозирования:

Модели временных рядов

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

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

1. факторы, формирующие тенденцию ряда;

2. факторы, формирующие циклические колебания ряда;

3. случайные факторы.

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

Моделирование тенденции временного ряда

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

  1.  Модели прогнозирования

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

ИНТЕРПОЛЯЦИЯ - Оценка значения неизвестной величины, находящейся между двумя точками ряда известных величин. Например, зная показатели населения страны, полученные при проведения переписи населения, проводившейся с интервалом в 10 лет, можно путем интерполяции определить численность населения в любой промежуточный год. Обычно это делается с помощью графика, где форма кривой между двумя известными точками дает возможность сделать надежную оценку интерполируемой величины.

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

ТРЕНД-АНАЛИЗ — совокупность математических приемов, основанных на аппроксимации наблюденных значений геол. характеристик с целью выявить основную тенденцию в изменении этих характеристик на площади или в разрезе в зависимости от параметров.

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

  1.  Ансамбли моделей: комбинирование решений, виды ансамблей

В настоящее время существует достаточно широкий спектр инструментов интеллектуального анализа данных: от традиционных методов статистического анализа до современных алгоритмов машинного обучения (деревья решений, нейронные сети, логистическая регрессия и т. д.). Разнообразие алгоритмов извлечения знаний (Data Mining) говорит о том, что не существует одного универсального метода для решения всех задач. Кроме того, применение различных инструментов моделирования к одному и тому же набору данных может преследовать разные цели: либо построить упрощенную, прозрачную, легко интерпретируемую модель в ущерб точности; либо построить более точную, но и более сложную и менее интерпретируемую модель. Таким образом, одной из актуальных задач современного бизнес-анализа является нахождение компромисса между такими показателями, как

  1.  точность,
  2.  сложность
  3.  интерпретируемость.

Большинство исследователей предпочитают получение более точных результатов, так как для конечных пользователей понятие прозрачности субъективно. Точность результатов зависит от качества исходных данных, предметной области и используемого метода анализа данных. В последние несколько лет значительно возрос интерес к вопросу увеличения точностей моделей Data Mining, основанных на машинных методах обучения, за счет объединения усилий нескольких методов и создание ансамблей моделей, что позволяет повысить качество решения аналитических задач. Под обучением ансамбля моделей понимается процедура обучения конечного набора базовых классификаторов, результаты прогнозирования которых затем объединяются и формируется прогноз агрегированного классификатора. 

При формировании ансамбля моделей необходимо решить три задачи:

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

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

  1.  ансамбль состоит из базовых моделей одного типа, например, только из деревьев решений, только из нейронных сетей и т. д.;
  2.  ансамбль состоит из моделей различного типа - деревьев решений, нейронных сетей, регрессионных моделей и т. д. 

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

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

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

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

Исследования ансамблей моделей в Data Mining стали проводиться относительно недавно. Тем не менее, к настоящему времени разработано множество различных методов и алгоритмов формирования ансамблей. Среди них наибольшее распространение получили такие методы, как бег- гинг (bagging), бустинг (boosting) и стэкинг (stacking). 

  1.  Бэггинг, бустинг, стэкинг: основная идея

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

Алгоритм бустинга Основная идея бустинга заключается в построении цепочки моделей, при этом каждая следующая обучается на примерах, на которых предыдущая допустила ошибку. По сравнению с беггингом бустинг является более сложной процедурой, но во многих случаях работает эффективнее. Бустинг начинает создание ансамбля на основе единственного исходного множества, но в отличии от беггинга каждая новая модель строится на основе результатов предыдущей, т. е. модели строятся последовательно. Бустинг создает новые модели таким образом, чтобы они дополняли ранее построенные, выполняли ту работу, которую другие модели сделать не смогли на предыдущих шагах. И наконец, последнее отличие бустинга от бэггинга заключается в том, что всем построенным моделям в зависимости от их точности присваиваются веса. Бустинг-алгоритм относится к итерационным алгоритмам. Он учится распознавать примеры на границах классов. Каждой записи данных на каждой итерации алгоритма присваивается вес. Первый классификатор обучается на всех примерах с равными весами. На каждой последующей итерации веса расставляются соответственно классифицированным примерам, т. е. веса правильно классифицированных примеров уменьшаются, а неправильно классифицированных - увеличиваются. Следовательно, приоритетными для следующего классификатора станут неправильно распознанные примеры, обучаясь на которых новый классификатор будет исправлять ошибки классификатора на прошлой итерации

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

  1.  Оценка эффективности и сравнение моделей: Lift и Profit-кривые, ROC-анализ
  2.  ROC-анализ основан на использовании ROC-кривой (Receiver Operator Characteristic), которая показывает результаты бинарной классификации, когда модель предсказывает вероятность того, что наблюдение относится к одному из двух классов. В таком случае важен выбор точки отсечения, то есть порога отсечения, разделяющего классы. ROC-кривая позволяет построить зависимость количества верно классифицированных положительных примеров от количества неверно классифицированных отрицательных примеров.
  3.  Выбирая точку отсечения (cut-off value), можно управлять вероятностью правильного распознавания положительных и отрицательных примеров. При уменьшении порога отсечения увеличивается вероятность ошибочного распознавания положительных наблюдений (ложноположительных исходов), а при увеличении возрастает вероятность неправильного распознавания отрицательных наблюдений (ложноотрицательных исходов). Необходимо подобрать такое значение точки отсечения, которое дает наибольшую точность распознавания класса, определённого постановкой задачи.
  4.  
  5.  В анализе данных ROC-кривые применяют при решении задач классификации для определения порога отсечения.




1. Понятие и виды ограниченных вещных прав
2. Реферат- Физиология труда и работоспособность
3. Реферат- Проблема неплатежей в РФ
4. Правообладатель
5. Сексуальная жизнь божьей коровки
6. Упит Андрей.html
7. темах традиционной рыночной командноадминистративной смешанной
8. а На памылкі не звяртаць увагідрукавалася хутка
9. Задание рабочей точки в интегральных схемах чаще всего осуществляется принудительно путем фиксации постоян
10. Беларуская Аўтакефальная Праваслаўная Царква пасьля Ўсебеларускага Царкоўнага Сабору