В этом проекте меня заинтересовали данные Airbnb из города Бразилии, страны, в которой я сейчас проживаю. Единственные доступные данные по Бразилии были из Рио-де-Жанейро.

Набор данных, используемый для этого проекта, доступен по адресу: http://insideairbnb.com/get-the-data.html

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

Используемый набор данных содержит около 25 800 записей перечисленных квартир, домов и комнат в городе Рио-де-Жанейро.

Чтобы попытаться лучше разобраться в имеющихся данных, было предложено три основных вопроса:

Вопрос 1. Какие районы имеют лучший средний рейтинг и как на него влияет средняя цена?

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

Кроме того, был использован метод, известный как «z-оценка» (z ‹3), чтобы удалить выбросы, присутствующие в наборе данных, связанные с ценой.

На изображениях ниже показаны районы, сгруппированные по средней оценке и средней цене.

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

Также можно отметить, что 3 района с наивысшим средним рейтингом (Engenho Novo, Alto da Boa Vista и Cosme Velho) не входят в группу самых дорогих кварталов (кроме Alto da Boa Vista).

Энженьо Ново находится на 47-м месте (из 50 рассматриваемых районов), а Альто-да-Боа-Виста и Косме-Велью находятся на 2-м и 18-м месте соответственно.

Что касается трех самых дорогих районов (Жоа, Альто-да-Боа-Виста и Сан-Конрадо), они находятся на 6-м, 2-м и 43-м месте соответственно в среднем рейтинге.

По сути, прямой зависимости между ценой аренды и рейтингом пользователей нет. Есть даже районы с высокой средней ценой на последних позициях в рейтинге (например, São Conrado).

Вопрос 2: обычно арендная плата увеличивается по мере увеличения количества людей, которые могут разместиться в доме / квартире?

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

На изображении ниже показана средняя цена, связанная с количеством человек, которое может вместить дом / квартира / комната.

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

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

Вопрос 3. Можно ли спрогнозировать арендную плату дома / квартиры на основе его основных характеристик?

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

Для атрибута «ванная_текст» потребовалась некоторая обработка, чтобы получить числовые значения из этого поля.

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

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

4 переменные (кровати, спальни, ванные комнаты и жилые помещения) были использованы для попытки предсказать стоимость аренды с использованием модели линейной регрессии.

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

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

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

Результаты только с числовыми атрибутами были не очень хорошими. Таким образом, были добавлены категориальные особенности для улучшения характеристик модели. Кроме того, был использован другой алгоритм (RandomForestRegressor), чтобы попытаться повысить точность модели.

Категориальными характеристиками были «room_type» и «property_type». Чтобы добавить эти категориальные особенности к модели, были созданы фиктивные переменные, которые принимают только значение 0 или 1, чтобы указать на отсутствие или наличие некоторого категориального эффекта, который, как можно ожидать, изменит результат.

После обучения модели RandomForestRegressor были получены следующие результаты из набора для обучения и тестирования:

После внесения изменений результаты значительно улучшились. Для данных обучения значение rsquared было больше 0,7, что указывает на сильную положительную взаимосвязь.

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

Вывод

В этой статье мы взглянули на данные Airbnb из Рио-де-Жанейро, чтобы лучше понять разницу в цене между разными вариантами жилья.

  1. Из имеющихся данных можно было отметить, что средняя цена е для каждого района не имеет прямого отношения к средней оценке. Кроме того, существует значительная разница в цене между каждым районом, в основном в Йоа.
  2. Также можно было отметить, что средняя цена на каждое жилье обычно увеличивается по мере увеличения количества людей, которых оно может разместить.
  3. Наконец, была использована модель машинного обучения, чтобы попытаться предсказать цену дома / квартиры. Модель показала хорошие результаты для обучающей выборки, но не для тестовой.