Прогнозирование цен на бывшие в употреблении телефоны на основе различных характеристик подержанных/восстановленных мобильных телефонов

Введение

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

Алгоритмы регрессии: алгоритмы, которые предсказывают значение y, которое является числовым значением, таким как цена дома или количество сделок купли-продажи.

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

Цели

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

Оглавление

  1. Контекст описания проблемы

2. Объяснительный анализ данных

3. Предварительная обработка данных

4. Построение модели

5. Выводы

6. Ссылки

Контекст описания

Раньше покупка и продажа подержанных смартфонов происходила на нескольких сайтах онлайн-рынка. Но рынок бывших в употреблении и восстановленных телефонов значительно вырос за последнее десятилетие, и новый прогноз IDC (International Data Corporation) предсказывает, что мировой рынок восстановленных и бывших в употреблении мобильных телефонов увеличится с 49,9 млрд долларов США в 2020 году до 143,8 млрд долларов США. к 2031 г., увеличившись в среднем на 10,2% за тот же период.

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

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

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

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

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

мы взглянем на новую ценовую функцию, которая указывает цену нового телефона в евро.

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

Из этого распределения мы можем сделать вывод, что в этом выборочном наборе данных большое количество телефонов работает под управлением операционной системы Android (90,0%), 1 (1,6%) работает на Apple IOS, а (1,9%) для телефоны, работающие на Windows, и остальные (5,7%) для телефонов, работающих на других 0 S. В связи с этим можно сказать, что этот набор данных несбалансирован.

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

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

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

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

после группировки использованных дней в 3 группы разного размера выборки по (650) и использования подсчета значений для отображения количества наблюдений данных в каждой подгруппе

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

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

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

Предварительная обработка данных

Мы начинаем подготовку данных с выявления/удаления дубликатов данных и заполнения недостающих данных,

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

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

Построение модели

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

Поэтому для этой публикации мы будем использовать только одну модель линейной регрессии, которая представляет собой линейную регрессию Склеарна (сама по себе является МНК).

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

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

Глядя на производительность модели, мы получаем показатель R в квадрате 0,99, что является хорошим показателем того, насколько хорошо модель научилась делать прогнозы на наборе данных. Оценка RSME (Root Squared Means Error) 5,84 довольно впечатляет, поскольку она указывает на ошибку модели. Более низкие значения RMSE (как в данном случае) указывают на лучшее соответствие. RMSE — это хорошая мера того, насколько точно модель предсказывает ответ, и это самый важный критерий соответствия, если основной целью модели является предсказание. Таким образом, низкий балл 5,84 можно интерпретировать как модель, которая по крайней мере на 6 евро дешевле прогнозируемых цен на телефоны по сравнению с исходной ценой.

УРА!!, мы успешно построили модель множественной линейной регрессии для прогнозирования цен на бывшие в употреблении телефоны на рынке. Но прежде чем мы начнем праздновать и даже думать о внедрении этой модели в производство, необходимо проверить некоторые предположения линейной модели, поскольку модель множественной линейной регрессии делает несколько предположений, мы остановимся здесь только на трех (3).

Проверка допущений линейной модели

Линейная регрессия делает несколько ключевых допущений;

  1. Между переменной результата и независимыми переменными должна быть линейная зависимость. Диаграммы рассеяния могут показать, есть ли линейная или криволинейная зависимость. Мы установили эту связь на графике выше.
  2. Гомоскедастичность. Это предположение гласит, что дисперсия членов ошибки одинакова для значений независимых переменных (признаков). График ниже представляет собой график стандартизированных остатков по сравнению с прогнозируемыми значениями, который может показать, равномерно ли распределены точки по всем значениям независимых переменных.

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

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

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

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

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

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

Заключение

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

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

Ресурсы

  1. https://github.com/mandeebot/регрессия-анализ

2 . https://www.statisticssolutions.com/free-resources/directory-of-statistical-analyses/homoscedasticity/