В этом проекте мы будем изучать набор данных, лежащий в основе Отчета городов о здоровом образе жизни за 2021 год. Команда, составившая этот отчет, проанализировала и оценила 44 города по нескольким показателям здорового образа жизни. Давайте погрузимся!

Итак, наш набор данных имеет 44 записи и 11 столбцов. Однако мы видим, что есть проблема с парой столбцов. «Солнечные часы (город)», «Загрязнение (показатель индекса) (город)» и «Средн. отработанные часы» классифицируются как объекты, хотя они должны быть числовыми.

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

2% значений для часов солнечного сияния (город) и загрязнения (показатель индекса) (город) имеют «-». Мы заменим эти значения средним значением для каждого столбца. Столбец Среднее годовое значение. однако отработанный час содержал 25% «-» значений. К сожалению, замена значений «-» средним значением столбца может ввести в заблуждение, поэтому мы не сможем использовать этот столбец.

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

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

Как мы видим, некоторые из наших столбцов содержат значения, выходящие далеко за верхнюю и нижнюю границы их диапазона значений. Например, в столбце Количество мест на вынос (Город) может быть от 250 до более 6000. Тем не менее, в большинстве городов имеется от 500 до 1500 мест на вынос. Еще один интересный пример — столбец «Ожидаемая продолжительность жизни (годы) (страна)». При минимальном значении всего 56,30 непонятно, почему этот город появился в отчете «Города здорового образа жизни».

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

Предполагая сильный порог корреляции 0,70, этот набор данных содержит две положительные корреляции:

  1. Уровни счастья и стоимость бутылки с водой
  2. Уровни счастья и ожидаемая продолжительность жизни

И одна отрицательная корреляция:

  1. Уровни счастья и загрязнение

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

Отсортировав наш набор данных по стоимости бутылки воды (от самой высокой к самой низкой), мы можем наблюдать следующее:

  1. 9 из 10 городов Европы.
  2. 9 из 10 имеют уровни ожирения ниже среднего значения для всех городов и ниже 50-го процентиля для набора данных.
  3. 8 из 10 имеют стоимость членства в тренажерном зале выше 25-го процентиля для набора данных.

Согласно данным, собранным из Salary Explorer | Заработная плата и сравнение стоимости жизни, средний средний ежемесячный доход среди 10 городов с самой высокой стоимостью бутылки с водой составляет около 7778 долларов. Было бы трудно утверждать, что более высокая заработная плата не имеет никакого отношения к уровню счастья; так что, возможно, можно установить связь, где более высокая заработная плата соответствует более высоким ценам на бутылки с водой. Другая вероятная причина корреляции, которую мы наблюдаем в этом наборе данных, заключается в том, что это чрезвычайно маленький набор данных по сравнению с количеством городов по всему миру. Возможно, с большим набором данных мы увидим другие результаты. А пока продолжим.

Из топ-10 самых счастливых городов: 7 европейских, 2 канадских и 1 австралийский.

Регрессионная модель

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

Столбцы «Занятия на свежем воздухе (город)» и «Количество мест, где можно взять напрокат» (город) не имеют существенной корреляции с уровнями счастья, поэтому они были исключены из набора данных. Опять же, это немного подозрительно, учитывая, что было бы разумно предположить, что больше возможностей быть на свежем воздухе ведет к более счастливой жизни. Кроме того, кто не был бы счастлив иметь много потенциальных мест, где можно поесть на вынос? Я действительно начинаю верить, что этот набор данных может быть слишком мал, чтобы быть уверенным в выводах, которые мы делаем из него.

Теперь у нас осталось 7 столбцов, давайте проверим распределение их значений.

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

Последний шаг перед созданием нашей модели — проверка мультиколлинеарности.

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

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

Наша модель имеет скорректированное значение R², равное 0,921. Это означает, что наша модель может объяснить 92,10% дисперсии уровней счастья.