Оценка стоимости недвижимости (Нейросеть)

Особенностью процесса оценки стоимости недвижимости является его рыночный характер. Данный процесс не ограничивается учетом одних только затрат на создание или приобретение оцениваемого объекта собственности — необходим учет совокупности рыночных факторов, экономических особенностей оцениваемого объекта, а также макро- и микроэкономического окружения. Кроме того, рынок недвижимости очень динамичный, поэтому требуется периодическая переоценка объектов собственности.

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

Запустить демо

Установить локально

Описание алгоритма

1. Импорт данных

Исходные данные

Таблица Объекты недвижимости (исторические данные):

Имя Метка
 iD ID объекта
 district Район
 type_plan Тип планировки
 rooms Количество комнат
 first_last Первый/Последний этаж
 total Общая площадь (м2)
 live Жилая площадь (м2)
 kitchen Площадь кухни (м2)
 agency Наличие агентства
 condition Состояние
 price Стоимость (т.руб.)

Таблица Объекты недвижимости (новые данные) имеет ту же структуру данных, за исключением поля Стоимость (т.руб.). Данное поле заполнено нулевыми значениями, так как его необходимо спрогнозировать при помощи узла Нейросеть (регрессия) прогнозирование.

На подмодели Импорт данных настроен визуализатор Качество данных, который показывает наличие выбросов в таблице Объекты недвижимости (исторические данные).

2. Очистка данных

Редактирование выбросов

В узле Редактирование выбросов набор проверяется на наличие выбросов и экстремальных значений. Для выбросов задан метод обработки Оставить без изменения, а для экстремальных значений — Удалять записи.

Настройки узла Редактирование выбросов произведены следующим образом:

  • поля Общая площадь (м2), Жилая площадь (м2), Площадь кухни (м2), Стоимость (т.руб) — включены в выборку.

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

3. Обучение нейросетевой модели

а) Настройки узла Нейросеть (регрессия) обучение

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

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

Настройки нормализации в узле Нейросеть (регрессия) обучение произведены следующим образом:

  • поля Район, Тип планировки, Количество комнат, Первый/последний этаж, Наличие агентства и СостояниеИндикатор.
  • для остальных полей Нормализатор отсутствует.

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

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

  • для Обучающее размер в процентах выбран 90%.
  • для Тестовое размер в процентах выбран 10%.
  • Метод разбиенияСлучайный.
  • Метод валидацииK-fold кросс валидация.
  • Метод сэмплингаСлучайный.
  • Колод кросс-валидации — 10.

При изменении каких-либо настроек Нейросеть необходимо переобучить.

В остальных шагах настройки все параметры использованы по умолчанию.

б) Расчёт ошибки аппроксимации

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

RelErr(price, price_predicted) * 100

в) Расчёт средней ошибки аппроксимации

С помощью компонента Группировка рассчитана средняя ошибка аппроксимации всех объектов.

Настройка узла Средняя ошибка аппроксимации произведена следующим образом:

  • поле Ошибка аппроксимации (Среднее) перемещено в Показатели.

Средняя ошибка аппроксимации получилась в районе 8%. Это считается хорошим результатом (ошибка до 10-12% приемлема). Полученный результат позволяет перейти к следующему шагу — прогнозированию. Для этого на основе узла Нейросеть(регрессия) обучение создан производный компонент с проставленными флагами Выполнять узел и все его подузлы, а также Всегда выполнять.

4. Прогнозирование стоимости недвижимости

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

Результатом работы узла является прогноз для поля Стоимость (т.руб.).


Классификация данных при помощи нейронных сетей

Скачайте и откройте файл в программе Loginom, которую при необходимости можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2, POPCNT.