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

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

Рубрика Экономико-математическое моделирование
Вид статья
Язык русский
Дата добавления 03.06.2022
Размер файла 695,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

Е.В. Испольнов, Ю.Ю. Горюнов

Аннотация

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

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

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

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

Чаще всего услуги анализа рынка недвижимости и оценки стоимости квартиры за плату предоставляют риелторские компании. Но в интернете есть и бесплатные сервисы оценки квартир, такие как «Циан.ру», осуществляющие оценку с помощью нейронных сетей. Мину-сом данных сервисов (по сравнению с приложением собственной разработки для анализа квартир в Пензе) является то, что они используют единый общий алгоритм для всех городов и регионов, не учитывая расположение объектов недвижимости относительно местной ин-фраструктуры, а также попадание в выборку ложных и ошибочных объявлений, негативно влияющих на оценку стоимости квартир (например, сайт не учитывает, когда село Ленино путают с площадью Ленина). Исправить эти ошибки позволяет предварительный анализ со-бранных данных о продаваемых квартирах, проведенный в данной работе.

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

Глубокие сети прямого распространения, которые также называют многослойными персептронами, - самые распространенные примеры моделей глубокого обучения. Цель такой сети - аппроксимировать некоторую функцию /*. Глубокая сеть прямого распространения определяет отображение у = /(х, ш) и с помощью обучения находит параметры ш, дающие самую точную аппроксимацию [1, с. 150-151].

Нейроны, составляющие сеть, разбиты на группы, называемые слоями. В сетях прямого распространения сигнал проходит послойно в одном направлении - от входа к выходу. Нейроны одного слоя активируются одновременно, каждый нейрон может кметь связи с нейронами следующего слоя. Связь нейрона на самого себя (петли) и/или связи с предыдущими слоями (обратные связи) в этой схеме отсутствуют.

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

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

Задача обучения глубокой сети прямого распространения сводится к задаче безусловной оптимизации. Таким образом, необходимо найти точку минимума функции E(w), где w = [wi, W2,..., Wn]T - вектор весов сети. Для решения данной задачи необходимо найти такой вектор весов w, на котором функция ошибки сети E(w) примет наименьшее значение. Чаще всего для этого используются градиентные методы первого порядка [2, с. 6о-68], например метод градиентного спуска. В данной работе для решения задачи оптимизации используется алгоритм adaptive moments (Adam), в котором для разных параметров применяются различные скорости обучения.

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

Для сбора, структурирования и записи данных с сайта Авито были использованы библиотеки Requests и Beautiful Soup, написанные на языке Python. Выбор обосновывается тем, что данные библиотеки представляют собой высокоуровневые инструменты, по з- воляющие без дополнительных настроек совершить http -запрос и представить полученные данные в виде дерева синтаксического анализа, из которого можно удобно извлечь необходимые данные.

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

На рис. 1 представлен формат полученных данных, собранных первой программой в csv-файл.

Скриншот первых шести записей в исходном файле

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

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

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

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

Для повышения точности прогнозируемой цены был добавлен параметр «расстоя-ние от центра», содержащий Евклидово расстояние точки нахождения продаваемой квартиры от центра города, заданного широтой и долготой расположения центрального рынка города Пензы (53,20° северной широты и 45,03° восточной долготы).

Таким образом, был получен набор данных, содержащий 22 столбца признаков и 3473 строки примеров. Для обучения нейронной сети от данного набора отделяется целе-вая переменная («цена»), после чего полученные наборы делятся на обучающую и тесто-вую выборки в соотношении 8:2. После разделения обучающий набор X_train получил 2778 примеров для 21 столбца. Тестовый набор X_test получил 695 примеров для 21 столбца. Наборы y_train и y_test с единственным целевым столбцом «цена» получили по 2778 и 695 примеров соответственно.

Как было сказано ранее, архитектура сети основана на глубокой нейронной сети прямого распространения. Данная сеть реализуется полносвязной моделью прямого рас-пространения Sequential библиотеки keras. Keras представляет собой открытую нейросе- тевую библиотеку, написанную на языке Python. Выбор библиотеки обусловлен тем, что keras является простым и удобным инструментом по сравнению с другими, более низко-уровневыми библиотеками, такими как tensorflow [3, с. 291-293]. Для проектирования нейронной сети используется layers API библиотеки keras, позволяющий пользователю создавать произвольные слои. Для регуляризации применяется инструмент keras.regularizers, также находящийся в layers API. Для настройки метрик модели исполь-зуется метод compile. Было определено три скрытых слоя, для каждого из которых было введено 512 нейронов и выбрана функция активации ReLu. В качестве алгоритма опти-мизации был выбран Adam, в качестве метрик - среднеквадратичная и средняя абсолют-ная ошибки. Модель была обучена за фиксированное количество эпох, равное 100.

В результате тестирования обученной нейронной сети на тестовом наборе, состоя-щем из 695 примеров, была получена средняя абсолютная ошибка величиной 357 088. Это означает, что в среднем модель при оценке стоимости квартиры ошибается на 357 тыс. руб. При сопоставлении данной величины ошибки со средней стоимостью квар-тиры в 2380 тыс. руб. можно приблизительно оценить точность оценки в 85 %, что явля-ется хорошим результатом. оценка стоимость жилье нейронная сеть

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

Рис. 2. Среднеквадратичная ошибка во время обучения

Рис. 3. Средняя абсолютная ошибка во время обучения

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

Библиографический список

1. Бенджио, И. Глубокое обучение / Иошуа Бенджио, Ян Гудфеллоу, Аарон Курвилль. - Москва : ДМК-Пресс, 2018. - 652 с.

2. Осовский, С. Нейронные сети для обработки информации / С. Осовский. - 2-е изд., пере- раб. - Москва : Горячая линия-Телеком, 2017. - 448 с.

3. Жерон, О. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow: концепции, инструменты и техники для создания интеллектуальных систем / О. Жерон. - Москва : Альфа-книга, 2018. - 690 с.

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [365,2 K], добавлен 26.10.2014

  • Понятие недвижимого имущества. Процесс оценки стоимости недвижимости. Влияние пространственного и экологического фактора на стоимость объекта недвижимости. Интуитивные (экспертные) и адаптивные методы прогнозирования. Модель многослойного персептрона.

    дипломная работа [1,8 M], добавлен 21.03.2011

  • История возникновения и развития нейронной сети, ее значение и применение. Реализация приложения, позволяющего определить фигуры изображенные пользователем на панели приложения. Создание однослойной нейронной сети (персептрон) с возможностью её обучения.

    курсовая работа [860,1 K], добавлен 13.07.2012

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

    курсовая работа [923,5 K], добавлен 07.08.2013

  • Задача линейного программирования: определение количества продуктов для получения максимального дохода от реализации, расчет цены для минимальной общей стоимости затрат на производство с помощью графического и симплекс-метода. Решение транспортных задач.

    курсовая работа [519,5 K], добавлен 06.05.2011

  • Первичный и вторичный рынки жилья. Модель местоположения и координатная привязка объектов. Построение ценовой карты региона. Учет расстояний до центров влияния. Пространственно-параметрическое моделирование рынка вторичного жилья в г. Санкт-Петербурге.

    курсовая работа [330,0 K], добавлен 10.12.2012

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

    курсовая работа [39,6 K], добавлен 07.12.2010

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

    контрольная работа [348,7 K], добавлен 13.05.2015

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

    контрольная работа [91,0 K], добавлен 30.11.2010

  • Технология решения задачи с помощью Поиска решения Excel. Отбор наиболее эффективной с точки зрения прибыли производственной программы. Задачи на поиск максимума или минимума целевой функции при ограничениях, накладываемых на независимые переменные.

    лабораторная работа [70,0 K], добавлен 09.03.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.