Анализ и прогноз рынка жилья Metro Vancouver

Автор: Кришна Чайтанья Гопалуни

Содержание

  • Мотивация и предыстория
  • Постановка задачи
  • Сбор данных
  • Пузырьковый анализ
  • Модель регрессии для прогнозирования цены продажи дома
  • Прогнозирование будущих тенденций
  • Оценка
  • Продукт данных
  • Извлеченный урок
  • Сводка

Мотивация и предыстория

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

Постановка задачи

Выявить пузырь на рынке жилья сложно. Это еще сложнее для таких мест, как Ванкувер и Британская Колумбия, поскольку оба этих места исторически демонстрировали сильную устойчивость к пузырю на рынке жилья[1]. Насколько нам известно, в настоящее время ни одно решение в области недвижимости не пыталось успешно решить эту проблему. Другая неотъемлемая часть нашего проекта заключалась в том, чтобы дать точную оценку текущей и будущей тенденции цен на недвижимость. Предсказание будущей тенденции является очень сложной проблемой, поскольку модели временных рядов редко бывают достаточно хороши в реальных сценариях. Характер и доступность различных источников данных усугубляли проблему, поскольку было неясно, как собрать, объединить все эти разные данные из ряда различных источников.

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

  1. Выявление зон, подверженных образованию пузырей, в метро Ванкувера.
  2. Прогнозирование цен на жилье на основе текущих тенденций.
  3. Прогнозирование будущих тенденций HPI Benchmark Prices.
  4. Прогнозирование диапазона цен на недвижимость на основе имиджа недвижимости.

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

На приведенном выше рисунке показан наш конвейер обработки данных. Ниже приведено пошаговое описание каждого из компонентов нашего пайплайна.

Сбор данных

Мы начали исследовать постановку проблемы и решение, которое хотели дать, и обнаружили, что мы не можем использовать какие-либо подготовленные данные для решения бизнес-задачи. Сначала мы начали искать веб-сайты со списками недвижимости и включили в шорт-лист Realtor.ca и Rew.ca для получения данных о свойствах, перечисленных для продажи. Основываясь на популярности и огромной базе данных всех активных списков недвижимости в Метро Ванкувер, мы выбрали Realtor.ca в качестве основного источника данных для всех объектов недвижимости, перечисленных в Метро Ванкувер. Мы также решили собрать данные из Data Vancouver, в котором хранятся все исторические отчеты о налоге на недвижимость для Ванкувера и Большого Ванкувера.

Нам понадобился эталонный индекс для решения проблемы анализа пузырей, поэтому мы выбрали эталонную цену HPI Property (HPI-PBP). HPI-PBP рассчитывается с использованием многофакторного регрессионного анализа, широко используемого статистического метода для всех свойств, перечисленных в районе. HPI-PBP в Британской Колумбии управляется двумя агентствами, а именно CREA — Канадским агентством недвижимости (crea.ca) и REBGV — Советом по недвижимости Большого Ванкувера (rebgv.org). Оба из них используют разные наборы критериев для расчета HPI-PBP в метро Ванкувера, и мы использовали оба источника данных за 2006–2019 годы.

Используя отчет о налоге на имущество из Data Vancouver, мы получили название улицы недвижимости из оценки Британской Колумбии с помощью открытого REST API, позже мы использовали название улицы для объединения с набором данных свойств риелтора 2019 года. Мы также получили сведения о процентной ставке по ипотечным кредитам от Банка Канады за последние 15 лет (2006–2019 гг.).

Список недвижимости риэлтора

Мы собрали объекты недвижимости, выставленные на продажу на сайте realtor.ca, с помощью некоторых открытых API REST API. Было сложно получить набор данных для Metro Vancouver, поскольку веб-сайт использует координаты земли для получения активных списков недвижимости для продажи. Используя набор различных наземных координат, мы постарались охватить как можно большую площадь, чтобы не потерять списки в процессе получения данных, позже мы удалили дублирующиеся данные на основе номера MLS.

Перед удалением дубликатов мы извлекаем примерно 86К записей, позже после удаления дубликатов это число уменьшилось примерно до 17К. Мы не остановились на этом и обнаружили два новых набора данных для каждого свойства, которые могут улучшить наши прогнозы и результаты, поэтому мы начали анализировать данные со страницы сведений о каждом листинге с помощью анализа HTML (Beautiful Soup), а также нашли открытый REST API. для получения информации о близлежащих окрестностях (оценка близости из 5 для предметов первой необходимости, таких как школы, продуктовый магазин и т. д.) свойства. Мы также получили изображения со списком свойств, чтобы позже использовать их для решения частей нашей постановки задачи. Весь процесс поиска ресурсов для риелтора и получения данных занял более 4 недель. В конце концов, у нас было 17 000 000 000 000 000 000 000 изображений для описания недвижимости.

Отчет о налоге на имущество Ванкувера (2006–2019 гг.)

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

Базовая цена недвижимости (2006–2019 гг.)

Как обсуждалось во введении к этому разделу, мы использовали две контрольные цены недвижимости от REBGV и CREA.

  • REBGV: Мы использовали матрицу HPI-PBP, доступную с REBGV, чтобы получить HPI-PBP для различных типов свойств во всех районах Британской Колумбии с использованием анализа PDF и HTML.
  • CREA: Мы использовали существующий документ, содержащий информацию HPI-PBP для всех районов Британской Колумбии, без какой-либо специальной техники.

Ставки по ипотеке от BOC (2006–2019 гг.)

Банк Канады предоставляет документ, который содержит ежедневные проценты по ипотеке для различных типов планов (фиксированный на 1 год, облигация на 1 год, облигация на 7 лет и т. д.), в которых указывается период времени, в течение которого ипотека должна быть погашена. Среди всех вариантов, которые у нас были, мы выбрали 5y-fixed-posted для наших расчетов, так как это наиболее распространенный план, который люди выбирают для погашения своих ипотечных кредитов.

Очистка данных, извлечение данных и интеграция данных

Отчет о налоге на имущество Ванкувера (2006–2019 гг.)

Отчет о налоге на имущество в Ванкувере состоит из всей собственности в Ванкувере с налоговой информацией за предыдущий год и многих других важных полей собственности. Мы объединили все налоговые отчеты и объединили их с набором данных за 2019 год и получили около 209 тысяч записей. Нам также требовались адресные данные этих 209 тысяч записей (поскольку они недоступны из-за проблем с конфиденциальностью). Чтобы получить адрес, мы использовали открытый REST API BC Assessment, который предоставляет адресные данные на основе PID, доступного в налоговом отчете. Мы использовали несколько методов для обработки нулевых значений, таких как заполнение их средним значением и интерполяция, мы также имели дело с несогласованным форматом данных, который был важен, но не в требуемом формате, подходящем для обработки моделей машинного обучения, поэтому мы нормализовали их, используя другой метод. Мы также рассчитали некоторые производные поля, такие как House_Price, который представляет цену дома на основе CURRENT_LAND_VALUE и CURRENT_IMPROVEMENT_VALUE. После интеграции и очистки мы выбрали 20 признаков на основе корреляционного анализа (блочные диаграммы и тепловые карты), в основном следуя методам статистического отбора признаков.

Данные о свойствах риэлтора

Данные, которые мы получили, к счастью, в формате JSON, потому что мы потратили время и определили, как риелтор извлекает данные на своем веб-сайте, и мы повторили тот же запрос, чтобы получить список свойств. Данные со страницы сведений о каждом свойстве были в формате HTML, поэтому мы решили использовать библиотеку Python Beautiful Soup, чтобы получить наиболее важные сведения со страницы сведений. Для получения оценок близости предметов первой необходимости мы обнаружили и использовали открытый REST API от риелтора, который возвращал нам данные в формате JSON. Мы использовали данные со страницы сведений и API оценки близости и объединили их в исходный список свойств от риелтора. Мы получили все изображения свойств, что заняло большую часть времени, потому что нам нужно было загрузить более 100 000 изображений для более чем 17 000 свойств.

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

Поскольку не было общего столбца для объединения двух наборов данных, мы решили использовать технику разрешения сущностей (сходство Жаккара) в адресном поле. Мы использовали адрес собственности из набора данных риэлтора и адрес из отчета о налоге на недвижимость Ванкувера, и на основе оценки Жаккара мы отфильтровали набор данных риэлтора и объединили налоговый отчет Ванкувера, и в итоге получили 82 столбца, среди которых мы удалили несколько столбцов и выбрали 28 числовых и 12 категориальных признаков.

Данные HPI по эталонным ценам на недвижимость (2006–2019 гг.)

Мы широко использовали HPI-PBP для расчета и анализа пузырьков. Мы использовали две функции из CREA, а именно дату и комбинированную контрольную цену на дату, а затем сгруппировали данные по годам, чтобы получить контрольную цену СМИ для каждого года с 2006 по 2019 год. Используя данные REBGV, мы использовали площадь, эталонную цену и цену на недвижимость, затем сгруппировали все данные по годам и получили медианную композитную эталонную цену для всех 4 типов недвижимости в районе Восток/Запад Ванкувера, что значительно улучшило анализ пузырьков недвижимости.

Пузырьковый анализ

Судя по прошлой статистике, Ванкувер всегда был под пузырем. Это побудило нас разработать стратегию выявления областей, склонных к образованию пузырей. Это было достигнуто с помощью набора данных оценки BC и данных индекса HPI (от REBGV), которые объясняются ниже.

BC Assessment (набор данных), которая разрабатывает и поддерживает оценку недвижимости по всей Британской Колумбии. Были учтены такие характеристики, как «CURRENT_LAND_VALUE» и «CURRENT_IMPROVEMENT_VALUE», и была рассчитана ЦЕНА ЖИЛЬЯ («CURRENT_LAND_VALUE» + «CURRENT_IMPROVEMENT_VALUE» = «HOUSE_PRICE»). И, используя набор данных, мы получили медиану цен на жилье по каждому району за годы (15 лет).

С другой стороны, мы взяли набор данных индекса HPI. Есть две организации, которые ежемесячно рассчитывают индекс HPI: одна — REBGV, а другая — CREA. После тщательного изучения и понимания, основанного на разнообразии факторов, учитываемых при расчете REBGV, мы обнаружили, что это гораздо более привлекательно, чем методология CREA (более общая).

При этом индекс HPI, полученный из REBGV, получил больший вес. Исходя из этого, мы рассматриваем «Композитную» базовую цену, которая учитывает все типы домов при расчете базовой цены. Как уже говорилось, набор данных HPI состоит из комбинированных эталонных цен по каждому району метро Ванкувера за последние 15 лет (с 2006 по 2018 год).

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

Теперь, переходя к фактической части обнаружения пузыря, с помощью приведенного выше набора цен на жилье и набора цен композитного эталона мы рассчитали процентное изменение по площади для всех записей (годовых), т.е. процентное изменение (ПК) = ((ЦЕНА ДОМА — Composite Benchmark) / Composite Benchmark) * 100. Выполнив вышеизложенное, мы рассмотрели два условия (критерия фильтрации), чтобы определить нашу область, подверженную пузырям.

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

Фильтр 2(Частота): из приведенных выше результатов все области, которые появляются 7 или более раз в течение 15 лет, отмечены как "крайне уязвимые". .

РИС.[1] Показаны тенденции процентного изменения HPI в регионе за последние годы (высоко уязвимые районы), где [1A] – восток, а [1B] – запад .

РИС.[2] Показывает сравнение между HPI Benchmark и медианной ценой на дом (2006–2019), где [2A] для Восточного Ванкувера и [2B] для Западного Ванкувера.

Наконец, была проведена сортировка с учетом процентного изменения и частоты областей (отображаемых как крайне уязвимые), и были рассмотрены лучшие записи. Все первые 5 областей были определены как «ОБЛАСТИ, ПОДВЕРЖЕННЫЕ ПУЗЫРЯМ».

Вышеупомянутый расчет был выполнен для всех #Областей в метро Ванкувера (как на западе, так и на востоке).

РИС[3] Показаны колебания цен на жилье по годам для регионов, подверженных пузырям (пять основных регионов), где [3A] — Восточный Ванкувер, а [3B] — Западный Ванкувер.

Модель регрессии для прогнозирования цены продажи дома

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

Используя PID из отчета о налоге на недвижимость за 2019 год, мы исключили адрес из оценки Британской Колумбии и реализовали упрощенное разрешение юридических лиц, используя сходство Jaccard на основе названия улицы, чтобы объединить данные риэлтора с данными налога на имущество.

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

Мы построили регрессионную модель с использованием 28 функций (числовых, категориальных) с помощью регрессора GBT для прогнозирования цены продажи на основе этих данных и достигли хорошего значения r², составляющего прибл. -0,70. Поиск по сетке с 5-кратной перекрестной проверкой был применен для поиска наилучших параметров для ГБТ и случайного леса. На графиках вверху показан корреляционный анализ Пирсона числовых переменных, а внизу представлены категориальные переменные (код города, юридический Тип недвижимости и тип недвижимости) на графике по цене.

Использование изображений с Realtor.ca для прогнозирования ценовых диапазонов

Мы удалили изображения риелторов и сохранили изображения каждой недвижимости под номером MLS. Позже мы попытались стандартизировать набор данных, поместив изображения в 100 классов, созданных на основе ценовых диапазонов. Создали папки для обучения, проверки и тестирования. Мы обучили последовательную модель (2D-сверточный слой, 5 скрытых слоев, активация softmax и relu) на keras для определения ценового диапазона на основе изображения свойства. Наша цель состояла в том, чтобы сделать лучшую оценку, основанную как на прогнозе, который мы получаем из нашей регрессионной модели, так и на прогнозе диапазона цен на жилье, который мы получаем из нашего классификатора изображений. Хотя у нас есть работающая модель, мы обнаружили, что эту проблему очень сложно решить и она требует много времени и внимания. В будущем мы надеемся значительно улучшить наш классификатор для лучшего прогнозирования.

Прогнозирование будущих тенденций

Мы прогнозируем будущую базовую цену, используя набор данных REBGB. Набор данных содержит контрольные цены с 01 января 2006 г. по 03 января 2019 г. в зависимости от района и недвижимости. Для каждого типа собственности в восточной и западной зонах Ванкувера (квартира, ратуша и т. д.) мы провели анализ временных рядов, чтобы предсказать будущую тенденцию. Мы преобразовали проблему временных рядов в контролируемое обучение путем сдвига строки. Это позволяет нам использовать наблюдение t-1 (в метках времени t-1) для прогнозирования значения в t (матрица, x и y). Мы измеряем стационарные свойства нашего набора данных, используя statsmodel adfuller, который использует тест Дикки Фуллера. Мы выполняем логарифмическое преобразование, а затем берем смещенную разницу, чтобы убедиться, что набор данных свободен от тренда и сезонности и соответствует нашему порогу в тесте Дикки Фуллера.

В качестве нашей модели временных рядов мы использовали многомерные LSTM и SARIMAX. Поскольку LSTM требует масштабирования (1,-1), мы использовали minmaxscaler из scikit Learn, чтобы преобразовать наш набор данных, а затем преобразовать его обратно во время будущего прогноза. Мы разделили наш набор данных на обучение (.7) и тестирование (.3). Поскольку нам важно, насколько наш прогноз отклоняется от оптимального результата, мы использовали RMSE в качестве метрики оценки.

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

Оценка

Прогнозирование пузыря на рынке жилья на основе HPI имеет смысл в нашем контексте, поскольку сам HPI построен на строгой модели многомерной регрессии[2]. HPI измеряет изменения цен на жилье с течением времени, принимая во внимание факторы. Каждый из этих факторов влияет на стоимость дома, HPI не только принимает во внимание фундаментальные факторы, такие как местоположение, год постройки и т. д., но также учитывает социально-демографические характеристики, уровень дохода потребителя, характеристики района (факторы близости) и т. д. при окончательном расчете стоимости дома. цена дома. Принимая во внимание, что HPI действительно дает нам точную оценку изменения цен на жилье с течением времени, мы уверены, что наш расчет пузыря на рынке жилья правильно отражает области, подверженные пузырю. Описание того, как рассчитывается пузырь на рынке жилья, приведено в разделе «Расчет/анализ пузыря на рынке жилья».

Перед прогнозированием жилья с использованием нашей регрессионной модели мы использовали логарифмическое преобразование, чтобы убедиться, что наше распределение похоже на нормальное распределение (также устраняя асимметрию) . ПосколькуRMSE в нашей регрессионной модели показывает, насколько наш прогноз отличается от фактического, нашего RMSE. Достигнутые нами низкие значения RMSE и r**2 дают нам разумную оценку. Для дальнейшего обоснования нашей модели мы рассчитали NRMSE, RMSE/y_max()-y_min(). Нормализация RMSE облегчает сравнение наборов данных или моделей с разными масштабами. NRMSE часто выражается в процентах, где более низкие значения указывают на меньшую остаточную дисперсию. Наше значение NRMSE оценивается как (0,039). Что подтверждает разумную оценку, поскольку низкая дисперсия в NRMSE указывает на небольшую дисперсию ошибки прогнозирования.

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

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

Продукт данных

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

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

Уроки выучены

Предсказать будущую тенденцию на основе текущей стоимости очень сложно. Если данные не имеют скрытой структуры, модели временных рядов очень сложно изучить нелинейность данных. В этом проекте мы попытались создать проект по науке о данных с нуля. Выяснение того, что, где и как получить данные для нашего проекта, заняло 80% нашего времени, что, похоже, подтверждает мнение о том, что в реальном мире специалисты по данным тратят большую часть своего времени на сбор и очистку данных. Создание классификатора для извлечения функций из изображений для классификации диапазона цен на жилье — сложная задача, требующая больше времени и внимания. Мы надеемся вернуться к этой проблеме в будущем. Для пузырькового анализа у нас не было ссылки для изучения, мы надеемся, что наш вклад по этой конкретной проблеме будет полезен другим. в будущем мы надеемся объединить будущий эталонный прогноз с нашим пузырьковым анализом для расчета будущих областей, подверженных пузырькам.

Резюме

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

использованная литература

[1]Нобелевский лауреат видит Б.К. и Ванкувер как «устойчивый к пузырям на рынке жилья»

[2]https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/

[3]https://www.vancouverisawesome.com/2018/10/01/vancouver-real-estate-bubble-inflated-world/

📝 Читайте эту историю позже в Журнале.

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