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

Но как мы можем узнать, что это слишком дорого?

Это самое загруженное время года для посещения этого города? Это место находится в дорогом месте? Дома или здания с бассейнами дороже?

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

Мотивация

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

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

Введение

Для этого анализа я выбрал Данные Airbnb по Сиэтлу, доступные на Kaggle, которые описывают активность списков домов с проживанием в семье в Сиэтле, штат Вашингтон (США). И я сформулировал несколько вопросов, которые помогут мне решить, когда приезжать, какие переменные больше всего влияют на стоимость проживания и какие места менее дорогие.

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

В своем анализе я следовал шагам CRISP-DM (межотраслевой процесс интеллектуального анализа данных), распространенному процессу, используемому в науке о данных для поиска решений, а записная книжка Python и другие файлы доступны в общедоступном репозитории на моем сайте. Гитхаб».

Какое самое загруженное время года?

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

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

Будет ли в самые загруженные месяцы меньше предложений? или в эти месяцы будет меньше предложений?

В этом наборе данных Airbnb в Сиэтле есть доступность и стоимость каждого объявления в 2016 году.

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

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

В период с июля (65,6%), августа (67,1%) и сентября (69,4%) был самый низкий процент вакансий в 2016 году.

Не слишком ли резко растут цены в эти месяцы года?

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

Сгруппировав ценовую информацию по месяцам, мы имеем следующий график:

Хотя самые загруженные месяцы в Сиэтле приходятся на период с июля по сентябрь, самая высокая средняя цена приходится на период с июня по август.

Самая высокая средняя цена приходится на июль (152,09 доллара США), и это на 29,18 доллара дороже, чем в самый дешевый месяц (январь, 122,91 доллара США).

Какие места дешевле?

В летнее время есть ли места, где средний показатель не слишком сильно повышается?

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

Центр города является самым дорогим районом в летнее время, однако район Магнолия также кажется дорогим районом, и в это время года он дешевле, чем район Центра города.

Что влияет на цену проживания в семье?

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

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

Из первого столбца этой диаграммы мы видим, что более высокие цены связаны с большим количеством людей, которые могут быть размещены в семье, как мы можем видеть по положительным и высоким значениям корреляции между ценой и переменными «количество людей». размещены» (0,68), спальни (0,63), кровати (0,61) и ванные комнаты (0,53).

Интересно, что количество отзывов (-0,18) имеет обратную корреляцию с ценой. Одна из гипотез может заключаться в том, что более доступные дома с проживанием в семье сдаются чаще, что увеличивает вероятность того, что клиент оставит отзыв.

Дома или здания с бассейнами дороже?

Бассейны указаны как тип удобств проживания в семье. Эта переменная может принимать только два значения: 1, если у пребывания есть удобства, 0, если нет, поскольку это так называемая категориальная переменная.

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

Существует заметная тенденция, которая показывает, что дома с бассейном стоят дороже, в среднем 223,45 доллара, а дома без бассейна — 133,98 доллара.

Прогнозирующая модель

Было бы неплохо, если бы мы могли сравнить предполагаемую цену с указанным предложением перед бронированием?

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

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

Например, на всю квартиру на 4 человека, 2 кровати в отдельных комнатах, в июле со следующими характеристиками:

{
   "month":7,
   "year":2016,
   "accommodates":4,
   "bathrooms":1.0,
   "bedrooms":2.0,
   "beds":2.0,
   "bed_type_real_bed":1,
   "cancellation_policy_flexible":1,
   "property_type_apartment":1,
   "room_type_entire_home_apt":1,
   "amenities_wireless_internet":1,
   "amenities_air_conditioning":1,
   "amenities_kitchen":1,
   "amenities_free_parking_on_premises":1,
   "amenities_laptop_friendly_workspace":0,
   "amenities_gym":1,
   "amenities_pool":1
}

По оценкам модели, цена составит $198,55. Эта цена выше, чем в среднем за июль, но, учитывая, что здесь есть бассейн, а жилье с бассейнами дороже, эта цена кажется хорошей оценкой.

Насколько точна эта модель?

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

Я получил оценку R2 0,864 для набора тестовых данных (278 294 значения) и 0,869 для набора обучающих данных (649 350 значений).

Значение R2 для обучения относительно близко к результатам теста, что означает, что наша модель не переобучает набор обучающих данных.

Выводы

Проведя небольшой анализ и визуализацию данных, мы смогли сделать несколько выводов о летнем сезоне в Сиэтле:

Теперь мы знаем, что это самый популярный сезон для посещения Сиэтла. Кроме того, это самое дорогое время года со средней ценой 150 долларов за ночь в семье.

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

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

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

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

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

Какие вопросы важны для вас, чтобы выбрать правильное место для проживания?

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

А пока, увидимся в следующем посте! 😄

Вы также можете связаться со мной в LinkedIn, Medium и GitHub.