Введение
Пандемия, которая продлится до 2021 года, повлияла на уровень производства в автомобильной промышленности и привела к закрытию заводов, ограничению персонала и нехватке критически важных компонентов для современных автомобилей. Это может повлиять на цену самого автомобиля.
«Продажи автомобилей упали почти на 20%, но цены бьют рекорды»
— The Wall Street Journal, 2020 г.
Точная оценка цен на автомобили очень важна для поддержания здорового развития автомобильного рынка. В связи с этим в данной статье хотелось бы прогнозировать цены на автомобили с помощью одного из методов прогнозирования, а именно множественной линейной регрессии. Используя нефильтрованные данные, мы собираемся определить факторы, влияющие на цены автомобилей, а затем составить уравнение, которое сможет предсказать цену автомобиля с учетом его характеристик и оценить надежность данных.
По этой причине цель статьи состоит в том, чтобы создать надежную модель линейной регрессии на основе данных, предоставленных с помощью функций выбора признаков, OLS (обычного метода наименьших квадратов) и MAPE (средняя абсолютная ошибка в процентах).
Оглавление
- "Начиная"
- Выбор характеристик
- Исследовательский анализ данных
- Удаление выбросов
- Множественная линейная регрессия
- Оценка модели
Начиная
Что такое данные и цель
Набор данных, который мы собираемся использовать в этой статье, представляет собой данные о характеристиках автомобилей от 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.