Основы статистического моделирования: от теории к практике

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

1. Введение в статистическое моделирование и предварительная обработка данных

Введение в статистическое моделирование и предварительная обработка данных

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

Что такое статистическое моделирование?

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

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

> «Все модели неверны, но некоторые из них полезны». — Джордж Бокс, британский статистик [Box, G. E. P. (1976), Science and Statistics].

Эта цитата напоминает нам, что модель — это всегда аппроксимация. Наша цель — создать такую аппроксимацию, которая будет достаточно точной для решения конкретной задачи.

Основное уравнение моделирования

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

Где:

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

    Типы данных и переменных

    Прежде чем строить , необходимо понять природу наших данных. В статистике переменные делятся на два основных типа:

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

  • Качественные (категориальные):
  • - Номинальные: категории без порядка (цвет глаз, марка машины, город). - Порядковые: категории с явным порядком (уровень образования, оценка сервиса от 1 до 5).

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

    Предварительная обработка данных: Garbage In, Garbage Out

    Принцип «Мусор на входе — мусор на выходе» (Garbage In, Garbage Out) является золотым правилом анализа данных. Даже самый мощный алгоритм не даст хорошего результата на плохих данных. Предварительная обработка (preprocessing) занимает до 80% времени работы специалиста по данным.

    Рассмотрим основные этапы подготовки данных.

    1. Обработка пропущенных значений

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

  • Удаление: Если пропусков мало (например, менее 5%), можно удалить строки с пропусками. Однако это может привести к потере важной информации.
  • Импутация (заполнение): Замена пропусков на основе статистики.
  • - Для количественных данных часто используют среднее значение или медиану. - Для категориальных — моду (самое частое значение) или создание новой категории «Неизвестно».

    2. Работа с выбросами (Outliers)

    Выбросы — это значения, которые сильно отличаются от остальных данных. Например, если в данных о возрасте людей встречается значение 150 или -5, это явно аномалия.

    Выбросы могут быть:

  • Ошибками данных (нужно исправить или удалить).
  • Реальными, но редкими событиями (нужно решить, оставлять ли их, так как они могут исказить модель).
  • Для обнаружения выбросов часто используют межквартильный размах (IQR) или Z-оценку.

    !Диаграмма «ящик с усами» для визуализации распределения и поиска выбросов.

    3. Масштабирование признаков (Scaling)

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

  • Возраст (от 0 до 100).
  • Доход (от 20 000 до 500 000).
  • Без масштабирования доход будет оказывать несоразмерно большее влияние на модель просто из-за больших чисел. Чтобы этого избежать, применяют стандартизацию.

    Формула стандартизации (Z-score normalization):

    Где:

  • — новое стандартизированное значение.
  • — исходное значение признака.
  • (мю) — среднее арифметическое этого признака.
  • (сигма) — стандартное отклонение признака.
  • После такого преобразования среднее значение признака становится равным 0, а стандартное отклонение — 1. Это ставит все переменные в равные условия.

    4. Кодирование категориальных переменных

    Большинство математических моделей умеют работать только с числами. Мы не можем просто подать в формулу слово «Красный» или «Синий». Нам нужно закодировать эти значения.

    Самый популярный метод — One-Hot Encoding (прямое кодирование). Он создает для каждой категории отдельный столбец (бинарный признак).

    Пример для признака «Цвет»:

    | Исходный цвет | Цвет_Красный | Цвет_Зеленый | Цвет_Синий | |---|---|---|---| | Красный | 1 | 0 | 0 | | Зеленый | 0 | 1 | 0 | | Синий | 0 | 0 | 1 | | Красный | 1 | 0 | 0 |

    Теперь модель видит числа 0 и 1, с которыми она может производить математические операции.

    Разделение выборки

    Финальный этап перед обучением — разделение данных на две (иногда три) части:

  • Обучающая выборка (Training set): На этих данных модель «учится», находя зависимости . Обычно составляет 70-80% данных.
  • Тестовая выборка (Test set): Эти данные модель никогда не видела. Мы используем их для проверки качества модели. Это имитация работы в реальном мире.
  • Если мы будем проверять модель на тех же данных, на которых она училась, мы столкнемся с переобучением (overfitting) — ситуацией, когда модель просто запомнила ответы, но не поняла закономерностей.

    Заключение

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

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

    2. Линейная регрессия: метод наименьших квадратов и интерпретация коэффициентов

    Линейная регрессия: метод наименьших квадратов и интерпретация коэффициентов

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

    Несмотря на свою простоту и возраст (метод был разработан Гауссом и Лежандром еще в начале XIX века), линейная регрессия остается «рабочей лошадкой» аналитики. Она не только позволяет делать прогнозы, но и, что часто важнее, объясняет, как именно факторы влияют на результат.

    Анатомия прямой линии

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

    Простая линейная регрессия (с одной переменной) описывается уравнением:

    Где:

  • зависимая переменная (то, что мы предсказываем, например, зарплата).
  • независимая переменная (предиктор, например, опыт работы в годах).
  • (бета-ноль) — свободный член (intercept). Это точка пересечения линии с осью Y. Она показывает значение , когда .
  • (бета-один) — коэффициент наклона (slope). Он показывает, насколько изменится при изменении на одну единицу.
  • (эпсилон) — случайная ошибка (остаток). Это разница между реальным значением и тем, что предсказывает наша линия.
  • Наша цель — найти такие значения и , чтобы наша линия проходила максимально близко к точкам данных.

    Метод наименьших квадратов (OLS)

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

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

    Где:

  • — остаток для -го наблюдения.
  • — реальное значение целевой переменной.
  • (читается как «игрек с крышкой») — значение, предсказанное нашей моделью.
  • !Визуализация остатков: вертикальные линии показывают ошибку модели для каждой точки данных.

    Чтобы найти лучшую линию, мы используем Метод наименьших квадратов (Ordinary Least Squares — OLS). Суть метода заключается в минимизации суммы квадратов этих остатков.

    Функция потерь (Cost Function), которую мы минимизируем, выглядит так:

    Где:

  • (Residual Sum of Squares) — сумма квадратов остатков.
  • — количество наблюдений в выборке.
  • — знак суммирования (сумма по всем точкам от 1 до ).
  • — реальное значение.
  • — предсказанное значение.
  • Почему именно квадраты?

    Почему мы возводим ошибку в квадрат, а не берем модуль или просто сумму?

  • Избавление от знака: Ошибка может быть положительной (точка выше линии) или отрицательной (точка ниже). Если просто сложить их, они могут взаимоуничтожиться (например, и дадут , хотя ошибки огромные). Квадрат делает все числа положительными.
  • Наказание за большие ошибки: Квадратичная функция растет быстрее линейной. Ошибка в 2 единицы превращается в штраф 4, а ошибка в 10 единиц — в штраф 100. Модель старается избегать даже единичных крупных промахов.
  • Интерпретация коэффициентов

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

    Рассмотрим пример модели, предсказывающей стоимость аренды квартиры () в зависимости от её площади ():

    Интерпретация (Intercept = 10000)

    Математически это цена квартиры при площади 0 квадратных метров. Часто свободный член не имеет физического смысла (квартира площадью 0 м² не может стоить денег), но он необходим как «базовый уровень» или точка отсчета для модели. В некоторых задачах это может быть «фиксированная стоимость» (например, плата за посадку в такси).

    Интерпретация (Slope = 500)

    Это самое важное число. Оно говорит нам: «При увеличении площади квартиры на 1 квадратный метр, цена аренды увеличивается в среднем на 500 рублей».

  • Если : связь прямая (чем больше площадь, тем выше цена).
  • Если : связь обратная (например, чем старше машина, тем ниже цена).
  • Если : связи нет (изменение не влияет на ).
  • Множественная линейная регрессия

    В реальной жизни на результат влияет множество факторов. Мы можем расширить наше уравнение:

    Где:

  • — различные признаки (площадь, этаж, расстояние до метро).
  • — коэффициенты для каждого признака.
  • Принцип Ceteris Paribus

    При множественной регрессии интерпретация коэффициента звучит так: «Насколько изменится при увеличении на 1 единицу, при условии, что все остальные переменные остаются неизменными».

    Это позволяет изолировать влияние каждого фактора. Например, мы можем сказать, сколько стоит «лишний этаж» именно для квартир одинаковой площади и в одном районе.

    Оценка качества модели:

    Как понять, насколько хорошо наша модель описывает данные? Для этого используют коэффициент детерминации ().

    Где:

  • — сумма квадратов остатков нашей модели (ошибки, которые мы не объяснили).
  • (Total Sum of Squares) — общая дисперсия данных (ошибки, если бы мы просто предсказывали среднее арифметическое).
  • Значение :

  • Лежит в диапазоне от 0 до 1 (или от 0% до 100%).
  • : Модель идеально проходит через все точки.
  • : Модель работает не лучше, чем простое предсказание среднего значения.
  • : Модель объясняет 75% изменчивости (вариации) зависимой переменной.
  • !Иллюстрация высокого и низкого коэффициента детерминации R².

    Ограничения линейной регрессии

    Линейная регрессия мощна, но требовательна. Она предполагает, что:

  • Линейность: Зависимость между и действительно похожа на прямую линию. Если данные образуют параболу, прямая линия будет бесполезна.
  • Отсутствие мультиколлинеарности: Признаки не должны сильно коррелировать друг с другом (например, «площадь в метрах» и «площадь в футах» — это дублирующая информация, которая сломает математику модели).
  • Гомоскедастичность: Ошибка должна быть постоянной на всем диапазоне значений. Если для дешевых квартир модель ошибается на 1000 рублей, а для дорогих — на 100 000 рублей, это проблема.
  • Заключение

    Мы разобрали, как строится линейная модель, зачем мы возводим ошибки в квадрат и как читать «мысли» модели через её коэффициенты. Линейная регрессия — это идеальный старт: она проста, прозрачна и служит базой для более сложных методов.

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

    3. Диагностика моделей, анализ остатков и проверка статистических гипотез

    Диагностика моделей, анализ остатков и проверка статистических гипотез

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

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

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

    Проверка статистических гипотез: случайно ли это?

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

    Чтобы ответить на этот вопрос, мы используем проверку гипотез.

    Нулевая и альтернативная гипотезы

    Для каждого коэффициента модели мы формулируем две гипотезы:

  • Нулевая гипотеза (): Коэффициент равен нулю (). Это означает, что переменная никак не влияет на .
  • Альтернативная гипотеза (): Коэффициент не равен нулю (). Это означает, что влияние существует.
  • Наша цель — опровергнуть нулевую гипотезу.

    t-статистика и p-value

    Для проверки мы рассчитываем t-статистику (критерий Стьюдента) для каждого коэффициента:

    Где: * — значение t-статистики. * — оценка коэффициента, полученная нашей моделью. * — стандартная ошибка коэффициента (Standard Error). Она показывает, насколько точно мы оценили этот коэффициент.

    Чем больше значение (по модулю), тем увереннее мы можем сказать, что коэффициент отличен от нуля.

    Однако смотреть на само число неудобно. Поэтому его преобразуют в p-value (p-значение). Это вероятность получить такие же (или еще более выраженные) результаты, если бы нулевая гипотеза была верна.

    > «P-value — это мера нашего удивления данными, если бы эффекта не существовало».

    Правило принятия решения: * Если p-value < 0.05 (стандартный порог значимости), мы отвергаем . Мы говорим, что коэффициент статистически значим. Связь есть. * Если p-value > 0.05, мы не можем отвергнуть . Скорее всего, переменная не влияет на результат, и её стоит убрать из модели.

    Анализ остатков: чтение по следам

    Самый мощный инструмент диагностики — это анализ остатков (residuals). Напомним формулу остатка:

    Где: * — остаток для -го наблюдения. * — реальное значение. * — предсказанное значение.

    Если модель хорошая, остатки должны вести себя как «белый шум»: быть хаотичными, не иметь структуры и подчиняться определенным правилам. Эти правила называются условиями Гаусса-Маркова.

    1. Линейность (Linearity)

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

    Как проверить: Построить график, где по оси X — предсказанные значения (), а по оси Y — остатки ().

    * Хорошо: Точки разбросаны хаотично вокруг горизонтальной линии 0. * Плохо: Точки образуют кривую (например, дугу или волну). Это значит, что мы упустили нелинейную зависимость.

    !Сравнение графиков остатков для линейной и нелинейной зависимостей.

    2. Гомоскедастичность (Homoscedasticity)

    Это страшное слово означает «одинаковый разброс». Ошибка модели должна быть постоянной на всем диапазоне данных. Противоположность этому — гетероскедастичность.

    Представьте, что мы предсказываем расходы семьи. Для бедных семей модель ошибается на 1-2 тысячи рублей. А для семей миллиардеров ошибка может составлять миллионы. Это гетероскедастичность.

    Как проверить: Тот же график (Residuals vs Fitted).

    * Хорошо: Облако точек имеет форму прямоугольника или полосы. * Плохо: Облако точек похоже на «воронку» или «громкоговоритель» (расширяется в одну сторону). Это значит, что дисперсия ошибки меняется.

    3. Нормальность распределения остатков (Normality)

    Мы предполагаем, что ошибки распределены нормально (по колоколу Гаусса). Это важно для корректности работы p-value и доверительных интервалов.

    Как проверить:

  • Гистограмма остатков: Должна напоминать колокол.
  • Q-Q Plot (Quantile-Quantile Plot): Это график, который сравнивает распределение наших остатков с идеальным нормальным распределением.
  • * Хорошо: Точки лежат на прямой диагональной линии под углом 45 градусов. * Плохо: Точки сильно отклоняются от линии, образуя дуги или S-образную форму.

    !Q-Q Plot: инструмент для проверки нормальности распределения ошибок.

    4. Независимость ошибок (Independence)

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

    Как проверить: Тест Дарбина-Уотсона (Durbin-Watson test). Значение должно быть близко к 2.

    Скорректированный R-квадрат ()

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

    Чтобы избежать самообмана, используют скорректированный (). Он штрафует модель за излишнюю сложность.

    Где: * — скорректированный коэффициент детерминации. * — обычный коэффициент детерминации. * — количество наблюдений (строк в данных). * — количество предикторов (независимых переменных).

    Если мы добавляем бесполезную переменную, растет, а почти не меняется. Из-за этого дробь увеличивается, и итоговый падает. Это сигнал, что переменная лишняя.

    Мультиколлинеарность: когда друзья мешают

    Мультиколлинеарность возникает, когда независимые переменные сильно коррелируют друг с другом. Например, если мы добавим в модель и «Возраст в годах», и «Возраст в месяцах».

    Почему это плохо?

  • Математика модели становится нестабильной.
  • Коэффициенты теряют физический смысл (могут менять знаки на противоположные).
  • Стандартные ошибки () коэффициентов раздуваются, из-за чего p-value становится большим, и мы можем ложно признать важный фактор незначимым.
  • Как обнаружить: * Построить матрицу корреляций между признаками. * Рассчитать VIF (Variance Inflation Factor). Если VIF > 5 или 10, это проблема.

    Заключение

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

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

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

    4. Обобщенные линейные модели и логистическая регрессия для задач классификации

    Обобщенные линейные модели и логистическая регрессия для задач классификации

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

    Представьте, что вы работаете в банке. Ваша задача — не предсказать сумму кредита, а решить: вернет клиент кредит или нет? Здесь ответом является не число, а категория («Да» или «Нет»). Или врач хочет понять, болен пациент или здоров. Или спам-фильтр решает, отправить письмо во «Входящие» или в «Спам».

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

    Почему линейная регрессия не подходит?

    Давайте попробуем применить наши старые знания к новой задаче. Допустим, мы кодируем исход: — событие наступило (клиент вернул кредит), — событие не наступило (дефолт).

    Если мы построим обычную прямую линию методом наименьших квадратов, мы столкнемся с тремя фундаментальными проблемами:

  • Выход за границы. Линейная функция уходит в бесконечность в обе стороны. Для некоторых клиентов модель может предсказать значение или . Но вероятность не может быть больше или меньше . Как интерпретировать «вероятность возврата кредита »?
  • Ненормальность остатков. В линейной регрессии мы предполагали, что ошибки распределены нормально. Но здесь принимает только два значения ( и ). Ошибки не могут быть нормальными, они будут биномиальными.
  • Гетероскедастичность. Дисперсия ошибки в задачах классификации зависит от значения , что нарушает условия Гаусса-Маркова.
  • Нам нужен инструмент, который «сплющит» нашу прямую линию так, чтобы она всегда оставалась в диапазоне от до .

    !Сравнение линейной функции и сигмоиды при моделировании бинарных данных.

    Обобщенные линейные модели (GLM)

    Чтобы решить эту проблему, статистики придумали Обобщенные линейные модели (Generalized Linear Models — GLM). Это гибкий каркас, который позволяет использовать линейную комбинацию предикторов () для предсказания переменных, имеющих разные распределения (не только нормальное).

    Любая GLM состоит из трех компонентов:

  • Случайный компонент: Распределение зависимой переменной (например, нормальное, биномиальное, Пуассона).
  • Систематический компонент: Линейный предиктор .
  • Функция связи (Link Function): Функция , которая связывает математическое ожидание с линейным предиктором.
  • Формально это записывается так:

    Где: * — функция связи. * — математическое ожидание зависимой переменной (среднее предсказанное значение). * — коэффициенты модели. * — независимые переменные.

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

    Логистическая регрессия

    Логистическая регрессия — это частный случай GLM, предназначенный для предсказания вероятности наступления события.

    Сигмоида: превращаем числа в вероятности

    В основе логистической регрессии лежит сигмоида (логистическая функция). Она берет любое число (от минус бесконечности до плюс бесконечности) и превращает его в число от до .

    Уравнение логистической регрессии для вероятности :

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

    Если очень большое положительное число, стремится к , и стремится к . Если очень большое отрицательное число, становится огромным, и дробь стремится к .

    Шансы (Odds) и Логит (Logit)

    Чтобы понять, как интерпретировать коэффициенты, нам нужно ввести понятие шансов (odds). В быту мы часто путаем вероятность и шансы, но в статистике это разные вещи.

    * Вероятность (): Отношение успехов к общему числу попыток. (Например, или ). * Шансы: Отношение вероятности успеха к вероятности неудачи.

    Где: * — шансы события. * — вероятность события.

    Пример: Если вероятность победы лошади (), то вероятность проигрыша (). Шансы равны . Мы говорим: «шансы 4 к 1».

    Если мы возьмем натуральный логарифм от шансов, мы получим логит (logit). Именно он является линейным в логистической регрессии:

    Где: * — натуральный логарифм. * — шансы. * — линейная часть модели.

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

    Обучение модели: Метод максимального правдоподобия (MLE)

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

    Вместо этого используется Метод максимального правдоподобия (Maximum Likelihood Estimation — MLE).

    Суть метода: Компьютер перебирает параметры , чтобы найти такую комбинацию, при которой вероятность наблюдать именно те данные, которые у нас есть, была бы максимальной.

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

    Где: * — функция правдоподобия. * — вероятность того, что первый пациент болен (как и есть на самом деле). * — вероятность того, что второй пациент здоров (как и есть на самом деле).

    Алгоритм ищет коэффициенты, которые максимизируют это произведение для всей выборки.

    Интерпретация коэффициентов

    Интерпретация здесь сложнее, чем в обычной регрессии. Мы не можем сказать: «При росте на 1, вероятность растет на ». Прирост вероятности зависит от того, где мы находимся на S-образной кривой.

    Однако мы можем интерпретировать влияние на шансы.

    Если мы возьмем экспоненту от коэффициента (), мы получим Отношение шансов (Odds Ratio).

    > «При увеличении на одну единицу, шансы события (Odds) умножаются на ».

    * Если , то . Значит, при увеличении на 1, шансы события удваиваются. * Если , то , и шансы уменьшаются.

    От вероятности к классу: Порог принятия решения

    Логистическая регрессия выдает вероятность (например, ). Но нам нужно принять решение: да или нет?

    Для этого устанавливается порог отсечения (threshold). Обычно это : * Если Класс 1. * Если Класс 0.

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

    Оценка качества классификации

    здесь не работает так хорошо, как в линейной регрессии. Для оценки классификаторов используют Матрицу ошибок (Confusion Matrix).

    | | Предсказано: 0 | Предсказано: 1 | |---|---|---| | Реально: 0 | True Negative (TN) | False Positive (FP) | | Реально: 1 | False Negative (FN) | True Positive (TP) |

    * True Positive (TP): Верно предсказали «Да». * True Negative (TN): Верно предсказали «Нет». * False Positive (FP): Ложная тревога (предсказали «Да», а там «Нет»). * False Negative (FN): Пропуск цели (предсказали «Нет», а там «Да»).

    Самая простая метрика — Accuracy (Точность):

    Где: * — доля правильных ответов среди всех прогнозов. * — количество исходов из матрицы ошибок.

    Предупреждение: Accuracy может быть обманчива на несбалансированных данных. Если в выборке 99 здоровых и 1 больной, модель, которая всем ставит диагноз «Здоров», будет иметь точность 99%, но она абсолютно бесполезна.

    Заключение

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

    В следующей статье мы углубимся в метрики качества классификации. Мы разберем, что такое Precision, Recall, F1-score и ROC-AUC, и научимся выбирать правильную метрику для конкретной бизнес-задачи.

    5. Выбор лучшей модели, методы регуляризации и борьба с переобучением

    Выбор лучшей модели, методы регуляризации и борьба с переобучением

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

    Представьте студента, который готовится к экзамену. У него есть два пути:

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

    Проблема переобучения и недообучения

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

    Недообучение (Underfitting)

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

    * Симптомы: Низкая точность и на обучающей, и на тестовой выборке. * Лечение: Усложнить модель, добавить новые признаки (например, возвести в квадрат).

    Переобучение (Overfitting)

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

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

    !Иллюстрация недообучения, оптимальной модели и переобучения на примере регрессии.

    Дилемма смещения и дисперсии (Bias-Variance Tradeoff)

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

    Общая ошибка модели раскладывается на три компонента:

    Где: * — полная ошибка модели на новых данных. * (Смещение) — ошибка, возникающая из-за упрощения модели (например, мы считаем связь линейной, а она нет). * (Дисперсия) — чувствительность модели к малейшим изменениям в обучающих данных. Если мы немного поменяем набор данных, модель с высокой дисперсией выдаст совершенно другой результат. * (Неустранимая ошибка) — шум в самих данных, который невозможно предсказать (например, случайная поломка оборудования).

    Наша задача — найти «золотую середину», где сумма квадрата смещения и дисперсии минимальна.

    Кросс-валидация: проверка на прочность

    Как понять, что мы переобучились, не дожидаясь провала на реальных данных? Ранее мы говорили о разделении на train (обучение) и test (тест). Но если мы будем постоянно подстраивать модель под test, он перестанет быть честным индикатором — мы косвенно «обучимся» и на нем.

    Лучший подход — K-блочная кросс-валидация (K-Fold Cross-Validation).

    Алгоритм действий:

  • Мы делим обучающую выборку на равных частей (блоков, фолдов). Обычно или .
  • На первой итерации мы учим модель на блоках 2–5, а проверяем на блоке 1.
  • На второй итерации учим на блоках 1, 3, 4, 5, а проверяем на блоке 2.
  • Повторяем процесс раз, пока каждый блок не побывает в роли тестового.
  • Усредняем ошибку по всем проверкам.
  • Это дает нам объективную оценку того, как модель будет вести себя в реальности, и позволяет надежно сравнивать разные модели между собой.

    !Схематическое изображение процесса кросс-валидации с разделением данных на 5 частей.

    Регуляризация: штраф за сложность

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

    Суть регуляризации проста: мы меняем функцию потерь, которую минимизирует модель. Мы говорим модели: «Старайся минимизировать ошибку предсказания, но при этом старайся держать коэффициенты как можно меньше».

    Зачем держать коэффициенты маленькими? Потому что огромные коэффициенты — признак переобучения. Если коэффициент при переменной равен 1 000 000, то малейший шум в этой переменной вызовет гигантский скачок в прогнозе.

    1. Гребневая регрессия (Ridge Regression, L2)

    В обычной регрессии мы минимизируем сумму квадратов ошибок (). В Ridge-регрессии мы добавляем к ней штраф:

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

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

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

    2. Лассо регрессия (Lasso Regression, L1)

    Название LASSO расшифровывается как Least Absolute Shrinkage and Selection Operator. Формула похожа, но вместо квадратов мы берем модули коэффициентов:

    Где: * — модуль коэффициента (абсолютное значение). * Остальные элементы те же, что и в Ridge.

    Главная особенность Lasso: В отличие от Ridge, Lasso может занулить коэффициенты полностью (сделать ). Это означает, что Lasso не просто борется с переобучением, но и производит отбор признаков (Feature Selection). Она сама выкидывает бесполезные переменные из модели.

    3. Эластичная сетка (Elastic Net)

    Если мы не знаем, что выбрать — L1 или L2, можно использовать Elastic Net. Это комбинация обоих методов:

    Где: * — сумма квадратов остатков. * и — параметры, регулирующие вклад L1 и L2 регуляризации соответственно.

    Как выбрать ? (Hyperparameter Tuning)

    Параметр (сила штрафа) модель не может выучить сама. Мы должны задать его извне. Но какое число взять: 0.1, 1, 10 или 100?

    Для этого мы объединяем регуляризацию и кросс-валидацию. Мы запускаем перебор (Grid Search):

  • Берем набор значений (например, 0.001, 0.01, 0.1, 1, 10).
  • Для каждого значения проводим кросс-валидацию.
  • Выбираем ту , которая дала наименьшую ошибку на тестовых блоках.
  • Заключение

    Мы рассмотрели ключевые концепции создания надежных моделей. Теперь вы знаете, что: * Слишком сложная модель (переобучение) так же плоха, как и слишком простая (недообучение). * Кросс-валидация позволяет честно оценить качество модели. * Регуляризация (Ridge и Lasso) — это математический «кнут», который удерживает коэффициенты модели от бесконтрольного роста, повышая точность прогнозов на новых данных.

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