новаторский анализ набора данных по рынку жилья Бостона.

Управляющее резюме

Набор данных Boston Housing Market является повсеместным, но несовершенным: с такими проблемами, как небольшой размер, непоследовательные определения и неправильные координаты. Тем не менее, это все еще очень богатый набор данных, содержащий информативную географическую информацию, мощные социально-экономические показатели и постоянные уровни оксидов азота (NOx). В этом проекте исследуется влияние развития районов с низким доходом на выбросы NOx. Проект занял приз за первое место в 24-часовом конкурсе AI Hack 2021. Ссылки ниже предназначены для тех, кто хочет углубиться в анализ.

Сайт проекта

Репозиторий проекта

Командный блог

Цели и задачи

Цель этого проекта - исследовать новые возможности в Boston Housing Dataset. Типичные проекты с набором данных ориентированы на регрессию или кластеризацию. Хотя и то, и другое интересно, нашей целью было ответить на исследовательский вопрос, который мог бы привести непосредственно к политическим рекомендациям.

Это достигается за счет трех целей:

  1. Убедитесь, что набор данных информативен, чтобы решить вопрос исследования. Важное предположение, которое делается в нашем вопросе, заключается в том, что данные достаточно информативны, чтобы разделить города по доходам. Критерии успеха: найдите кластеры, сопоставимые с внешней литературой.
  2. Найдите лучшую модель для прогнозирования уровней NOx. Проект предусматривает поиск регрессионной модели для прогнозирования уровней NOx, а также выбор лучших регрессоров для этого. Критерии успеха: найдите модели, которые дают высокую точность и нормально распределенные остатки.
  3. Смоделируйте "развитие" в городах с низким доходом: Что это означает, что город "развит"? Ограничены ли какие-то параметры, например, географией? Есть ли социально-экономические параметры, которые можно изменить с помощью рекомендаций политики? Критерии успеха: найдите разумный способ смоделировать "развитие" в городе с низким доходом.

Обработка данных и извлечение признаков

Нашим первым шагом было визуальное исследование данных с помощью библиотеки pandas_profiling. Это позволило нам быстро понять данные с точки зрения непрерывных, порядковых и категориальных переменных.

Мы пришли к выводу, что есть два типа функций:

  • Географически информативные данные: например, это DIS (расстояние от центров занятости) и RAD (дорожный индекс).
  • Социально-экономические показатели: например, это ВОЗРАСТ (средний возраст дома) и CMEDV (цены на жилье).

Мы заметили, что некоторые переменные, такие как CHAS, исключили их из любого анализа.

Мы нанесли каждое жилище на folium, где поняли, что широта и долгота ошибочны. Они были исправлены с помощью API геокодера Goolge (методика для этого описана здесь).

Основные аспекты методологии

Задача 1: убедиться, что наш набор данных достаточно информативен.

Чтобы убедиться, что наш набор данных содержит достаточно информации для ответа на вопрос исследования, нам нужно было найти способ сгруппировать города по доходу и сравнить наши результаты с литературными данными. Поскольку мы рассматривали 3 кластера: города с низким, средним и высоким доходом, мы выбрали простой алгоритм K-средних в качестве отправной точки для кластеризации городов. Результат был на самом деле достаточно представительным из литературы (см. Стр. 11 нашего отчета), поэтому мы не чувствовали необходимости искать более сложные методы кластеризации. Жилища показаны на Рисунке 1 ниже.

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

  1. CMEDV - числовой вектор скорректированных медианных значений частных домов в 1000 долларов США.
  2. ПРОМЫШЛЕННОСТЬ - числовой вектор доли акров, не относящихся к розничной торговле, на город (постоянный для всех районов Бостона).
  3. ВОЗРАСТ - числовой вектор пропорций жилых домов, построенных до 1940 года.
  4. LSTAT - числовой вектор процентных значений населения с более низким статусом

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

Задача 2: создание регрессионной модели для точного прогнозирования уровней NOx.

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

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

Лучшей моделью оказалась SVR. Это ожидается, поскольку машины опорных векторов могут: а) фиксировать нелинейное поведение, но также б) захватывать информацию из порядковых и категориальных переменных. Поскольку один из наших предикторов, RAD, на самом деле является порядковым индексом, нормальные модели регрессии, основанные на «расстоянии», не подходят, тогда как SVR может хорошо фиксировать эту информацию.

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

Сводка по трем лучшим моделям представлена ​​в Таблице 1 ниже.

На рисунке 4 ниже показаны прогнозируемые выходные данные SVR в сравнении с истинными данными относительно 4/5 регрессоров (порядковый предиктор RAD опущен).

Чтобы убедиться, что наша регрессионная модель работает правильно, мы решили нанести остатки на QQ-график, чтобы проверить наше предположение о нормальности. Это показано на Рисунке 5 ниже.

Мы также использовали метод частичной зависимости (дополнительную информацию об этом см. На странице 14 нашего отчета) для измерения влияния различных предикторов на уровни NOx, сохраняя при этом все остальное постоянным. Нас интересовало только измерение разницы при изменении социально-экономических показателей (поскольку они изменяются посредством политики, тогда как географические параметры являются фиксированными). В результате мы исследовали только эффекты ВОЗРАСТ и ПЛАН. Результаты показаны на Рисунке 6 ниже.

Задача 3: моделирование развития городов с низкими доходами.

Чтобы ответить на вопрос нашего исследования: «Как развитие городов с низким доходом в Бостоне повлияет на уровень NOx?» нам нужно было определить меру развития. Для этого мы используем тот факт, что выбранные нами функции могут быть разделены на географически и не географически ограниченные.

В нашем случае мы отмечаем, что ВОЗРАСТ и CRIM - единственные функции, которые не имеют географических ограничений. Это означает, что когда дело доходит до рекомендаций по политике, мы могли бы рекомендовать отремонтировать дома или продвигать политику, снижающую уровень преступности. С другими нашими предикторами, а именно DIS, INDUS и RAD, мы не могли бы дать рекомендации по политике, не вызвав радикальных изменений. Например:

  • Изменение DIS или INUDS означает перемещение / закрытие центров занятости и промышленных предприятий, что имело бы серьезные экономические последствия.
  • Изменение RAD указывает на полное изменение дорожной системы Бостона, которое снова окажет значительное влияние

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

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

Это означает, что для каждого жилища в наших городах с низким доходом мы заменяем предикторы ВОЗРАСТ и CRIM выборками, взятыми из начального распределения, основанного на городах с высоким доходом. Затем мы вводим наши новые «разработанные» данные в нашу регрессионную модель NOx, чтобы предсказать новые значения NOx.

Результаты этого показаны на Рисунке 7 ниже:

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

Обсуждение и рекомендации по политике

Результаты анализа частичной зависимости (см. Рисунок 6) одновременно интересны и сбивают с толку. Влияние ВОЗРАСТА в основном логично, то есть увеличение ВОЗРАСТА в доме будет указывать на старую инфраструктуру для отопления и, следовательно, на выбросы NOx. Однако вариант для ПРЕСТУПНОСТИ сбивает с толку, поскольку, похоже, предполагает, что при прочих равных условиях рост преступности приведет к увеличению уровня NOx. В это трудно поверить, не проверив другие зависимости.

Что касается других рекомендаций: INDUS довольно подробно объясняет NOx. Рекомендация для правительств может заключаться в том, чтобы побудить предприятия переехать из городов и строить больше в сельских районах (в отличие от центра города), поскольку это влияет как на загруженность дорог, так и на общую плотность загрязнения. Однако необходимо провести дополнительные исследования для определения социально-экономического воздействия, которое это окажет на районы с низким доходом, поскольку в результате многие жители могут потерять работу.

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

Интересно посмотреть на некоторые вероятности, основанные на моделях и существующих пороговых значениях в Интернете. Согласно онлайн-стандартам, максимальный уровень NOx в Калифорнии (частей на 10 миллионов) составляет 0,3, а федеральное правительство устанавливает предел на уровне 0,53. Если в качестве порогового значения низкого NOx следует принять лимит Калифорнии, а в качестве порога высокого NOx - правительственный, это означает, что 52% набора данных содержат слишком высокие уровни NOx, а на самом деле ни один из них не является низким. Еще один интересный вывод о неравенстве… учитывая район с низким доходом, вероятность иметь высокий рейтинг NOx составляет 96,6%. В таблице ниже красиво резюмируется эта информация:

Заключительные замечания и дальнейшая работа

Цель этого проекта заключалась в изучении того, как развитие микрорайонов с низкими доходами влияет на уровни NOx, чтобы дать представление о разработке политики. Эта цель была разбита на три логических шага: 1) определение того, достаточен ли набор данных для поставленной задачи, 2) поиск модели для прогнозирования уровней NOx по любой точке данных, 3) определение влияния развития района с низким доходом, в то время как сохранение постоянных географических ограничений. Чтобы проверить достаточность набора данных, была использована кластеризация K-средних для поиска 3 отдельных кластеров (соответствующих районам с низким, средним и высоким доходом). Этот результат был проверен на основе прошлых данных, показывающих схожее распределение, что означает, что данные достаточно хороши, чтобы разумно сгруппировать окрестности в три класса.

Во втором аспекте проекта использовались методы регрессии для определения выбросов NOx с использованием 5 регрессоров, а именно AGE, DIS, INDUS, CRIM и RAD. Этот аспект показал, что SVR является лучшим предсказателем с точностью 88%. Нормальность остатков была проверена с помощью графиков QQ, которые затем позволили создать самонастраиваемую выборку точек данных о районе с высоким доходом. Сохраняя фиксированную географию (например, INDUS, DIS и RAD), можно было улучшить из набора данных с низким соседством, были заменены (например, AGE , CRIM) с людьми из района с высоким доходом. Было обнаружено, что это вызвало общее снижение уровня NOx. Статистический эффект заключается в том, что распределение NOx в районах с низким доходом не меняет своего пика. но его окружение рассредоточено влево, вызывая общий положительный перекос по мере развития. На основании исследования выясняется, что CRIM и AGE являются сильными индикаторами загрязнения NOx, которые могут изменяться человеком. Данные свидетельствуют о том, что улучшение условий жизни в районах с низким доходом коррелирует с более низкими значениями NOx.

В будущей работе было бы хорошо рассмотреть следующее: 1) причинно-следственная связь: не могли бы вы изучить, можно ли считать ВОЗРАСТ / ПРЕСТУПЛЕНИЕ причиной, 2) увеличение данных: эта работа многое сделала с точки зрения увеличения долготы и широты и создания синтетических данных для «развитых» районов с низким доходом. В будущих методах можно было бы использовать методы увеличения данных, управляемые нейронными сетями (например, GAN).

Я надеюсь, что вам понравилось читать эту статью (и, надеюсь, вы узнали что-то новое!), И призываю вас всегда стремиться исследовать новые направления в проектах, над которыми вы работаете, даже если кажется, что все уже было изучено.

Все изображения созданы автором, если не указано иное.