ГЛАВА 1 Реализация моделей Data Mining в среде R (вместо предисловия)

1.1 Data Mining как направление анализа данных1

“Наше видение природы претерпевает радикальные изменения в сторону множественности, темпоральности и сложности.”
(Пригожин, Стенгерс, 2005, с. 11)
“Любое существо, наделенное интеллектом, решает в своей жизни, как правило, только три задачи: а) запоминание по ассоциациям; б) распознавание образов; в) задачи оптимизации и принятия решений.”
(Хокинс, Блейксли, 2007)

1.1.1 От статистического анализа разового эксперимента к Data Mining

Экспериментальные данные, представленные в компьютерном формате в виде взаимосвязанных таблиц, нуждаются в таких процедурах их обработки анализа и обработки, которые, во-первых, делают очевидными потенциально возможные закономерности и связи между отдельными компонентами и, во-вторых, дают возможность предсказать новые факты. В узком плане речь может идти об оценке значения целевого признака \(y\) (отклика) для любого объекта \(a\) по его описанию \(x\) – набору независимых переменных (предикторов). Однако в более широком смысле затрагиваются традиционно ключевые вопросы многомерного анализа систем:

  • Можно ли считать идентичными анализируемые объекты и за счет каких признаков можно объяснить их возможные отличия?
  • Как можно объединить отобранные объекты в группы?
  • Существует ли пространственная или временная изменчивость описанных объектов и каковы ее структурные особенности?
  • Изменение каких признаков приводит к систематическим причинно-следственным изменениям других?
  • Как можно осуществить прогноз состояния или поведения анализируемого объекта?

До начала 90-х годов основной практикой научного исследования была оценка по Р. Фишеру отдельных “взаимодействий в разовом эксперименте” и, казалось, не было особой нужды кардинально менять ситуацию в этой области. Однако внедрение современных информационных технологий обрушило на людей колоссальные объемы разнородных данных в самых различных областях. Возник вопрос, что делать с этой информацией, поскольку ее осмысление без возможности ее эффективной обработки оказалось невозможным (Дюк, Самойленко, 2001; Барсегян и др., 2009).

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

Современные информационные технологии предполагают размещение таблиц в сконцентрированном виде в хранилищах данных (Барсегян и др., 2009). В этих системах разрозненная информация представляется в виде многомерного куба, которым можно легко манипулировать, извлекая срезами нужную информацию. Для проверки сложных гипотез и решения стратегических проблем используется аппарат извлечения знаний из обширных баз данных (knowledge discovery in databases), основой которого является интеллектуальный анализ данных – Data Mining.

Data Mining - это метафора от горной добычи: разработки пород, извлечение чего-то ценного, откапывание драгоценных крупиц ценных веществ в большом количестве сырого материала, но, соответственно, в применении к данным. По содержанию этот термин достаточно точно определяет Г. Пиатецкий-Шапиро (Piatetsky-Shapiro): “это технология, которая предназначена для поиска в больших объемах данных неочевидных, объективных и полезных на практике закономерностей”.

К настоящему времени термин Data Mining оформился как собирательное название целой совокупности методов при решении конкретных задач глубокого анализа данных с целью выявления скрытых закономерностей. Ряд направлений имеет достаточно специфический и иногда локальный характер: обработка текстов (Text Mining - Sakurai, 2012), анализ социальных сетей и функции работы с графами (Zafarani et al., 2015), решение проблем работы с большими массивами данных (Leskovec et al., 2014), выделение последовательностей термов (Wang, Yang, 2005) и т.д. В настоящей книге эти алгоритмы рассматриваться не будут.

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

1.1.2 Принципиальная множественность моделей окружающего мира

Сложность системы и точность, с которой её можно анализировать, связаны обратной зависимостью: “…исследователь постоянно находится между Сциллой усложненности и Харибдой недостоверности. С одной стороны, построенная им модель должна быть простой в математическом отношении, чтобы её можно было исследовать имеющимися средствами. С другой стороны, в результате всех упрощений она не должна утратить и”рациональное зерно“, существо проблемы” (Самарский, 1979, с. 28).

Любая сложная система ведет себя контринтуитивно, т.е. она реагирует на воздействие совсем иным образом, чем это нами интуитивно ожидалось (Форрестер, 1977; Розенберг, 2013). При этом декларируемая нами точность любого математического описания системы - это не абсолютный вердикт, а только принятое нами соглашение о способе отождествления модели и реального мира.

В современных исследованиях обычно анализируются результаты пассивных наблюдений, поскольку поставить управляемый рандомизированный эксперимент часто попросту невозможно. Т.к. мы не точно не знаем, какие параметры определяют наш процесс, то для интерпретации данных крайне важно иметь по возможности полный список конкурирующих гипотез. Итогом статистического анализа является тогда уже не некая неоспоримая истина, а полезные (оптимальные в частном смысле) модели исследуемого явления, которые могут быть сопоставлены между собой, а в дальнейшем уточнены, дополнены или заменены на лучшие. “Процедура проверки значимости нулевой гипотезы, основанная на значении Pval, - квинтэссенция традиционной (ортодоксальной) статистической практики и одновременно - ее величайшее недоразумение и заблуждение… Преодоление порогового (критического) уровня \(P_{val} < 0.05\) всего лишь в одной выборке часто необоснованно считается достаточным для вывода о статистической значимости наблюдаемого эффекта (или даже его”достоверности“)” (Хромов-Борисов, 2011). Вероятно, при всей ее категоричности, эта точка зрения вполне заслуживает всяческого внимания.

Сразу стоит также подчеркнуть, что идеального метода, который одинаково хорошо покажет себя для любых целей и на любом наборе данных, попросту не существует. Поэтому нельзя игнорировать принцип множественности моделей В. В. Налимова (1971): для объяснения и предсказания структуры и (или) поведения сложной системы возможно построение нескольких моделей, имеющих одинаковое право на существование. Мультимодельный вывод (Anderson, 2008) предполагает также оценку параметров (их ошибок и доверительных интервалов) на основе не единственной модели, а их ряда. И здесь важны тщательная диагностика и широкая верификация построенных моделей, которые мы будем подробно обсуждать в главе 2.

Наконец, следует помнить о том, что любой статистический метод будет хорош настолько, насколько качественными являются входные данные для обучения модели (англ. “garbage in - garbage out” или “хлам на входе - хлам на выходе”). Без затраты усилий на подготовку обучающей выборки (фильтрация, трансформация, удаление пропущенных значений, создание производных предикторов и т.д.) и понимания моделируемого процесса чудес не случается.

1.1.3 Нарастающая множественность алгоритмов построения моделей

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

Попытки ранжирования статистических методов по их эффективности предпринимались неоднократно. Например, одна из недавно опубликованных статей (Fernandez-Delgado et al., 2014) так и называлась “Do We Need Hundreds of Classifiers to Solve Real World Classification Problems?” (“Нужны ли нам сотни классификаторов для решения практических проблем классификации?”).

В этом обстоятельном исследовании была изучена эффективность работы 179 методов классификации из 17 “семейств” на 121 наборе данных. Читатель может рассматривать эту интересную статью даже просто как справочник по методам распознавания.

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

  1. “Случайный лес” (Random Forest);
  2. Машины опорных векторов (Support Vector Machines);
  3. Искусственные нейронные сети (Artificial Neural Networks);
  4. Бустинговые ансамбли моделей (Boosting Ensembles). Отметим, что перечисленные методы практически непригодны для интерпретации механизмов прогнозируемого явления, что вызвало ряд критических замечаний.

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

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

1.1.4 Типы и характеристики групп моделей Data Mining

Предварительно, не вторгаясь в терминологические детали, отметим, что все три дисциплины – Data Mining, машинное обучение (Machine Learning) и статистический анализ - работают на одном и том же предметном поле и используют фактически одни и те же алгоритмы. Общие для них черты и темы гораздо обширней, чем различия, которые носят характер того или иного “уклона”: Data Mining включает в сферу своей компетенции практически необходимые приемы работы с большими массивами данных, сетями и проч., машинное обучение склонно к красивой фразеологии по поводу искусственного интеллекта, а статистический анализ ищет обоснование своих процедур в теоретико-вероятностном подходе. В рамках нашего изложения эти дисциплины рассматриваются как синонимы.

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

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

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

Алгоритмы индуктивного распознавания с обучением (Ripley, 1996; Vapnik, 1995; Agresti, 2007; Hastie et al., 2007; Zaki M., Meira, 2014) предполагают наличие априори заданной выборки прецедентов, позволяющей построить модели статистической связи \(x \rightarrow y\), где

  • \(y \in Y\), \(\mathbf{Y}\) - наблюдаемые реализации отклика (responses) или моделируемой случайной величины;
  • \(x \in X\), \(\mathbf{X}\) - множество переменных (predictors, independent variables, features), с помощью которых предполагается объяснить изменчивость переменной \(y\).

Большинство моделей с учителем устроено таким образом, что их можно записать в виде \(y = f(\boldsymbol{x, \beta}) + \boldsymbol{\epsilon}\), где \(f\) - математическая функция, выбранная из некоторого произвольного семейства, \(\boldsymbol{\beta}\) - вектор параметров этой функции, а \(\boldsymbol{\epsilon}\) - ошибки модели, которые обычно сгенерированы несмещенным, некоррелированным случайным процессом. В ходе построения модели по фиксированным выборочным значениям y минимизируют некоторую функцию остатков \(Q(y, \boldsymbol{\beta})\) и находят \(\boldsymbol{\hat{\beta}}\) - вектор с оптимальными оценками параметров модели.

Варьируя вид функций \(f()\) и \(Q()\), можно получать разные модели, из которых предпочтение отдается наиболее эффективным – т.е. моделям, которые дают несмещенные, точные и надежные прогнозы отклика \(y\). Под смещением (bias) понимается различие между рассчитанным по модели прогнозом (например, среднее из оценок всех возможных выборок, которые могут быть взяты из совокупности) и истинным неизвестным значением моделируемой переменной. Точность (accuracy) - различие между оценками отклика, основанного на выборочных данных и истинным значением реализации \(y\). Надежность (precision) - различие между оценкой \(y\) по разовой выборке и средним из прогнозов по всему множеству выборок, которые могут быть взяты из той же совокупности.

Выбор подходящего семейства моделей зависит от типа обрабатываемых данных (бинарные, категориальные, порядковые или метрические) и закона их распределения. В первую очередь это, разумеется, относится к форме представления отклика \(\mathbf{Y}\): если он представляет собой категориальную величину, то решается задача классификации, которая может иметь весьма специфические алгоритмы построения моделей и критерии их оптимизации. В случае метрических значений \(\mathbf{Y}\) решается задача регрессии, а выбор способа моделирования порядковых или счетных данных часто оказывается неоднозначным. Тип переменных, составляющих матрицу предикторов, тоже в ряде случаев может оказать влияние на степень адекватности полученных результатов.

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

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

Наконец, традиционным является деление методов Data Mining на описательные и прогнозирующие. Описательные методы должны приводить к объяснению или улучшению понимания данных. Ключевой момент в таких моделях - легкость и прозрачность восприятия исследователем предполагаемой связи между наблюдаемыми переменными. Используемые при этом методы могут относиться как к чисто статистическим (дескриптивный анализ, корреляционный и регрессионный анализ, факторный анализ, дисперсионный анализ, компонентный анализ, дискриминантный анализ, анализ временных рядов), так и к “кибернетическим” (ассоциативные правила, нечеткая логика, деревья решений, сети Кохонена, генетические алгоритмы).

При прогнозировании не ставится цель вскрыть структуру внутренних взаимосвязей между предикторами или сделать сравнительную оценку силы их влияния на отклик. Основная задача - предсказать величину целевого признака y на основании наблюдаемой вариации значений признаков \(x_1, x_2, \dots, x_n\). Если моделируемый процесс имеет объективно сложный характер (например, временные ряды с нестационарным трендом), то такие модели могут иметь большое (до десятков тысяч) или неопределенное число параметров. Для их построения используются следующие принципы самоорганизации: а) определяется класс моделей, в рамках которого возможен последовательный переход от простейших вариантов к наиболее сложным (т.е. индуктивный процесс) и б) задается механизм эволюции моделей и критерии их отбора, благодаря которым каждая отдельная “мутация” оценивается с точки зрения полезности для улучшения качества конечного результата.

Обеспечивая точность предсказания, модели прогнозирования в большинстве случаев существенно теряют в интерпретируемости. Часто бывает затруднительным сделать предметный анализ нескольких десятков коэффициентов моделей МГУА или нейронных сетей. Очевидна стремительно набирающая темп современная тенденция на создание ансамблей из сотен моделей, осуществляющих коллективное предсказание (bagging, Random Forest, boosting), когда традиционные регрессионные методы, такие как анализ ковариаций, стандартных отклонений, доверительных интервалов коэффициентов и проч. вообще не имеют смысла.

1.1.5 Природа многомерного отклика и его моделирование

При изучении современных информационных, биологических и социально-экономических систем характерна оценка взаимных зависимостей между комплексами многомерных переменных, и тогда задачей построения статистической модели является объяснение изменчивости многомерного отклика \(\mathbf{Y}\). Часто такой отклик может быть представлен в форме некоторой относительно замкнутой системы элементов \(N\), относящихся к множеству \(S = \{y\}\) различных типов этих элементов (Арапов и др., 1975; Шитиков и др., 2012, глава 5). В разных предметных областях это может быть каталог продаваемых автомобилей, категории обеспеченности населения, словарь встретившихся словоформ, список экологических видов, обнаруженных в водоеме, перечень кандидатов, за которых голосовали на выборах и т.д. С помощью классификатора \(S\) объекты разбиваются на подпопуляции (классы), т. е. каждой рубрике \(y \in S\) соответствует подмножество \(N(y)\) или частота всех вхождений объектов этого типа в \(N\). Закон Ципфа–Парето, описывающий характер таких распределений, играет практически ту же универсальную роль, что и закон Гаусса в обычных стохастических процессах с конечной дисперсией (Кудрин, 2002) - подробности см. в главе 9.

Композиции объектов \(N(y)\), наблюдаемые в различных условиях (точках пространства, подразделениях, временных срезах), составляют матрицу \(\mathbf{Y}\) случайных наблюдений многомерного отклика. Как всегда, задачей статистического моделирования является оценка зависимости \(\mathbf{Y}\) от набора экзогенных независимых переменных \(\mathbf{X}\). Построить такую модель \(\mathbf{X} \rightarrow \mathbf{Y}\) можно с применением двух подходов. Первый основан на свертке многомерного отклика к одномерному с помощью какой-нибудь функции (получив энтропию Шеннона, индекс типа Доу-Джонса, общую сумму стоимости товаров или нечто похожее), после чего используются обычные модели регрессии. Разумеется, в результате этого оказывается потерянной значительная часть важнейшей информации о структуре объекта. Другой вариант - использовать модели с многомерным откликом, которые обычно представляются в виде канонических матричных уравнений.

Если модель обычной регрессии оценивает условную вероятность математического ожидания \(y\), то в случае многомерного отклика \(\mathbf{Y}\) анализируется влияние предикторов на структурную изменчивость корреляционной матрицы (или иной матрицы дистанций). К настоящему времени с использованием такого подхода разработаны методы непараметрического дисперсионного анализа (McArdle, Anderson, 2001), анализа избыточности и канонического корреспондентного анализа (Legendre, Legendre, 2012), построения деревьев с многомерным откликом (De’Ath, 2002) и др. В экологических исследованиях процедуры оптимального проецирования многомерных данных по осям главных компонент и одновременной оценки коэффициентов линейных канонических моделей объединяются под названием прямая ординация.


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