Введение

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

«Продажи автомобилей упали почти на 20%, но цены бьют рекорды»
— The Wall Street Journal, 2020 г.

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

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

Оглавление

  1. "Начиная"
  2. Выбор характеристик
  3. Исследовательский анализ данных
  4. Удаление выбросов
  5. Множественная линейная регрессия
  6. Оценка модели

Начиная

Что такое данные и цель

Набор данных, который мы собираемся использовать в этой статье, представляет собой данные о характеристиках автомобилей от Kaggle (https://www.kaggle.com/hellbuoy/car-price-prediction). Начиная от топлива, заканчивая длиной и мощностью, набор данных с 21 характеристикой автомобиля.

Первые шаги

я. Признать цель

Как упоминалось ранее, мы пытаемся угадать цену по другим функциям. Следовательно, цена является зависимой переменной, а остальные характеристики — независимыми переменными.

II. Импорт библиотеки

III. Загрузить набор данных

IV. Преобразование данных

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

Выбор функции

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

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

И это должно привести к

Благодаря этому мы можем определить функции, которые действительно влияют на цену автомобиля. И поэтому нам не нужно было бы обрабатывать какие-либо нерелевантные данные.

Исследовательский анализ данных

Поскольку мы определили зависимые и вносящие вклад независимые переменные, мы можем дополнительно анализировать данные с помощью EDA. Исследовательский анализ данных отображает оценку переменных и отношения между ними в зависимости от типа.

Одномерный

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

selected_data.describe()

sns.boxplot(data=selected_data)

Многовариантный

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

sns.pairplot(data=selected_data)
plt.show()

sns.heatmap(selected_data.corr(), vmin=-1, vmax=1, cmap="coolwarm", annot=True)
plt.show()

Удаление выбросов

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

Множественная линейная регрессия

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

  • Y = прогнозируемое значение зависимой переменной
  • B0= точка пересечения y (значение y, когда все остальные параметры установлены на 0)
  • B1X1= коэффициент регрессии (B1) первой независимой переменной
  • BiXi = коэффициент регрессии последней независимой переменной

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

Обучение данных

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

Подгонка данных к модели

я. Нахождение линейного уравнения

Intercept: -21840.3960
Coefficient b1: 104.5894
Coefficient b2: 15.5367
Coefficient b3: 5.2842
Coefficient b4: 1.3075

II. Прогнозирование с помощью данных

Result: [9998166.96057102]

Оценка модели

Теперь, когда у нас есть рабочая модель, все, что осталось, это оценить ее. Чтобы измерить, является ли созданная нами модель действительно надежной или нет, мы используем OLS и MAPE.

OLS (Обычный метод наименьших квадратов)

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

RMSE (среднеквадратичная ошибка)

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

MSE : 14143118.544848127
RMSE : 3760.733777449306

MAPE (средняя абсолютная ошибка в процентах)

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

mape: 15.20055736468815

Ниже приведены критерии, которые можно использовать в качестве ориентиров для измерения MAPE:

‹10 % = очень точно
10–20 % = хорошо
20–50 % = приемлемо
›50 % = неточно

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

Заключительные заявления

Спасибо, что нашли время прочитать эту статью.

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

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



Ссылка

Нотон, Н. (2020). Продажи автомобилей упали почти на 20%, но цены бьют рекорды. Получено 27 мая 2021 г. с https://www.wsj.com/articles/car-sales-are-down-almost-20-but-prices-are-setting-records-11599219000.

Айндхэ (2021). Cara Menghitung Средняя абсолютная ошибка в процентах (MAPE) в Excel. Получено 8 июня 2021 г. с https://www.aindhae.com/2019/12/cara-menghitung-mean-absolute.html.