
Книга «Бизнес-аналитика: от данных к знаниям» впервые увидела свет в 2009 году, но это всё ещё классика для начинающих специалистов. Ниже представлен конспект первой главы, посвящённый введению в анализ данных и ML.
Кратко о книге
Теория подана академическим языком, что, на мой взгляд, плюс. Материал чётко структурирован, даёт его системное понимание. Для методов дата майнинга приводятся математические основы, условия применимости. Авторы не забывают напомнить, что аналитик не гонится за голыми цифрами, а вычленяет из данных пользу для бизнеса.
Кратко о конспекте
Я буду затрагивать только ту информацию, которая не потеряла актуальность и которая в отвечает нынешним реалиям. Графики, схемы, которые не в полной мере отражают актуальную картину, будут опущены. Для большего контекста может быть добавлена справочная информация «извне».
В данной части будет изложен материал из главы 1 Технологии анализа данных.
Введение в анализ данных
Гипотеза — предположение или утверждение о свойствах, закономерностях, взаимосвязях в данных или поведении системы, которое подлежит проверке с помощью анализа или эксперимента.
Анализ данных — средство проверки гипотез и решения задач исследователя (аналитика). Изучение интересующих объектов и систем упрощается и систематизируется через моделирование, то есть построение модели.
Слово модель — «мера», «сходство с чем-то». Иными словами, построение моделей — способ изучения окружающего мира, позволяющий находить зависимости. Модель описывает объект, системы замещения одной системы (т.е. оригинала) другой системой для лучшего изучения оригинала. Она строится при наличии определённой гипотезы и описывается с помощью математических методов.
Для анализа данных в последнее время применяется информационный подход: исследуемый объект рассматривается как «чёрный ящик», имеющий входы (воздействия, факторы) и выходы (результаты, реакции). Модель подстраивается под имеющиеся данные, характеризующие поведение объекта — её параметры настраиваются так, чтобы воспроизводить наблюдаемые зависимости.
Для корректировки параметров используется обратная связь — разница между предсказанием модели и реальными наблюдениями (ошибка). Процесс настройки итеративен: модель последовательно уточняется до достижения приемлемой точности.
Этот принцип лежит в основе большинства современных методов машинного обучения. Аналитик ищет практически значимые зависимости, которые принесут пользу бизнесу.

Принципы анализа данных
Итак, аналитик вывел на рассмотрение гипотезу (предположение). Далее он будет пробовать доказать её исходя из контекста данных одним из методов.
Можно выделить две основные группы методов решения аналитических задач:
извлечение и визуализация данных (OLAP, таблицы, диаграммы, карты);
построение и использование моделей (прогнозирование, извлечение взаимосвязей).
На основе результата аналитик интерпретирует его, после чего процесс может повториться снова.
Ниже рассмотрим подробнее, как извлекаются знания из данных.
KDD
Knowledge Discovery in Databases — процесс получения из данных знаний в виде зависимостей, правил.
В процессе KDD выделяется последовательность шагов:

Подробнее о каждом шаге.
Формирование выборки
Отбираем данные для модели: выдвигаем гипотезы, выбираем ключевые факторы.
Для этого используем SQL-запросы, фильтрацию и сэмплинг. Лучше всего брать данные из централизованного хранилища, где уже собрана вся нужная информация.
Очистка данных
Обрабатываем пропуски, убираем выбросы и дубликаты, устраняем противоречия — чтобы данные были корректными и пригодными для анализа.
Преобразование данных
Модели требуют данные в определённом виде.
К задачам трансформации данных относятся: скользящее окно, приведение типов, выделение временных интервалов, квантование, сортировка, группировка, агрегирование и пр.
Data Mining
На подготовленных данных обучаем модели (ML) и ищем (не предсказываем!) полезные закономерности.
Интерпретация
Если модель «непрозрачная», используем методы постобработки, чтобы сделать её выводы понятными. Готовые модели — это формализованные знания, которые можно применять повторно и масштабировать.
Подробнее о Data Mining
Data Mining — обнаружение в сырых данных ранее неизвестных, практически полезных знаний (может включать в себя feature engineering).
Feature Engineering — трансформация самих данных в датасете, конструирование входов для модели.
Machine Learning — подмножество методов, которые часто используются в рамках data mining. Это подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться на данных.
DM это совокупность большого числа различных методов обнаружения знаний.
Мы можем группировать методы ML по двум подходам:
I. По двум парадигмам
С учителем (прогнозирование): задачи классификации и регрессии. Модели учатся на размеченных данных, где известны правильные ответы (предсказание на основе примеров).
Без учителя (исследование): задачи кластеризации, ассоциации, понижения размерности. Модель сама ищет скрытые закономерности, группирует (кластеризация) или выявляет закономерности (ассоциация).
II. По четырём базовым задачам анализа данных
Классификация — установление зависимости дискретной выходной переменной от входных переменных.
Нужно определить, к какой установленной категории относится объект. Например: «это спам или нет?», «какой тип товара на фото?». Ответ здесь — дискретный (из конечного набора вариантов).Регрессия — установление зависимости непрерывной выходной переменной от входных переменных (связь между разными показателями). Подходит, когда нужно предсказать конкретное числовое значение. Например: «какая будет цена на квартиру?». Ответ здесь — непрерывный (любое число в определённом диапазоне).
Кластеризация — объекты разбиваются на группы (кластеры) так, чтобы внутри группы они были похожи друг на друга, а между группами — отличались. Например: сегментация клиентов по поведению или группировка новостей по темам. На их основе мы можем определить особенности каждого класса, закономерности.
Ассоциация — поиск правил вида if X then Y. Правила позволяют находить связи между товарами или событиями. Например, анализ покупок в супермаркете: если человек берёт Х, он часто берёт и Y. Если важно не просто наличие событий, а их последовательность во времени, то ищут последовательные шаблоны.

Введение в алгоритмы Data Mining
Итак, модель должна самостоятельно обнаружить в данных присущие им закономерности. Для этого мы применяем модели машинного обучения.
В основе модели лежит обучающая выборка (можем обучать на части датасета или на нём полностью). Далее происходит обучение: данные из выборки предъявляются модели в соответствии с алгоритмом обучения, в результате чего модель приобретает необходимые свойства.
Обучающая выборка
Это набор данных, каждая запись которого представляет собой обучающий пример, содержащий заданное входное воздействие, и соответствующий ему правильный выходной результат.
В машинном обучении любая модель отображает некоторое множество входных переменных в множество выходных переменных
. Обучающая выборка — это функция, заданная табsлично парами входных и выходных векторов:
.

входные и выходные данные обычно представляются векторами
вход — признаки
и выход .
Критерии хорошей выборки:
оптимальна по размеру, чтобы балансировать между временными затратами на обучение и успешностью обучения;
репрезентативна и достоверна, т.е. данные в ней отображают зависимость между
и
, соответствуют логике;
без дубликатов и противоречий.
Результатом обучения модели должна стать её способность к обобщению (generalisation) — модель сможет с высокой точностью предсказывать правильный результат при подаче ей новых данных.
Для проверки, что модель способна хорошо обобщать на новых данных, исходный датасет необходимо разделить на два или три непересекающихся подмножества с чётким разграничением функций каждого.
Выборку делят на тестовое и обучающее множество. Деление происходит в случайном порядке или методом сэмплинга.
Обучающее множество мы используем для фактического обучения модели, тестовое — для проверки результата после обучения.

Такой подход упрощён и широко применяется в образовательных целях и ряде практических задач, однако важно помнить, что в нём отсутствует отдельный этап валидации. Но её имитируют с помощью кросс-валидации (например, k-fold) — данные из train делятся «виртуально» на подвыборки для оценки качества.

Train непосредственно обучает модель;
с Validation (настройкой) подбирают гиперпараметры, сравнивают разные модели друг с другом, проверяют на предмет переобучения;
Test не участвует в разработке, а служит один раз для оценки качества итоговой модели.
Эффект переобучения
Мы можем выделить две основные ошибки:
ошибка обучения / Training loss — доля ошибок на обучаемом множестве (простейшая метрика, обратная accuracy). Сегодня это множество различных метрик;
— ошибка на итерации t
-
ошибка обобщения / Test loss — ошибка на тестовой выборке — ключевой показатель того, насколько хорошо модель работает на новых данных, которых она раньше не видела.
В ML важно найти баланс между переобучением и недообучением.

Переобучение (overfitting) — модель слишком подстраивается под обучающие данные, включая шумы и случайные колебания (галлюцинирует). В результате она теряет способность работать на новых данных.
Недообучение (underfitting) — когда модель наоборот, не может поймать правильные паттерны, что приводит к менее точным предсказаниям.
На графике ось абсцисс (х) — сложность модели (например, глубина дерева), ось ординат (y) — к-во ошибок модели.
Training — ошибка на обучающих данных → линия падает, потому что модель всё лучше запоминает данные.
Validation — ошибка на валидационном множестве → сначала падает, потом растёт — это признак переобучения.
Визуально мы хотим найти точку минимума на кривой валидации — там, где ошибка на новых данных валидации наименьшая.

Вычислительная сложность алгоритмов как критерий их сравнения
При выборе алгоритма для решения задачи Data Mining учитываются следующие критерии:
Производительность (вычислительная сложность) — объём вычислений должен обеспечивать выполнение за разумное время и быть по возможности нетребовательным к ресурсам. Особенно важно при работе с большими объёмами данных.
Устойчивость (robustness) — способность алгоритма давать достоверные результаты даже при наличии шума, аномалий, пропусков и противоречий в данных;
Точность — способность модели достигать требуемого уровня качества предсказаний;
Масштабируемость — предоставление возможности обрабатывать большие объемы данных за приемлемое время.
Эти требования часто противоречат друг другу, поэтому выбор алгоритма всегда требует компромисса, основанного на индивидуальном подходе к задаче.
Один из самых распространённых способов сравнения алгоритмов — асимптотический анализ. Он использует оценку функции сложности (количество операций, необходимых для решения задачи), называемую сложностью алгоритма, чтобы показать, насколько быстро растёт количество операций при увеличении объёма данных.
Эта оценка обычно записывается в виде , где
[О большое] — асимптотическая (при
) верхняя оценка роста функции, описывает максимальную скорость роста времени работы или объёма памяти алгоритма,
— число наблюдений,
— функция сложности.
Различают несколько типов функций сложности, которые помогают оценить вычислительные затраты и требования к ресурсам:
-
эффективные:
— константная сложность: время выполнения не зависит от объёма данных.
— линейная сложность: время растёт пропорционально количеству данных.
-
более сложные:
— логарифмическая сложность (очень эффективна),
(где c — константа) — полиномиальная сложность (например, квадратичная при c = 2).
-
почти не используются с Big Data
— экспоненциальная сложность,
— факториальная сложность.