Дорогие друзья!

Добро пожаловать на AP-Airbnb#2, вторую часть нашей серии прикладных проектов Airbnb! 👋Джеймс Калео Кистнер,👋Синдху Айенгар и👋моя скромная личность познакомят вас с несколькими моделями машинного обучения с помощью цель – проверить нашу гипотезу из части 1(🔗AP#1 Airbnb: EDA) и определить факторы, влияющие на ежедневные цены на рынке Airbnb в Калифорнии. Предпосылка этой статьи заключается в том, что вы знакомы с основными моделями машинного обучения. Давайте погрузимся!

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

Напоминаем, что мы решили рассмотреть следующие переменные:

Примечание. Плата за уборку была удалена как независимая переменная, поскольку большинство хозяев определяют плату за уборку в зависимости от размера имущества, которое, в свою очередь, является одним из основных факторов, определяющих ежедневные ставки. Наш анализ, часть 1, показал, что плата за уборку колеблется в пределах 45–60% от дневной ставки. Следовательно, плата за уборку является производной от других переменных в нашем наборе данных (мультиколлинеарность) и не должна включаться в наши прогностические модели.

1) Подготовка данных

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

Разделение данных
Второй ключевой шаг, который нам нужно было сделать, — разделить наш набор данных на тестовые и обучающиенаборы. Идея заключается в том, что нам нужна модель, которая хорошо работает с невидимыми данными (вне выборки), а не модель, которая хорошо согласуется с данными, которые у нас уже есть (в выборке). Мы сделали обычное разделение 70/30, где 70% нашего набора данных будет использоваться для обучения модели, а оставшиеся 30% будут использоваться для тестирования модели.

Оценка производительности
Мы количественно оцениваем производительность наших моделей, используя два популярных показателя оценки: скорректированный R-квадрат (RSQ) и среднеквадратическая ошибка. (RMSE). RSQ сообщает нам, какая доля дисперсии переменной ответа объясняется нашими переменными-предикторами. Он масштабируется в диапазоне от 0 до 100%, где 100% означает, что все вариации y объясняются выбранным набором предикторов. RMSE — это уравнение, которое сообщает нам среднюю разницу между нашими предсказанными значениями (ŷ) и наблюдаемыми значениями (y). RMSE особенно полезен для сравнения соответствия различных моделей машинного обучения. Чем ниже RMSE, тем лучше модель может «соответствовать» набору данных.

2) Множественная линейная регрессия (MLR)

📚 MLR — это контролируемый алгоритм, который учится моделировать непрерывную зависимую переменную или переменную отклика (y) как функцию нескольких независимых переменных или «признаков» (x), находя линию, которая лучше всего соответствует данным. Хотя основные концепции линейной регрессии часто упускают из виду, они используются во многих других алгоритмах машинного обучения, поэтому понимание MLR является обязательным для прочной основы машинного обучения.

В нашей первоначальной модели мы решили включить все 18 независимых переменных в наш MLR, прежде чем мы начнем удалять переменные с высокими p-значениями (обратное исключение) и фундаментальные проблемы из модели.

RSQ нашей комплексной модели множественной линейной регрессии составил 62,38%, а RMSE — 75,403.

Выбор лучшего подмножества

📚 Существует несколько методов выбора признаков для разработки статистически надежных моделей. Двумя широко используемыми пошаговыми регрессиями являются прямой выбор, который начинается с пустой модели и добавляет переменные одну за другой, и обратное исключение (почти противоположное). Функция regsubsets (библиотека leaps) в R помогает нам определить переменные, которые оказали наибольшее влияние на модель (важность переменных).

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

Наша попытка построить экономную модель (уменьшить переменные-предикторы) привела к окончательной модели MLR ниже, исключая такие переменные, как «город», «суперхост», «numReviews», «ванны» и «кровати». '. Количество спален, как лучший показатель размера объекта, и большинство переменных оценок положительно влияют на ставки, в то время как более высокие оценки value оказывают (к нашему удивлению) отрицательное влияние.

Все функции, кроме гостиничных номеров, были статистически значимы при альфа 0,05. Из-за небольшой представленности в наборе данных (1,4%) неудивительно, что коэффициент типа гостиничного номера оказался статистически ненадежным. RSQ нашей окончательной регрессионной модели составил 59,05%, RMSE 84,108.

3) Регуляризация

📚 Переоснащение или недообучение — это реальный риск, когда речь идет о прогнозном моделировании. Ваша модель будет иметь низкую точность за пределами выборки, потому что вы слишком устаете, чтобы зафиксировать весь шум в своем наборе обучающих данных. Высокая производительность модели, которую вы заархивировали в образце, может объяснить свойства, которые не отражают истинное население (шум). Чтобы уменьшить этот риск переобучения (или недообучения!), мы используем регуляризацию, чтобы правильно подогнать наши модели машинного обучения к нашему набору данных. Регуляризация — это форма регрессии, которая препятствует построению более сложной или гибкой модели путем упорядочения или уменьшения оценок коэффициентов до нуля. Существует два основных типа методов регуляризации, которые хорошо подходят для моделей с высоким уровнем мультиколлинеарности или для автоматизации выбора переменных или исключения параметров: Ridge и Lasso.

3a) Регрессия хребта

📚Модель хребта изменяет переобученные или недообученные модели, добавляя коэффициент усадки к RSS (остаточная сумма квадратов). Затем коэффициенты оцениваются путем минимизации этой скорректированной функции. Штраф лямбда λ — это параметр настройки, который определяет, насколько мы хотим снизить гибкость нашей модели. Чем выше штраф, тем больше он уменьшает величину коэффициента гребневой регрессии.

RSQ нашей модели гребневой регрессии составил 62,65%, RMSE 80,937.

Чтобы интерпретировать эти коэффициенты, вспомните, что каждый признак масштабируется таким образом, что изменение на одну единицу представляет собой изменение стандартного отклонения на одну единицу. Например, глядя на общие рейтинги, общий рейтинг на одно стандартное отклонение выше среднего увеличивает ежедневную ставку листинга на 32,81 доллара США. В приведенной выше таблице показано, что расположение, общий и стоимость рейтинг (по-прежнему отрицательный!), а также размер остаются важными; статус суперхоста, кажется, остается в списке важных функций.

3b) Лассо-регрессия

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

RSQ нашей модели регрессии лассо составил 62,66%, а RMSE 80,931.

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

4) Дерево решений регрессии

📚Деревья решений — это непараметрические методы реализации с учителем для задач классификации, а также задач регрессии (наш случай). Они создают структуры в виде дерева с различными типами узлов (корень, ветвь и лист), разбивая набор данных на более мелкие подмножества. Эти подобные блок-схемам структуры (если-иначе) легко понять и интерпретировать, потому что они имитируют человеческое мышление. В дереве решений регрессии данные разбиваются на подмножества с похожими (однородными) результатами. Результирующая древовидная модель может затем прогнозировать непрерывные выходные данные, начиная с ее корня, наиболее важного предиктора/классификатора, и медленно разветвляясь на более мелкие листовые и внутренние узлы, что в конечном итоге приведет к прогнозируемому результату.

RSQ нашего необрезанного дерева решений составил 67,72%, RMSE 75,246. Учитывая архитектуру самой древовидной модели и тот факт, что мы позволили обучить ее в полную силу (по умолчанию), дерево, скорее всего, будет соответствовать обучающим данным. Чтобы предотвратить нежелательные результаты переоснащения, мы уменьшаем глубину нашего дерева путем обрезки. Этот процесс уменьшения размера дерева превращает некоторые узлы ветвей в листовые узлы (в отличие от разделения) и удаляет листовые узлы под исходной ветвью.

Как вы можете видеть на древовидной диаграмме, выбор функций очень похож на предыдущие модели, за исключением изменения характеристик рейтинга (in: location) и качества (out: superhost). Производительность обрезанного дерева упала до 58,60%, RMSE 85,211.

5) Регрессия случайного леса

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

RSQ нашей модели случайного леса составил 91,83%, RMSE 37,847. Значительно более высокая производительность по сравнению с рассмотренными выше моделями машинного обучения.

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

6) Производительность модели

Когда мы измеряем точность наших моделей машинного обучения, есть вероятность, что точность может оказаться высокой из-за удачного разделения набора данных. Данные тестирования могут иметь строки, очень похожие на данные обучения, поэтому производительность модели улучшается! 📚 Начальная загрузка – это метод повторной выборки, который обеспечивает максимально возможную точность и беспристрастность оцениваемой статистики. Это снижает этот риск за счет повторной выборки из нашего набора данных Airbnb со случайной заменой. Другими словами, мы извлекли образцы, выбирая случайные наборы обучающих данных из всей выборки данных по одному, обучали наши модели машинного обучения и оценивали их производительность в выборке и за ее пределами. Вот иллюстрация, чтобы помочь вашему пониманию:

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

Все рассмотренные модели демонстрируют прогностическую способность от умеренной до сильной в диапазоне от 60 до 92%. Случайный лес, как правило, значительно превосходит все модели в наборе данных для обучения, но теряет свое преимущество в наборе данных для тестирования. Тем не менее, случайный лес остается в лидерах. Мы также проверили утверждение из исследования в этой области (🔗 Оценка арендной платы) о том, что логарифмическое преобразование арендной платы увеличило производительность модели. Как показано в таблице ниже, логарифмическое преобразование действительно улучшило общую производительность модели на 11% для большинства моделей. Обратите внимание, что уровень RMSE отражает логарифмически преобразованные переменные y.

7) Инсайты

В целом наш раздел прогнозной аналитики данных подтвердил несколько выводов, сделанных нами в части 1:

📌Местоположение имеет значение. Напа(+),Санта-Барбара (+), Палм-Спрингс(+) и Фресно(-) были выбраны большинством моделей как важная функция и оказали значительное влияние на цену.

📌Пространство положительно влияет на ценообразование. количество спален кажется лучшим показателем размера для всех моделей. Разница в типах комнат (частная или вся квартира) оставалась столь же важной. Включение удобств в наши прогностические модели повысило эффективность большинства моделей в выборке, но лишь незначительно вне выборки (🔗ModelPerfAmen). Дополнительные опасения по поводу значительно меньшего размера выборки (на 73% меньше данных) заставляют нас исключить удобства из дальнейшего анализа до тех пор, пока не будет доступно больше данных. Попытки построить модели машинного обучения на основе идеи кластеров емкости (меньшие по сравнению с большими единицами) не принесли нам дальнейшего понимания или повышения производительности (🔗ClusterSmall, ClusterLarge).

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

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

8) Заключительные замечания и следующие шаги

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

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

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