Как построить модель предсказывающую стоимость автомобиля
Перейти к содержимому

Как построить модель предсказывающую стоимость автомобиля

  • автор:

Name already in use

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Прогнозирование стоимости автомобиля по характеристикам.

Была поставлена задача создать модель, которая будет предсказывать стоимость автомобиля по его характеристикам. Данный бизнес-кейс является аналогом существующего сервиса оценки стоимости автомобиля на сайте Auto.ru.

Репозиторий содержит 2 файла:

car_price_prediction.ipynb — ноутбук с пошаговым решением поставленной задачи, включая предобработку данных и построение модели.

cars_autoru_data_parser.ipynb — ноубук с кодом парсера для сбора данных.

Решение задачи состояло из следующий этапов:

Сбор данных для обучения модели с помощью парсера

Очистка и анализ данных, предобработка

Построение модели для обучения и подбор параметров для лучшей оценки качества (в качестве метрики была использована метрика MAPE).

Как построить модель предсказывающую стоимость автомобиля


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

# Давайте посмотрим на график распределения цен


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


выглядит намного лучше

# Чтобы быть ближе к нормальному распределению, преобразование log (x + 1) выполняется по цене


На этот раз распределение похоже на нормальное. Изображение справа обрезано с длинным хвостом.

# Давай снова тренироваться

# Визуализируйте волну или посмотрите на v_9


выглядит более точным, а прогнозируемое значение и истинное значение более точно согласованы.

# Пятикратная перекрестная проверка

Определите функцию для обработки логарифмического преобразования прогнозируемых и истинных значений

# Мы используем модель линейной регрессии для выполнения 5-кратной перекрестной проверки данных характеристик необработанных меток

— AVG: 1.3654295934396061 -> 5-кратное среднее значение MAE

# Затем мы используем модель линейной регрессии для выполнения 5-кратной перекрестной проверки обработанных данных функций

— AVG: 0.1932330179438017
MAE уменьшена с 1,365 до 0,193, ошибка значительно уменьшена

# Фактически, пятикратная перекрестная проверка фактически отражает неверные условия в некоторых наборах данных, связанных со временем

Неразумно использовать цену подержанных автомобилей в 2018 году для прогнозирования 2017 года, поэтому мы можем использовать первые 4/5 выборки в качестве обучающего набора, а последние 1/5 — как проверочный набор.

— MAE составляет 0,196, что не сильно отличается от пятикратной перекрестной проверки.

# Нарисуйте кривую скорости обучения и кривую проверки

Создайте функцию, которая строит кривую скорости обучения


Модель хорошо вписывается в обучающий набор и хорошо работает в проверочном наборе.

# Выбор встроенной функции — в большинстве случаев используется выбор встроенной функции

1. L1 регуляризация — регрессия лассо —
Модель ограничена квадратной областью (под двумерной областью), минимальное значение функции потерь часто находится в углу квадрата (ограничение), а многие веса равны 0 (многомерные), поэтому ее можно реализовать Редкость модели (сгенерируйте разреженную матрицу весов, которая затем используется для выбора признаков.

2.L2 регуляризация — гребенчатая регрессия —
Модель ограничена круговой областью (под двумерной областью), а минимальное значение функции потерь не делает вес 0, потому что круговое ограничение не имеет углов, но оно может привести к исчерпанию весов. Он может быть небольшим, и, наконец, модель со всеми параметрами относительно мала, поэтому модель относительно проста, может адаптироваться к различным наборам данных и в определенной степени позволяет избежать переобучения.

# Давайте посмотрим на сравнение эффектов трех моделей: линейная регрессия; регрессия Лассо с добавлением L1; регрессия гребня с добавлением L2.


— Модель линейной регрессии: обнаружено, что v_6, v_8 и v_9 имеют значительный вес


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


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

# Посмотрите на часто используемые нелинейные модели и сравните эффекты линейных моделей



В целом Random Forest работает лучше всего при каждой скидке, XGB также хорош, а минимальное значение LGB составляет около 0,143.

# Настройка модели — Возьмем для примера LGB-LGBMRegressor

## как поживаешь
— Набор параметров LGB

После долгого ожидания .

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


Видно, что MAE модели XGB составляет около 0,143 без параметров настройки.
После выбора оптимальных целевых параметров на местном уровне MAE падает примерно до 0,142
После выбора оптимального параметра best_leaves MAE составляет около 0,1354 (большая оптимизация).
Наконец, после выбора параметра best_depth MAE составляет около 0,1353, что не сильно отличается

## Поиск по сетке — Настройка поиска по сетке

## Байесовская настройка

Когда целевое значение достигнет нового максимума, оно будет отмечено фиолетовым цветом.
Обратите внимание, что максимальное значение составляет 0,8694.
Значение MAE 0,1306;
в настоящее время является самой высокой точностью среди трех методов настройки.

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

Как программист машину покупал

Недавно я озадачился поиском б.у. автомобиля, взамен только что проданного, и, как это обычно бывает, на эту роль претендовали несколько конкурентов.

Как известно, для покупки авто на территории РФ существует несколько крупных авторитетных сайтов (auto.ru, drom.ru, avito.ru), поиску на которых я и отдал предпочтение. Моим требованиям отвечали сотни, а для некоторых моделей и тысячи, автомобилей, с перечисленных выше сайтов. Помимо того, что искать на нескольких ресурсах неудобно, так еще, прежде чем ехать смотреть авто “вживую”, я хотел бы отобрать выгодные (цена которых относительно рынка занижена) предложения по априорной информации которую предоставляет каждый из ресурсов. Я, конечно, очень хотел решить несколько переопределенных систем алгебраических уравнений (возможно и нелинейных) высокой размерности вручную, но пересилил себя, и решил этот процесс автоматизировать.
image

Сбор данных

Данные я собирал со всех описанных выше ресурсов, а интересовали меня следующие параметры:

  • цена (price)
  • год выпуска (year)
  • пробег (mileage)
  • объем двигателя (engine.capacity)
  • мощность двигателя (engine.power)
  • тип двигателя (2 индикаторные взаимоисключающие переменные diesel и hybrid, принимающие значения 0 или 1, для дизельных и гибридных двигателей соответственно). Тип двигателя по умолчанию — бензиновый (не вынесен в третью переменную во избежании мультиколлинеарности).

image

Визуализация полученных данных

Дабы не вдаваться в сухую теорию, давайте рассмотрим конкретный пример, будем искать выгодные Mercedes-Benz E-klasse не старше 2010 года выпуска, стоимостью до 1.5 млн. рублей в Москве. Для того, чтобы начать работать с данными, первым делом заполняем пропущенные значения (NA) на медианные, благо для этого в R есть функция median().

Для остальных переменных процедура идентична, поэтому опущу этот момент.

Теперь посмотрим как цена зависит от регрессоров (визуализация индикаторных переменных на данном этапе нас не интересует).

image

Оказывается за эти деньги есть несколько машин 2013 года и даже одна 2014!

image

Очевидно, что чем меньше пробег, тем цена выше.

image

image

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

Хочу обратить ваше внимание на тот факт, что в большинстве статей по машинному обучению, которые попадались мне в последнее время, в том числе на “Хабре”, очень мало внимания уделяется обоснованию правомерности использования выбранной модели, ее диагностики и ошибках.

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

Диагностика модели

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

Чтобы модель была корректной, необходимо выполнение условий теоремы Гаусса-Маркова:

    Модель данных правильно специфицирована, т.е.:

    отсутствуют пропущенные значения.

Проверим, выполняется ли это условие:

image

Видно что присутствует большая корреляция (>0.7) между объемом и мощностью двигателя, поэтому при дальнейшем анализе мы не будем учитывать переменную engine.capacity, т.к. именно мощность двигателя позволит более точно построить регрессионную модель по сравнению с объемом двигателя (атмосферный бензиновый, бензиновый с турбонаддувом, дизельный моторы — при одном и том же объеме могут имеют разную мощность).

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

Меры влияния выбросов на оценки модели можно подразделить на общие и специфические. Общие меры, такие как расстояние Кука, dffits, ковариацинное отношение (covratio), расстояние Махаланобиса, показывают как i-тое наблюдение влияет на положение всей регрессионной зависимости, их мы и будем использовать для идентификации выбросов. Специфические меры влияния, такие как dfbetas, показывают влияние i-того наблюдения на отдельные параметры регрессионной модели.

Ковариацинное отношение (covratio) — общая мера влияния наблюдения. Представляет собой отношение детерминанта ковариационной матрицы с удаленным i-ым наблюдением к детерминанту ковариацинной матрицы для всего набора данных.

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

Расстояние Махаланобиса — мера удаления наблюдения от центра системы, но т.к. она не учитывает зависимый или независимый характер переменной и рассматривает их в облаке рассеяния равнозначно, данная мера не предназначена для регрессионного анализа.
Таким образом, для обнаружения выбросов будем использовать меры dffits и covratio.

Значимыми для меры dffits являются показатели превосходящие величину 2*sqrt(k/n) = 0.42, поэтому следует их отбросить (k — количество переменных, n — число строк выборки).

Значимые для меры covratio показатели можно найти из неравенства | model.covratio[i] -1 | > (3*k)/n.

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

image

image

image

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

Посмотрим как распределены ошибки модели (для расчета ошибок модели в R есть функция resid()).

image

image

image

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

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

image

Опробирование выбранной модели

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

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

image

И на какую выгоду в процентном соотношении можно рассчитывать?

Да, экономия 59% это очень здорово, но весьма сомнительно, нужно смотреть авто «вживую», т.к. бесплатный сыр обычно в мышеловке, ну или продавцу срочно нужны деньги. А вот начиная с 4-го места (экономия 28%) и далее, результат кажется вполне реалистичным.

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

Напоследок

Дорогие друзья, я сам, прочитав бы подобную статью задал бы в первую очередь 3 вопроса:

  1. Какая у модели точность?
  2. Почему выбрана простейшая линейная регрессия и где сравнение с другим моделями?
  3. А почему бы не сделать сервис для поиска выгодных автомобилей?

    Протестируем модель по схеме 80/20.

Поэтому я решил разделить своё повествование на 2 (а там как пойдет) статьи.

Name already in use

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Прогнозирование стоимости автомобиля по характеристикам.

Была поставлена задача создать модель, которая будет предсказывать стоимость автомобиля по его характеристикам. Данный бизнес-кейс является аналогом существующего сервиса оценки стоимости автомобиля на сайте Auto.ru.

Репозиторий содержит 2 файла:

car_price_prediction.ipynb — ноутбук с пошаговым решением поставленной задачи, включая предобработку данных и построение модели.

cars_autoru_data_parser.ipynb — ноубук с кодом парсера для сбора данных.

Решение задачи состояло из следующий этапов:

Сбор данных для обучения модели с помощью парсера

Очистка и анализ данных, предобработка

Построение модели для обучения и подбор параметров для лучшей оценки качества (в качестве метрики была использована метрика MAPE).

VI Международная студенческая научная конференция Студенческий научный форум — 2014

ЭКОНОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ СТОИМОСТИ АВТОМОБИЛЯ TOYOTA CAMRY НА ВТОРИЧНОМ РЫНКЕ, ПРИМЕР, РАСЧЕТЫ

Введение

Даннаяработапосвященаанализу предложений на автомобиль ToyotaCamry на вторичном рынке, выявления тенденций, а также прогнозирования стоимости на конкретное авто с заданными значениями факторов. Эта задача представляет интерес и актуальна для дилеров, автосалонов, для оценки и назначение адекватной цены на авто.

Целью работы является проведение анализа предложений автомобиля ToyotaCamry, полученное с сайта auto.ru по состоянию на 17.12.2013. По этим данным будет построенарегрессионнаямодель, а также произведена оценка качества модели. Для выполнения исследования использовался программный продукт MicrosoftExcel.

Результирующей (эндогенной) переменной будем считать стоимость автомобиля.

Факторы выбраны следующие:возраст автомобиля, пробег (км),количество владельцев, тип коробки — фиктивная переменная (0 — автомат, 1 — механика), тип салона — фиктивная переменная (0 — ткань, 1 — кожа), наличие легкосплавных дисков — фиктивная переменная (0 — нет в комплекте в предложении, 1 — есть в комплекте), наличие люка — фиктивная переменная (0 — нет, 1 — есть).

Исходные данные получены с сайта auto.ru по состоянию на 17 декабря 2013 года — были выбраны предложения автомобиля ToyotaCamry модификации 2,4i 2011 -2013 годов выпуска. Получена выборка по 70 предложениям.

Реализация

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

1. Выбор факторов для регрессионного анализа

1.1. Корреляционный анализ данных, включая проверку теста Фаррара-Глоубера на мультиколлинеарность факторов

Получим матрицукоэффициентов парной корреляции для всех факторова с помощью инструмента Корреляция из пакета Анализ данных в Excel.

Для выявления мультиколлинеарности факторов выполним тест Фаррара-Глоубера по факторам: возраст авто, пробег, количество владельцев, тип коробки, тип салона, наличие легкосплавных дисков, наличие люка.

Проверка теста Фаррара-Глоубера на мультиколлинеарность факторов включает несколько этапов, реализация которых представлена ниже:

1) Проверка наличия мультиколлинеарности всего массива переменных:

Построим матрицу межфакторных корреляций R и найдем её определительdet[R] = 0,075234492 с помощью функции МОПРЕД.

Определитель матрицы R стремится к нулю, что позволяет сделать предположение об общей мультиколлинеарности факторов. Подтвердим это предположение оценкой статистики Фаррара-Глоубера.

Вычислим наблюдаемое значение статистики Фаррара — Глоубера по формуле:,где n = 70 — количество наблюдений (компаний); k = 7 — количество факторов (переменных анализа).157,3846837

Фактическое значение этого критерия сравниваем с табличным значением критерия с степенью свободы и уровне значимости α=0,05. Табличное значение 32,67057334можно найти с помощью функции ХИ2ОБР. ХИ2.ОБР.ПХ(0,05; 21).Так как (953,87>32,67), то в массиве объясняющих переменных существует мультиколлинеарность.

2) Проверка наличия мультиколлинеарности каждой переменной с другими переменными:

Вычислим обратную матрицу с помощью функции ExcelМОБР.

ВычислимF-критерим, где — диагональные элементы матрицы .

Фактические значения F-критериев сравниваются с табличным значением при n1= 7 и n2 = n — k — 1=70-7-1=62 степенях свободы и уровне значимости α=0.05, где k — количество факторов.

Так как все значения F-критериев больше табличного, то все исследуемые независимые переменные мультиколлинеарны с другими. Больше других влияет на общуюмультиколлинеарность факторов фактор возраст авто, меньше — фактор легкосплавные диски.

3) Проверка наличия мультиколлинеарностикаждой пары переменных

Вычислим частные коэффициенты корреляции по формуле , где — элементы матрицы . Матрицу коэффициентов частной корреляции получим вручную с помощью MicrosoftExcel.

Вычислимt-критерии по формуле .

Фактические значения t-критериев сравниваются с табличным значением при степенях свободы (n — k — 1)=70-7-1=62 и уровне значимости α=0,05.

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

Таким образом, в результате проверки теста Фаррара-Глоубера остается шесть факторов: возраст авто, количество владельцев, тип коробки, тип салона, наличие легкосплавных дисков, наличие люка.

Уточнение набора факторов, наиболее подходящих для регрессионного анализа, осуществим другими методами отбора.

1.2. Пошаговый отбор факторов методом исключения из модели статистически незначимых переменных

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

Статистически незначимыми () оказалсяфактор легкосплавные диски. На следующем этапе пошагового отбора удаляем статистически незначимый фактор с наименьшим значением t-критерия, то есть фактор количество владельцев.

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

Таким образом, в результате пошагового отбора получено двухфакторное уравнение регрессии, все коэффициенты которого (кроме свободного члена) значимы при 5%-ном уровне значимости, вида где — возраст авто, — тип салона (1 — кожа, 0 — ткань).

Экономический смысл коэффициентов уравнения: при увеличении возраста автомобиля на 1 год стоимость его уменьшается в среднем на 62062 р., кожаный салон в сравнении с велюровым добавляет к стоимости 60216 р.

2. Оценка качества модели регрессии. Проверка статистической значимости уравнения с помощью F-критерия Фишера

Расчетное значение F-критерия Фишера можно найти в регрессионном анализе.

.2,75548072. Так как , то уравнение двухфакторной регрессии статистически значимо на 95% уровне значимости. Таким образом, связь стоимости с включенными в модель факторами существенна.

3. Оценка уровня точности модели

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

Cтандартная ошибка модели выводится в первой таблице «Регрессионная статистика» отчета по регрессионному анализу.

Точность модели тем лучше, чем меньше ее стандартная ошибка (это же имеет место и при использовании для оценки уровня точности других видов ошибок). Однако, понятие «чем меньше» является относительным и зависит от порядка чисел, представляющих данные задачи. Поэтому модель считается точной, если стандартная ошибка модели меньше стандартной ошибки (среднеквадратического отклонения) результативного признака Y. Стандартную ошибку легко найти в Excel с помощью статистической функции СТАНДОТКЛОН.

В нашем случае стандартная ошибка модели , а среднеквадратическое отклонение (или стандартная ошибка) ЧП =80815,45939. Так как <, то трехфакторная модель регрессии является точной.

Заключение

Итак, в данной работе проведен анализ предложений автомобиля ToyotaCamry на вторичном рынке. В процессе решения поставленной задачи была простроена регрессионная модель.

Методом пошагового отбора были получены только статистически значимые факторы. В частности, из решения задачи можно сделать вывод, что пробег не оказывает влияния на стоимость автомобиля.Полученное регрессионное уравнение позволяет сделать вывод: как изменится в цене автомобиль с кожаным салоном в отличие от автомобиля с тканевым; насколько в среднем автомобиль потеряет в цене при увеличении возраста.

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

Источники

2. Экономико-математические методы и модели: компьютерное моделирование: Учеб.пособие / И.В. Орлова, В.А. Половников — М.: Вузовский учебник, 2011.

3. Многомерный статистический анализ в экономических задачах: компьютерное моделирование в SPSS: Учебное пособие / Под ред. И.В. Орловой. — М.: Вузовский учебник, 2009. — 309 .

Прогноз цен на автомобили с помощью моделей машинного обучения (часть 2)

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

Функциональная инженерия

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

Алгоритмы машинного обучения имеют дело исключительно с числовыми входами и выходами. Поэтому строковые / категориальные признаки были преобразованы в числовые данные. Это было сделано с использованием кодировки One Hot, которая создает отдельные столбцы для каждой записи в столбце и заполняет 1, чтобы указать наличие записи, и 0, если в противном случае. Эту операцию выполнил метод get _ dummies.

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

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

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

Были оценены пять алгоритмов: линейный регрессор, гребневой регрессор, лассо-регрессор, дерево решений и регрессор случайного леса.

  1. Линейный регрессор находит линию, которая лучше всего соответствует всем функциям, и предсказывает выходные данные для совершенно разных входных данных.
  2. Регрессор Ridge использует технику регуляризации L2, чтобы уменьшить сложность модели за счет уменьшения коэффициента.
  3. Регрессор лассо использует технику регуляризации L1, чтобы полностью исключить некоторые особенности и сделать прогнозы.
  4. Регрессор дерева решений разбивает данные на более мелкие части. Он задает вопросы о данных и дает ответы «да» или «нет». Каждый ответ повышает уверенность в правильном прогнозе
  5. Дерево решений объединяет прогнозы различных результатов случайного леса для выбора более стабильного прогноза.

K-кратная перекрестная проверка использовалась, чтобы проверить, как эти модели будут работать с нашими данными. Перекрестная проверка необходима, поскольку она дает результаты с низким уровнем смещения и низкой дисперсии. При перекрестной проверке данные разделяются на разные свертки, каждая из которых используется в качестве тестовых данных, а остальные — как данные поезда. Таким образом, средний результат каждого сгиба показывает, как алгоритм работает по всем направлениям.

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

Из результата вы быстро увидите, что случайный лес лучше всего работает с данными, имея r-квадрат 89,55%. Следовательно, был принят регрессор случайного леса.

После сопоставления с данными оценка r2 составила 87,32%, что было довольно хорошо. При проверке других показателей средняя абсолютная ошибка (1,60) и среднеквадратичная ошибка (14,87) были довольно низкими, что действительно впечатляло.

Настройка гиперпараметров

Показатель r2 87,32% — это хорошо, но его все еще можно немного поднять. Отличный способ улучшить результат — настроить гиперпараметры алгоритмов. GridSearchCV и RandomizedSearchCV анализируют различные комбинации гиперпараметров и получают комбинации, которые дают лучший результат. Однако RandomizedSearchCV менее требователен к вычислениям, поэтому он использовался для получения наилучших гиперпараметров.

После того, как список значений был определен для каждого параметра, RandomizedSearchCV нашел лучшие оценки и параметры для данных. Используя эти параметры, показатель r-квадрат увеличился до 87,93%. Это было принято в качестве окончательной модели.

Чтобы связать все воедино, была определена функция для оценки цены с использованием окончательной модели.

Ознакомьтесь с некоторыми оценками.

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

Заключение и дальнейшая работа

Мы рассмотрели, как построить модель машинного обучения для прогнозирования цен на автомобили с использованием 5 алгоритмов машинного обучения. Мы начали с очистки данных, визуализации данных и предварительной обработки данных перед подачей данных в алгоритмы машинного обучения. Было замечено, что дерево решений и случайный лес дали хорошие результаты для данных, но случайный лес работал лучше. Это потому, что случайный лес представляет собой совокупность деревьев решений. Агрегация снижает смещение и ограничивает переобучение, тем самым обеспечивая лучший результат. Компромисс — случайный лес — требует больше времени для вычислений и более подвержен переобучению.

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

Вот и все. Если вы хотите попробовать свои силы в этом проекте, вы можете найти файл Notebook здесь. Спасибо за ваше время.

VI Международная студенческая научная конференция Студенческий научный форум — 2014

ЭКОНОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ СТОИМОСТИ АВТОМОБИЛЯ TOYOTA CAMRY НА ВТОРИЧНОМ РЫНКЕ, ПРИМЕР, РАСЧЕТЫ

Введение

Даннаяработапосвященаанализу предложений на автомобиль ToyotaCamry на вторичном рынке, выявления тенденций, а также прогнозирования стоимости на конкретное авто с заданными значениями факторов. Эта задача представляет интерес и актуальна для дилеров, автосалонов, для оценки и назначение адекватной цены на авто.

Целью работы является проведение анализа предложений автомобиля ToyotaCamry, полученное с сайта auto.ru по состоянию на 17.12.2013. По этим данным будет построенарегрессионнаямодель, а также произведена оценка качества модели. Для выполнения исследования использовался программный продукт MicrosoftExcel.

Результирующей (эндогенной) переменной будем считать стоимость автомобиля.

Факторы выбраны следующие:возраст автомобиля, пробег (км),количество владельцев, тип коробки — фиктивная переменная (0 — автомат, 1 — механика), тип салона — фиктивная переменная (0 — ткань, 1 — кожа), наличие легкосплавных дисков — фиктивная переменная (0 — нет в комплекте в предложении, 1 — есть в комплекте), наличие люка — фиктивная переменная (0 — нет, 1 — есть).

Исходные данные получены с сайта auto.ru по состоянию на 17 декабря 2013 года — были выбраны предложения автомобиля ToyotaCamry модификации 2,4i 2011 -2013 годов выпуска. Получена выборка по 70 предложениям.

Реализация

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

1. Выбор факторов для регрессионного анализа

1.1. Корреляционный анализ данных, включая проверку теста Фаррара-Глоубера на мультиколлинеарность факторов

Получим матрицукоэффициентов парной корреляции для всех факторова с помощью инструмента Корреляция из пакета Анализ данных в Excel.

Для выявления мультиколлинеарности факторов выполним тест Фаррара-Глоубера по факторам: возраст авто, пробег, количество владельцев, тип коробки, тип салона, наличие легкосплавных дисков, наличие люка.

Проверка теста Фаррара-Глоубера на мультиколлинеарность факторов включает несколько этапов, реализация которых представлена ниже:

1) Проверка наличия мультиколлинеарности всего массива переменных:

Построим матрицу межфакторных корреляций R и найдем её определительdet[R] = 0,075234492 с помощью функции МОПРЕД.

Определитель матрицы R стремится к нулю, что позволяет сделать предположение об общей мультиколлинеарности факторов. Подтвердим это предположение оценкой статистики Фаррара-Глоубера.

Вычислим наблюдаемое значение статистики Фаррара — Глоубера по формуле:,где n = 70 — количество наблюдений (компаний); k = 7 — количество факторов (переменных анализа).157,3846837

Фактическое значение этого критерия сравниваем с табличным значением критерия с степенью свободы и уровне значимости α=0,05. Табличное значение 32,67057334можно найти с помощью функции ХИ2ОБР. ХИ2.ОБР.ПХ(0,05; 21).Так как (953,87>32,67), то в массиве объясняющих переменных существует мультиколлинеарность.

2) Проверка наличия мультиколлинеарности каждой переменной с другими переменными:

Вычислим обратную матрицу с помощью функции ExcelМОБР.

ВычислимF-критерим, где — диагональные элементы матрицы .

Фактические значения F-критериев сравниваются с табличным значением при n1= 7 и n2 = n — k — 1=70-7-1=62 степенях свободы и уровне значимости α=0.05, где k — количество факторов.

Так как все значения F-критериев больше табличного, то все исследуемые независимые переменные мультиколлинеарны с другими. Больше других влияет на общуюмультиколлинеарность факторов фактор возраст авто, меньше — фактор легкосплавные диски.

3) Проверка наличия мультиколлинеарностикаждой пары переменных

Вычислим частные коэффициенты корреляции по формуле , где — элементы матрицы . Матрицу коэффициентов частной корреляции получим вручную с помощью MicrosoftExcel.

Вычислимt-критерии по формуле .

Фактические значения t-критериев сравниваются с табличным значением при степенях свободы (n — k — 1)=70-7-1=62 и уровне значимости α=0,05.

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

Таким образом, в результате проверки теста Фаррара-Глоубера остается шесть факторов: возраст авто, количество владельцев, тип коробки, тип салона, наличие легкосплавных дисков, наличие люка.

Уточнение набора факторов, наиболее подходящих для регрессионного анализа, осуществим другими методами отбора.

1.2. Пошаговый отбор факторов методом исключения из модели статистически незначимых переменных

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

Статистически незначимыми () оказалсяфактор легкосплавные диски. На следующем этапе пошагового отбора удаляем статистически незначимый фактор с наименьшим значением t-критерия, то есть фактор количество владельцев.

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

Таким образом, в результате пошагового отбора получено двухфакторное уравнение регрессии, все коэффициенты которого (кроме свободного члена) значимы при 5%-ном уровне значимости, вида где — возраст авто, — тип салона (1 — кожа, 0 — ткань).

Экономический смысл коэффициентов уравнения: при увеличении возраста автомобиля на 1 год стоимость его уменьшается в среднем на 62062 р., кожаный салон в сравнении с велюровым добавляет к стоимости 60216 р.

2. Оценка качества модели регрессии. Проверка статистической значимости уравнения с помощью F-критерия Фишера

Расчетное значение F-критерия Фишера можно найти в регрессионном анализе.

.2,75548072. Так как , то уравнение двухфакторной регрессии статистически значимо на 95% уровне значимости. Таким образом, связь стоимости с включенными в модель факторами существенна.

3. Оценка уровня точности модели

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

Cтандартная ошибка модели выводится в первой таблице «Регрессионная статистика» отчета по регрессионному анализу.

Точность модели тем лучше, чем меньше ее стандартная ошибка (это же имеет место и при использовании для оценки уровня точности других видов ошибок). Однако, понятие «чем меньше» является относительным и зависит от порядка чисел, представляющих данные задачи. Поэтому модель считается точной, если стандартная ошибка модели меньше стандартной ошибки (среднеквадратического отклонения) результативного признака Y. Стандартную ошибку легко найти в Excel с помощью статистической функции СТАНДОТКЛОН.

В нашем случае стандартная ошибка модели , а среднеквадратическое отклонение (или стандартная ошибка) ЧП =80815,45939. Так как <, то трехфакторная модель регрессии является точной.

Заключение

Итак, в данной работе проведен анализ предложений автомобиля ToyotaCamry на вторичном рынке. В процессе решения поставленной задачи была простроена регрессионная модель.

Методом пошагового отбора были получены только статистически значимые факторы. В частности, из решения задачи можно сделать вывод, что пробег не оказывает влияния на стоимость автомобиля.Полученное регрессионное уравнение позволяет сделать вывод: как изменится в цене автомобиль с кожаным салоном в отличие от автомобиля с тканевым; насколько в среднем автомобиль потеряет в цене при увеличении возраста.

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

Источники

2. Экономико-математические методы и модели: компьютерное моделирование: Учеб.пособие / И.В. Орлова, В.А. Половников — М.: Вузовский учебник, 2011.

3. Многомерный статистический анализ в экономических задачах: компьютерное моделирование в SPSS: Учебное пособие / Под ред. И.В. Орловой. — М.: Вузовский учебник, 2009. — 309 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *