Публикация Школы траблшутеров

Решение задачи регрессии и построение дерева решений

Время чтения: 6 мин 30 сек
16 ноября 2025 г. Просмотров: 119

Аналитика, Искусственный интеллект | Олег Брагинский, Константин Строев

Основатель «Школы траблшутеров» Олег Брагинский и ученик Константин Строев разберут методы регрессии и деревья решений для задач предсказания и классификации. Применят модели анализа и прогнозирования динамики производства на основе временных рядов.

Регрессия

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

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

Регрессия применяется для решения множества задач:

  • анализ финансовых показателей
  • планирование производства
  • прогнозирование продаж
  • управление запасами
  • оценка спроса.

Для решения задач прогнозирования на Python широко используются следующие библиотеки:

  • Statsmodels – библиотека для статистического моделирования и регрессионного анализа
  • TensorFlow и Keras – для построения и обучения нейронных сетей, которые позволяют решать сложные задачи регрессии с большими объёмами данных
  • scikit-learn – универсальная база для машинного обучения с множеством алгоритмов регрессии (линейная, полиномиальная, деревья решений)
  • XGBoost, LightGBM – библиотеки для градиентного бустинга, эффективные для табличных данных.

Мы использовали данные о ежемесячных изменениях в процентах (%, м/м) по двум ключевым показателям: промышленное производство и добыча полезных ископаемых за период с января 2024 по сентябрь 2025 года, чтобы предсказать объёмы производства.

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

Этапы решения:

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

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

  1. Построение модели: создали нейронную сеть с двумя скрытыми слоями (64 и 32 нейрона) и выходным слоем для предсказания числового значения.

  1. Обучение: модель обучалась на исторических данных, минимизируя среднеквадратичную ошибку.

  1. Прогнозирование: сделали прогнозы на будущие месяцы и сравнили их с реальными значениями.

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

Дерево решений

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

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

  • классификации – диагностика заболеваний, определение вида растения
  • предварительный анализ данных и отбор признаков
  • регрессия – прогнозирование числовых значений.

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

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

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

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

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

Для этого:

  1. Загрузим данные промышленного производства и подготовим для анализа (21 месяц).

  1. Разделим данные, создав 18 наблюдений с признаками (лаги на 1, 2 и 3 месяца), сгруппированы на обучающую (14 объектов) и тестовую (4 объекта) выборки.

  1. Обучим модель. Дерево решений обучено с ограничением глубины до пяти уровней для предотвращения переобучения.

  1. Оценим качество. MSE на тестовой выборке составила 14.17, что показывает хорошую точность модели.

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

  1. Анализируем путь решения при значениях [8,8, 1,4, –18,7] модель предсказала –3,50%, что близко к реальному значению –4,60%.

  1. Прогнозируем. На шесть месяцев предсказываем колебания от –1,43% до 7,70% с преобладанием значений около 1,07%.

  1. Строим график прогноза. Визуализируем реальные данные с января 2025 года (синяя линия) и прогноз на октябрь 2025 – март 2026 (красная пунктирная линия).

Заключение

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