Аналитика, Искусственный интеллект | Олег Брагинский, Константин Строев
Основатель «Школы траблшутеров» Олег Брагинский и ученик Константин Строев разберут методы регрессии и деревья решений для задач предсказания и классификации. Применят модели анализа и прогнозирования динамики производства на основе временных рядов.
Регрессия
Метод машинного обучения для прогнозирования числовых значений на основе имеющихся данных. В отличие от классификации, где задача состоит в определении категории объекта, регрессия предсказывает непрерывные величины – цену, спрос, объём производства.
Регрессионный анализ помогает выявить зависимости между переменными и понять, как изменение одних факторов влияет на другие. Это особенно важно в бизнесе, где прогнозы позволяют принимать обоснованные решения, оптимизировать процессы и снижать риски.
Регрессия применяется для решения множества задач:
- анализ финансовых показателей
- планирование производства
- прогнозирование продаж
- управление запасами
- оценка спроса.
Для решения задач прогнозирования на Python широко используются следующие библиотеки:
- Statsmodels – библиотека для статистического моделирования и регрессионного анализа
- TensorFlow и Keras – для построения и обучения нейронных сетей, которые позволяют решать сложные задачи регрессии с большими объёмами данных
- scikit-learn – универсальная база для машинного обучения с множеством алгоритмов регрессии (линейная, полиномиальная, деревья решений)
- XGBoost, LightGBM – библиотеки для градиентного бустинга, эффективные для табличных данных.
Мы использовали данные о ежемесячных изменениях в процентах (%, м/м) по двум ключевым показателям: промышленное производство и добыча полезных ископаемых за период с января 2024 по сентябрь 2025 года, чтобы предсказать объёмы производства.
Для построения модели регрессии применили нейронную сеть, способную выявлять зависимости временных рядов. В качестве признаков использовались значения за предыдущие три месяца (скользящее окно), а целевой переменной – значение следующего месяца.
Этапы решения:
- Подготовка данных: сформировали обучающую выборку, где для каждого месяца использовали данные за три предыдущих месяца.
- Нормализация: привели данные к единому масштабу с помощью стандартизации, улучшая качество обучения нейронной сети.
- Построение модели: создали нейронную сеть с двумя скрытыми слоями (64 и 32 нейрона) и выходным слоем для предсказания числового значения.
- Обучение: модель обучалась на исторических данных, минимизируя среднеквадратичную ошибку.
- Прогнозирование: сделали прогнозы на будущие месяцы и сравнили их с реальными значениями.
Визуализация показала, что модель достаточно хорошо повторяет динамику изменений промышленного производства с января 2025 года, подтверждая применимость нейронных сетей для прогнозирования экономических показателей:
Дерево решений
Один из самых популярных и интуитивно понятных методов машинного обучения для задач классификации и регрессии. Данные можно представить в виде древовидной структуры, где каждый узел – проверка условия по одному из признаков, а листы – итоговые решения.
Дерево позволяет легко понять, как модель принимает решения, прослеживая путь от корня дерева до конечного листа. Метод эффективно работает с разными типами данных, включая числовые и категориальные признаки, что делает его универсальным инструментом для различных задач:
- классификации – диагностика заболеваний, определение вида растения
- предварительный анализ данных и отбор признаков
- регрессия – прогнозирование числовых значений.
Кроме того, деревья решений не требуют масштабирования признаков, что упрощает подготовку данных. В некоторых реализациях также устойчивы к выбросам и пропущенным значениям, что повышает их надёжность и практическую применимость в реальных условиях:
- бизнес и финансы: оценка кредитного риска заёмщиков и прогнозирования оттока клиентов
- медицина и биология: диагностика заболеваний определением вероятности наличия недуга по симптомам, а также классификация биологических видов
- наука о данных и машинное обучение: отбор наиболее значимых признаков в данных и создание более сложных моделей, таких как случайный лес
- производство и инженерия: контроль качества продукции, выявление дефектных изделий, диагностика неисправностей оборудования.
Визуализация и прослеживание пути решения позволяют точно определить, почему конкретный объект был отнесён к тому или иному классу, что делает модель идеальным инструментом для объяснения решений нетехническим специалистам.
Кроме того, деревья решений позволяют контролировать сложность модели через ограничение глубины, помогая предотвратить переобучение и улучшить обобщающую способность.
Быстрое обучение и предсказание позволят быстро создавать прототипы и решать задачи с небольшими объёмами данных. В нашем примере предскажем тренд развития промышленного производства на ближайшие шесть месяцев.
Для этого:
- Загрузим данные промышленного производства и подготовим для анализа (21 месяц).
- Разделим данные, создав 18 наблюдений с признаками (лаги на 1, 2 и 3 месяца), сгруппированы на обучающую (14 объектов) и тестовую (4 объекта) выборки.
- Обучим модель. Дерево решений обучено с ограничением глубины до пяти уровней для предотвращения переобучения.
- Оценим качество. MSE на тестовой выборке составила 14.17, что показывает хорошую точность модели.
- Визуализируем дерево. Создали графическое представление, где видны все узлы принятия решений и условия разбиения.
- Анализируем путь решения при значениях [8,8, 1,4, –18,7] модель предсказала –3,50%, что близко к реальному значению –4,60%.
- Прогнозируем. На шесть месяцев предсказываем колебания от –1,43% до 7,70% с преобладанием значений около 1,07%.
- Строим график прогноза. Визуализируем реальные данные с января 2025 года (синяя линия) и прогноз на октябрь 2025 – март 2026 (красная пунктирная линия).
Заключение
Методы регрессии на основе нейронных сетей и деревья решений успешно справляются с задачами прогнозирования. Нейронная сеть позволяет выявлять зависимости во временных рядах, а дерево решений обеспечивает прозрачность и интерпретируемость модели.