Описание проекта
Чтобы оптимизировать производственные расходы, металлургический комбинат ООО «Так закаляем сталь» решил уменьшить потребление электроэнергии на этапе обработки стали. Необходимо построить модель, которая предскажет конечную температуру стали.
- Целевой признак - это последнее измерение температуры партии из таблицы
data_temp_new.csv
- Метрика: МАЕ (mean_absolute_error)
- Значение: ± 6.8°C или меньше.
Сталь обрабатывают в сталелитейном ковше вместимостью около 100 тонн. Чтобы ковш выдерживал высокие температуры, изнутри его облицовывают огнеупорным кирпичом.
Расплавленную сталь заливают в ковш и подогревают до нужной температуры графитовыми электродами. Они установлены в крышке ковша.
Из сплава выводится сера (процесс десульфурации), добавлением примесей корректируется химический состав и отбираются пробы. Сталь легируют (изменяют её состав) — подавая куски сплава из бункера для сыпучих материалов или добавляя проволоку через специальный трайб-аппарат (англ. tribe, «масса»).
Перед тем как первый раз ввести легирующие добавки, измеряют температуру стали и производят её химический анализ. Потом температуру на несколько минут повышают, добавляют легирующие материалы и продувают сплав инертным газом. Затем его перемешивают и снова проводят измерения. Такой цикл повторяется до достижения целевого химического состава и оптимальной температуры плавки.
Тогда расплавленная сталь отправляется на доводку металла или поступает в машину непрерывной разливки. Оттуда готовый продукт выходит в виде заготовок-слябов (англ. slab, «плита»).
Изначальная задача заключалась в предсказании конечной температуры сплава по завершению всего тех. процесса. Подразумевается, что к этому моменты сплав уже будет содержать необходимые присадки и подогрет до требуемой температуры.
Исходные данными были разгруппированы по тематическим датасетам, в том же виде, в котором они были предоставлены:
arc
— время и кол-во нагревов;gas
— объём инертного газа для продувки сплава;temp
— замеры температуры сплава;bulk
иbulk_time
— объём сыпучих легирующих присадок и время их подачи, соответственно;wire
иwire_time
— объём проволочных легирующих присадок и время их подачи, соответственно.
*всем данным был назначен соответствующий тип (int
, float
, datetime
)
В исходных данных находилась около 3200 партий стали. Часть из них содержала не полную информацию (к примеру: отсутствовали данные о присадках, нагреве, продувке газа или замерах температуры сплава). Около 740 партий содержали информацию лишь об одном температурном замере. Единичные экземпляры (около 20 партий) содержала недостоверные/нетипичные данные, к примеру: активная мощность = -715 у.е.
Так же, анализ данных помог выявить неинформативность столбов bulk_8
и wire_5
, поскольку эти виды присадок использовались Несмотря на их физическое различие, состав вероятней всего одинаков. Из-за чего возникала корреляция между этими параметрами. В итоговую выборку данных bulk_8
, wire_5
и wire_8
- не вошли.
Ключевая информация по обучению моделей:
- Обучающая выборка: 1737 объектов
- Тестовая выборка: 579 объекта
- Количество признаков-предсказателей: 25
- Перечень признаков:
- начальная температура,
- общее время нагревов,
- общая затраченная активная мощность,
- количество и виды добавленных присадок,
- объём прокаченного инертного газа.
Результаты обучения и тестирования: наилучший результат продемонстрировала модель градиентного бустинга CatBoost.
- её погрешность предсказаний ± 6.11°C (на кросс-валидации тренировочной выборки) и ± 5.98°C (на тестовой выборке)
- среднее время обучение: около 1-ой минуты;
- время предсказаний крайне мало, мгновенное.
Для дальнейшего применения модели CatBoost, её точность можно повысить за счёт объединения обучающей и тестовой выборок, и предобучить модель на бoльшей выборке.