Современные инновации, системы и технологии // (ос) кУ Modern Innovations, Systems and Technologies
2024; 4(2) eISSN: 2782-2818 https://www.oajmist.com
УДК: 004.8
DOI: https://doi.org/10.47813/2782-2818-2024-4-2-0298-0305
EDN: QTRIIU
Применение метода линейной регрессии для прогнозирования расхода топлива автомобиля
М. А. Зуев, В. М. Шибаев, К. С. Баланев
ФГБОУВО «НИУ «МЭИ», г. Москва, Россия
Аннотация. В данной статье рассматривается использование метода машинного обучения для прогнозирования расхода топлива автомобиля. Для этой задачи применяется линейная регрессия. Описаны этапы подготовки данных, включая обработку данных и устранение пропусков, а также процессы обучения и тестирования модели. Проведен анализ данных и построена визуализация тепловой карты корреляций. Построена модель линейной регрессии на основе признаков, влияющих на расход топлива автомобиля. Проведена оценка эффективности модели с использованием метрик RMSE и R2. Основное внимание уделено практическому применению модели для предсказания расхода топлива на основе реальных данных.
Ключевые слова: машинное обучение, линейная регрессия, прогнозирование расхода топлива, обработка данных, корреляционный анализ.
Для цитирования: Зуев, М. А., Шибаев, В. М., & Баланев, К. С. (2024). Применение метода линейной регрессии для прогнозирования расхода топлива автомобиля. Современные инновации, системы и технологии - Modern Innovations, Systems and Technologies, 4(2), 02980305. https://doi.org/10.47813/2782-2818-2024-4-2-0298-0305
Application of the linear regression method to predict vehicle
fuel consumption
M. A. Zuev, V. M. Shibaev, K. S. Balanev
National Research University «Moscow Power Engineering Institute», Moscow, Russia
Abstract. This article discusses the use of machine learning to predict vehicle fuel consumption. Linear regression is used for this task. The stages of data preparation are described, including data processing and elimination of omissions, as well as the processes of training and testing the model. The data was analyzed and a visualization of the correlation heat map was built. A linear regression model is constructed based on the features that affect the fuel consumption of the car. The effectiveness of the model was evaluated using the RMSE and R2 metrics. The main attention is paid to the practical application of the model for predicting fuel consumption based on real data.
Keywords: machine learning, linear regression, fuel consumption forecasting, data processing, correlation analysis.
© Зуев М. А., Шибаев В. М., Баланев К. С., 2024
0298
For citation: Zuev, M. A., Shibaev, V. M., & Balanev, K. S. (2024). Application of the linear regression method to predict vehicle fuel consumption. Modern Innovations, Systems and Technologies, 4(2), 0298-0305. https://doi.org/10.47813/2782-2818-2024-4-2-0298-0305
ВВЕДЕНИЕ
Машинное обучение представляет собой область искусственного интеллекта, которая занимается разработкой алгоритмов и статистических моделей, позволяющих компьютерам улучшать свои функции на основе данных. В отличие от традиционного программирования, где инструкции прописываются явно, машинное обучение позволяет моделям обучаться на основе примеров и выявлять закономерности в данных. Тем самым машинное обучение является особенно полезным для задач, где существует большая сложность и объем данных, таких как прогнозирование, классификация, и распознавание образов [1].
В данной работе используется обучение с учителем, при котором модель обучается на размеченных данных, где каждому входу соответствует известный выход. Это позволяет модели делать предсказания на новых, невиданных ранее данных.
Линейная регрессия - один из самых простых и широко используемых методов машинного обучения. Этот метод позволяет моделировать зависимость между одной зависимой переменной (в данном случае, расходом топлива) и одной или несколькими независимыми переменными (характеристиками автомобиля). Линейная регрессия предполагает, что между этими переменными существует линейная связь, и цель метода - найти такую прямую (линии регрессии), которая наилучшим образом описывает зависимость данных [1].
Математически модель множественной линейной регрессии представлена уравнением:
У = Ро + + Ргх2 +-----+ Рпхп + 6 (1)
где у - зависимая переменная, р0 - свободный член, Р1,Р2,.,Рп - коэффициенты регрессии, х1,х2, ...,хп - независимые переменные, а е - ошибка модели.
МАТЕРИАЛЫ И МЕТОДЫ Выбор набора данных
Для исследования используется набор данных "Auto MPG Dataset", который содержит информацию о расходе топлива автомобилей, а также их характеристиках, таких как количество цилиндров, мощность, вес и другие параметры. Набор данных состоит из следующих столбцов:
1. mpg - миль на галлон.
2. cylinders - количество цилиндров.
3. displacement - объем двигателя.
4. horsepower - лошадиные силы.
5. weight - вес.
6. acceleration - ускорение.
7. modelyear - модельный год.
8. carname - модель автомобиля.
Выбор инструментов решения задачи
Для решения задачи линейной регрессии был использован язык программирования Python и среда Google Colaba также библиотеки [2]:
1. pandas - для чтения данных.
2. numpy - для оценки качества модели.
3. matplotlib и seaborn - для визуализации данных.
4. sklearn - для создания модели линейной регрессии.
Подготовка данных
Перед началом создания модели линейной регрессии следует подготовить данные. Методами .head, .info и .describe были выявлены типы данных, выбросы и количество пропущенных значений [3-5]. В столбце horsepower тип данных - object, так как у некоторых моделей машин неизвестен параметр лошадиных сил, и вместо числа хранится вопросительный знак - «?». Были удалены все строки с параметром horsepower равным «?» и данный столбец был преобразован в тип данных int.
Определение коррелирующих параметров
После предварительной обработки данных следует построить тепловую карту корреляции, чтобы определить какие параметры автомобилей влияют на расход топлива (рисунок 1).
data = data.drop(columns=['саг name']) corr_matrix = data.corrQ
sns.heatmap(corr_matrix, annot=True, cmap="coolwarm") pit.show()
mpg -j cylinders displacement -| horsepower
weight -acceleration -model year -
1 -0.78 -0.81 -0.78 -0.83 0.42
-0.78 1 0.95 0.84 0.9 -0.5
-0.81 0.95 1 0.9 0.93 -0.54
-0.78 0.84 0.9 1 0.86 -0.69
-0.83 0,9 0.93 0.86 1
0.42 -0.5 -0.54 -0.69 1
-0.35 -0.37 -0.31 0.29
0.57 -0.57 -0.61 -0.46 -0.59 0.21
mpg - cylinders - displacement - horsepower - weight - acceleration -
0.35
-0.37
1.00
0.75
- 0-50
0.25
0.00
- -0.25
-0.50
-0.75
Рисунок 1. Тепловая карта корреляции.
Figure 1. Correlation heat map.
Из тепловой карты корреляции видно, что все параметры автомобиля имеют либо положительную, либо отрицательную корреляцию относительно расхода топлива, это значит, что все имеющиеся параметры так или иначе влияют на расход топлива [6]. Все показатели были использованы для построения модели линейной регрессии.
Построение модели
Набор данных был разделен на обучающую и тестовую выборки в размерах 0.8 и 0.2 от общего количества данных соответственно. С помощью класса LinearRegression была создана и обучена модель линейной регрессии (рисунок 2).
Х_1:га:.п, у^Ьгаз.гц y_test = 1га1п1:е51:_зр11.1:(Х, у, random_state=42)
Рисунок 2. Создание и обучение модели. Figure 2. Creating and training a model.
Оценка качества модели
Обучив модель и посчитав относительную ошибку RMSE, которая равна 13.96%, можно сделать вывод, что модель адекватна и может быть использована для предсказания расхода топлива автомобиля (рисунок 3) [6].
# Оценка качества модели
rnise - np + sqrt(mean_squared_error(y_te5tj ypred)) mae = mean_absolute_error(y_test, y_pred) r2 = r2_score(y_test, y_pred)
print(f"RMSE: {rmse}") print(f"ЛАЕ: {mae ") print(f"Rn2: {r2}™)
# Анализ диапазона значений mpg min_mpg - data [1 mpg" ] .min() inax_mpg - data ['nnpg" ] .max() inean_mpg - data [ 'mpg' ].mean()
print (f "Минимальное значение mpg: {min_mpg},r) print(f"MaKCHMaflbHoe значение mpg: {maxjnpg}") print(f"CpeflHee значение mpg: {mean_mpg}")
# Относительная ошибка RMSE relative_rmse - rmse / iTiean_npg
print(^'Относительная RMSE: {relative_rmse:.2%}")
RMSE: 3.27274570030Э9515
MAE: 2.4187802491974496
R"2: 0.7901500386760351
Минимальное значение mpg: 9.0
Максимальное значение mpg: 46.6
Среднее значение mpg: 23.445918367346938
Относительная RMSE: 13.96%
Рисунок 3. Расчет оценки качества модели. Figure 3. Calculation of the model quality assessment.
Тестовые предсказания
После обучения и оценки модели необходимо провести тестовые предсказания и сравнить их с реальными с помощью визуализации метрик на графике (рисунок 4).
# Создание новой фигуры с заданными размерами plt.figure(figsize^(10j 6))
# Разброс точек: где фактический расход топлива отображается по оси X, а предсказанный - по оси Y
# Синие точки представляют каждое наблюдение в тестовой выборке pit.scatter(y_test, ypred, color='blue'j alplia=®.6)
# Добавляем диагональную линию (идеальное соответствие между фактическими и предсказанными значениями) pit.plot("y_test.min(), y_test.max()]j [y_test.min()j y_test.max()]j '--', lw=2, color='red')
pit.xlabel('Фактический расход топлива')
pit.ylabel('Предсказанный расход топлива')
pit.title('Фактический vs. Предсказанный расход топлива")
plt.gnid(True)
plt.showQ
Фактический vs, Предсказанный расход топлива
•
* К'' • • •
• # ; s: » wr i >-
• • i •а в • •
у" •
1 г
• • » - -—
45
40 -
ей 35
ч зо
о
25
20
15
10
10
15
20 25 30
Фактический расход топлива
35
40
45
Рисунок 4. Тестирование модели. Figure 4. Testing the model.
ЗАКЛЮЧЕНИЕ
Результаты показали, что метод линейной регрессии может быть эффективно использован для прогнозирования расхода топлива автомобиля. Тем не менее, для улучшения точности модели возможно использование более сложных методов машинного обучения, таких как деревья решений, случайные леса или нейронные сети
[7].
В данной статье был рассмотрен метод линейной регрессии для прогнозирования расхода топлива автомобиля на основе различных характеристик. Проведенный анализ данных и визуализация результатов показали, что данный метод может быть полезен для решения задач в автомобильной индустрии.
СПИСОК ЛИТЕРАТУРЫ
[1] Кун М., Джонсон К. Предиктивное моделирование на практике. Springer; 2019. 640.
[2] Лутц М. Изучаем Python. М.: Эксмо; 2019. 1200.
[3] Педрегоса Ф., Варуко Г., Scikit-learn: машинное обучение на Python. Журнал исследований машинного обучения. 2011; 12: 2825-2830.
[4] Негодин В.А. Машинное обучение в языке программирования Python. Форум молодых ученых. 2019; 8(36): 201-203.
[5] Зулунов Р.М., Солиев Б.Н. Использование Python для искусственного интеллекта и машинного обучения. Al-Farg'oniy avlodlari. 2023; 1(3): 18-24.
[6] Murphy K.P. Machine Learning: A Probabilistic Perspective. MIT Press; 2012. 1067.
[7] Гудфеллоу И., Бенгио Й., Курвилл А. Глубокое обучение. М.: MIT Press; 2016. 775.
REFERENCES
[1] Kun M., Dzhonson K. Prediktivnoe modelirovanie na praktike. Springer; 2019. 640. (in Russian)
[2] Lutc M. Izuchaem Python. M.: Eksmo; 2019. 1200. (in Russian)
[3] Pedregosa F., Varuko G., Scikit-learn: mashinnoe obuchenie na Python. Zhurnal issledovanij mashinnogo obucheniya. 2011; 12: 2825-2830. (in Russian)
[4] Negodin V.A. Mashinnoe obuchenie v yazyke programmirovaniya Python. Forum molodyh uchenyh. 2019; 8(36): 201-203. (in Russian)
[5] Zulunov R.M., Soliev B.N. Ispol'zovanie Python dlya iskusstvennogo intellekta i mashinnogo obucheniya. Al-Farg'oniy avlodlari. 2023; 1(3): 18-24. (in Russian)
[6] Murphy K.P. Machine Learning: A Probabilistic Perspective. MIT Press; 2012. 1067.
[7] Gudfellou I., Bengio J., Kurvill A. Glubokoe obuchenie. M.: MIT Press; 2016. 775. (in Russian)
ИНФОРМАЦИЯ ОБ АВТОРАХ / INFORMATION ABOUT THE AUTHORS
Зуев Максим Алексеевич, студент, кафедра «БИТ», инженерно-экономический институт, направление «Прикладная информатика», ФГБОУ ВО «НИУ «МЭИ», г. Москва, Россия
Шибаев Владимир Михайлович, студент, кафедра «БИТ», инженерно-экономический институт, направление «Прикладная информатика», ФГБОУ ВО «НИУ «МЭИ», г. Москва, Россия
Баланев Кирилл Сергеевич, асистент, ФГБОУ ВО «НИУ «МЭИ», г. Москва, Россия
Maxim Zuev, student, Department of "BIT", Institute of Engineering and Economics, direction "Applied Informatics", National Research University «Moscow Power Engineering Institute», Moscow, Russia
Vladimir Shibaev, student, Department of "BIT", Institute of Engineering and Economics, direction "Applied Informatics", National Research University «Moscow Power Engineering Institute», Moscow, Russia
Kirill Balanev, assistant Professor, National Research University «Moscow Power Engineering Institute», Moscow, Russia
Статья поступила в редакцию 14.06.2024; одобрена после рецензирования 26.06.2024; принята
к публикации 27.06.2024.
The article was submitted 14.06.2024; approved after reviewing 26.06.2024; accepted for publication
27.06.2024.