Статья опубликована в рамках: CXXXVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 13 мая 2024 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
ПРОГНОЗИРОВАНИЕ ЦЕН НЕДВИЖИМОСТИ МЕТОДАМИ МАШИННОГО ОБУЧЕНИЯ
PREDICTION OF THE REAL ESTATE PRICES USING MACHINE LEARNING METHODS
Olesya Ulyanova
student, Department of Mathematical and Computer Modeling, Saratov National Research State University named after N.G. Chernyshevsky,
Russia, Saratov
Olga Kuznetsova
scientific supervisor, Ph.D., Associate Professor, Saratov National Research State University named after N.G. Chernyshevsky,
Russia, Saratov
АННОТАЦИЯ
В статье рассмотрены несколько моделей предсказания цен на недвижимость на российском рынке. Модели были подвергнуты анализу с точки зрения таких характеристик, как коэффициент детерминации и среднеквадратическая логарифмическая ошибка; была выбрана лучшая модель.
ABSTRACT
The article regards several models of predicting real estate prices on the Russian market. The models were also analyzed in terms of characteristics such as the coefficient of determination and the standard logarithmic error. The best model was chosen.
Ключевые слова: линейная регрессия, случайные леса, временные ряды, недвижимость, машинное обучение, анализ.
Keywords: linear regression, random forests, time series, real estate, machine learning, analysis.
Есть несколько ключевых разновидностей моделей машинного обучения, используемых для прогнозирования. Линейная регрессия предполагает прямую связь между зависимой и одной или несколькими независимыми переменными. Эта модель позволяет построить линию или поверхность, которая наиболее точно соответствует имеющимся данным. Ещё один тип модели машинного обучения для прогнозирования — деревья решений. Они строятся в виде иерархической структуры, где каждый узел представляет собой вопрос о значении определённой переменной. Такой подход особенно эффективен при работе с категориальными или бинарными переменными [1].
Методы машинного обучения играют важную роль в прогнозировании различных явлений и событий. В этой статье мы рассмотрим несколько таких методов, которые широко используются в прогнозировании.
1. Дерево решений.
Дерево решений — это структура данных, представляющая собой дерево, где каждый узел содержит условие на значение некоторого признака, а ветви, исходящие из узла, соответствуют различным вариантам ответа на это условие. Конечные узлы дерева, не имеющие потомков, содержат класс, к которому относится объект, удовлетворяющий всем условиям на пути от корня до этого узла. Деревья решений являются универсальными моделями обучения, способными аппроксимировать любую функцию достаточно хорошо [2].
2. Случайный лес.
Случайный лес – это алгоритм, который строит множество решающих деревьев и комбинирует их для получения более точных результатов. Эта модель обучает группу классификаторов на основе деревьев принятия решений, задействовав для каждого отличающийся случайный поднабор обучающего набора [3].
- Алгоритм Random Forest:
,
где количество деревьев; – счетчик для деревьев; – решающее дерево; – сгенерированная нами на основе данных выборка.
3. Градиентный бустинг.
Это метод машинного обучения, который использует ансамбль моделей создания очередной новой модели, которая бы максимально уменьшила ошибку предыдущей [4].
Рисунок 1. Градиентный бустинг
Пусть для задачи классификации - множество базовых классификаторов, а lin() - множество всех линейных комбинаций из F. На каждом шаге алгоритма к текущему классификатору ∈ lin() прибавляется базовый классификатор так, чтобы значение C( +ε ) уменьшилось на некоторое значение ε. То есть в терминах функционального пространства для функции f ищется направление, в котором функция C( +ε ) быстрее уменьшается. Наибольшее уменьшение функции потерь наблюдается в случае, когда f максимизирует величину − ⟨∇C(), ⟩ [5].
1. Инициализация = 0;
2. Для всех t = 0, .., T пока не выполнено условие выхода из цикла:
- Получение нового классификатора +1, увеличивающего значение − ⟨∇C(), +1⟩;
- Если − ⟨∇C(), +1⟩ ≤ 0 выходим из цикла и возвращаем ;
- Выбор веса +1;
- Уточнение классификатора +1 = + +1+1;
3. Возвращаем +1.
В случае бинарного классификатора = {−1; 1}. Пусть = {()} – обучающая выборка. Функция потерь определяется через дифференцируемую функцию выброса .
В этом случае − ⟨∇C(), ⟩ = и процесс выбора наилучшего классификатора на каждом этапе будет эквивалентен поиску классификатора , который минимизирует взвешенную ошибку [6].
Рассмотрим на практике применение методов машинного обучения в прогнозировании. Решаем задачу прогнозирования цены продажи каждого объекта недвижимости. Целевая переменная - price_doc в train.csv. Информационную базу исследования составил Dataset «Sberbank Russian Housing Market», опубликованный на портале Kaggle [7].
Предложенный набор данных включает в себя сведения о стоимости продаж каждого объекта недвижимости. Он состоит из 30000 записей об объектах. Каждая строка содержит данные о конкретных сделках, общие условия в российской экономике и финансовом секторе, а каждый столбец отражает различные характеристики этих объектов.
Ниже описаны некоторые столбцы датасета:
- price_doc: цена продажи;
- id: идентификатор транзакции;
- imestamp: дата транзакции;
- full_sq: общая площадь в квадратных метрах, включая лоджии, балконы и другие нежилые помещения;
- life_sq: жилая площадь в квадратных метрах, без учета лоджий, балконов и других нежилых помещений.
Модели строятся с использованием языка программирования Python. Для построения используются библиотеки numpy, pandas, matplotlib, seaborn, scikit-learn (sklearn), xgboost, statsmodels, и tensorflow. Краткое описание алгоритма построения моделей:
- Чтение данных из файлов "train.csv" и "test.csv" с помощью pandas.
- Обработка выбросов в переменной "price_doc", ограничение её значений верхним и нижним порогами.
- Преобразование категориальных переменные в числовые значения с использованием Label Encoding из scikit-learn.
- Удаление некоторых признаков, содержащие большое количество отсутствующих значений.
- Заполнение отсутствующих значений медианными значениями в оставшихся признаках.
- Визуализация распределения цен по месяцам с помощью boxplot с использованием библиотеки seaborn и matplotlib.
На основе данных были построены три модели: линейная регрессия, случайные леса, временные ряды. Для оценки эффективности моделей сравним два показателя:
1. Коэффициент детерминации ( – показатель, который используется для оценки производительности модели машинного обучения на основе регрессии. Суть его работы заключается в измерении количества отклонений в прогнозах, объясненных набором данных [8].
2. Среднеквадратичная логарифмическая ошибка ( – Root Mean Squared Logarithmic Error) – представляет собой RMSE (Root Mean Squared Error), вычисленную в логарифмическом масштабе:
применяется в случаях, когда требуется подчеркнуть большие ошибки и выбрать модель, которая дает меньше именно больших ошибок. Большие значения ошибок становятся заметнее за счет квадратичной зависимости. Известно, что логарифмирование приводит к сжатию исходного диапазона изменения значений переменной, поэтому применение целесообразно, если предсказанное и фактическое значения выходной переменной различаются на порядок и больше.
Результаты представлены в соответствии с рисунком 1 и рисунком 2.
Рисунок 2. Коэффициент детерминации
Рисунок 3. Среднеквадратичная логарифмическая ошибка
В соответствии с рисунком 4, видим распределение медианных цен - статистическое представление того, как распределяются медианные цены на недвижимость в течение определенного периода времени.
Рисунок 4. Распределение медианных цен от месяца года
Таким образом, можно сделать вывод, что у модели «случайный лес» коэффициент детерминации максимальный, среднеквадратичная логарифмическая ошибка наименьшая, поэтому ее можно считать наилучшей для прогнозирования целевого признака в рамках данной работы.
Список литературы:
- Прогнозирование методом машинного обучения [Электронный ресурс]. URL: https://elar.urfu.ru/bitstream/10995/128538/1/978-591256-614-1_2023_047 (дата обращения: 03.03.2023).
- Машинное обучение (курс лекций, К.В.Воронцов) [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/index.php?title= (дата обращения: 12.03.2023).
- Машинное обучение: суть, принципы, задачи [Электронный ресурс]: URL: https://gb.ru/blog/mashinoe-obuchenie/ (дата обращения: 2.03.2023).
- Применение библиотеки Manim для визуализации учебного материала естественно-научных дисциплин [Электронный ресурс]. URL: https://www.elibrary.ru/item.asp?id=58734377/ (дата обращения: 12.03.2023).
- Прогнозирование методом машинного обучения [Электронный ресурс]. URL:https://elar.urfu.ru/bitstream/10995/128538/1/9785912566141_2023_047.pdf (дата обращения: 20.03.2023).
- Основы машинного обучения (machine learning) [Электронный ресурс]: URL:https://skillbox.ru/media/code/kak-ustroeno-mashinnoe-obuchenie-zadachi-machine-learning/ (дата обращения: 20.03.2023).
- Sberbank Russian Housing Market:[Электронный ресурс]:[сайт]. URL: https://www.kaggle.com/competitions/sberbank-russian-housing-market/overview/description (дата обращения: 03.04.2023). - Загл. с экрана. - Яз.рус.
- Диагностика систем машинного обучения [Электронный ресурс]: [сайт].URL: https://koroteev.site/pres/ml4/ (дата обращения: 03.04.2023).-Загл. с экрана. - Яз.рус.
Комментарии (1)
Оставить комментарий