Сравнение ⚖️

Как говорится: “все познается в сравнении”, но способен ли человек быть объективным, после того как уже сделан выбор в пользу чего-либо, что сравнивается? Готовы ли мы признать ошибочность своего выбора, особенно если в такой выбор было инвестировано время и силы?

Прошедший 2022 год стал примечательным в том смысле, что многие продвинутые россияне продвинулись настолько далеко, что оказались на ПМЖ в других странах и одним из наиболее популярных направлений таких движений стала Турция 🇹🇷

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

Наверное не лишним будет сказать, что подавляющее большинство продвинутых россиян полагает, что безопасность на дорогах в Турции выше чем в РФ и некоторые даже подкрепляют свои суждения некоторой статистикой, доступной на популярных агрегаторах данных. Такое представление несколько не бьется с моим опытом, который я мог наблюдать в Турции. Дело в том, что всегда доброжелательные Турки, обычно неторопливо распивающие чай и непринужденно болтая, до неузнаваемости меняются когда садятся за руль автомобиля. Не знаю какой “Безумный Макс” в них вселяется, но на дорогах творится настоящий сюжет из одноименного фильма с криками, адреналином и рычанием моторов. Все это дорожное мракобесие сопровождается абсолютным нигилизмом дорожных правил, а именно: несоблюдением скоростного режима, проездом перекрестка на красный свет светофора и, что особенно важно, игнорированием пешеходов на пешеходных переходах.

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

  • Действительно ли риски для здоровья на дорогах РФ существенно выше аналогичных в Турции?
  • Есть ли эффект от ужесточения правил дорожного движения в РФ за последние годы?
  • Действительно ли климат играет существенную роль при оценки рисков ДТП?

Откуда дровишки? 🪵

Источниками данных для моего небольшого исследования будут РОССТАТ и TURKSTAT/Wikipedia для РФ и Турции соответственно. Доступ к данным РОССТАТА осуществлялся с помощью пакета R fedstatAPIr. Данные для Турции могут быть найдены по следующим ссылкам:

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

ДТП с пострадавшими 🤕

Сравнение стран – это крайне занятное дело, но прежде чем приступить к этому этапу любопытно посмотреть на регионы РФ с учетом того, что РОССТАТ публикует помесячную динамику и следовательно можно попробовать разглядеть сезонность на таком уровне детализации. Сезонность – это конечно еще не климатические условия, но уже что-то весьма близкое. Какие регионы выбрать? Интересует Москва и Санкт-Петербург потому как там проживало большинство переселенцев в Турцию и также Краснодарский регион как наиболее климатически-близкий Турции.

Очевидно, что сравнивать абсолютное количество ДТП в разных странах или даже в разных регионах РФ – не имеет никакого смысла: регионы с большим количеством населения будут характеризоваться большим количеством ДТП и наоборот. Для того чтобы исключить данный эффект нужно прибегнуть к расчету удельного показателя, например, количество инцидентов на 1 млн. жителей страны/региона или любой иной территории. Сказано – сделано, график в студию!

Количество ДТП с пострадавшими на 1 млн. населения

Figure 1: Количество ДТП с пострадавшими на 1 млн. населения

График получился крайне занимательным. Во-первых можно заметить, что оранжевые кривые 2010-ых годов находятся сверху, а голубые кривые 2020-ых находится внизу, что говорит о системном сокращении происшествий с пострадавшими по всем рассматриваемым регионам и в целом РФ. Во-вторых заметна некоторая сезонность, которая также видна по изгибу усредненной кривой, обозначенной красным пунктиром. Впрочем, сезонность скорее связана с экономической активностью населения, а не с погодными условиями. Для пущей уверенности приведу расчеты среднего количество ДТП с пострадавшими на зимний период в сравнении с остальной частью года:

Зима Усредненное количество ДТП
ДА 86.33
НЕТ 105.71

Получается, что дороги в зимнее время года даже безопаснее чем в другие периоды года. Неожиданно 😳

Погибшие в результате ДТП 😵

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

Число лиц, погибших в ДТП

Figure 2: Число лиц, погибших в ДТП

Также весьма примечательный график, который говорит о том, что динамика от 2010 года к 2022 году позитивная. Кроме того, можно заметить, что количество погибших в Московской области существенно больше чем в Москве, а количество погибших в Ленинградской области существенно больше чем в Санкт-Петербурге. Это наталкивает на мысль, что уровень урбанизации в стране существенно влияет на статистику погибших в ДТП. Не исключено, что сильные показатели безопасности на дорогах у Европейских стран связаны с тем, что урбанизация в этих странах достигает 90-95% и выше тогда как в РФ и Турции этот показатель находится на уровне 75%.

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

Зима Усредненное количество погибших
ДА 11.23
НЕТ 13.16

Сравнение с Турцией 🇹🇷

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

Сравнение Турции и РФ по дорожным инцидентам

Figure 3: Сравнение Турции и РФ по дорожным инцидентам

Теперь стало возможным сделать определенные выводы, в частности, видно, что смертность и травматизм на дорогах РФ системно снижались на протяжение 10 лет. Только вдумайтесь ~28 000 человек погибало ежегодно на дорогах РФ в начале 2010-ых тогда как в начале 2020-ых эта цифра сократилась до ~14 000, что значительно превышает официально озвученные цифры погибших в ходе конфликта с Украиной за 2022 год. Иными словами, Госавтоинспекция МВД и РОСАВТОДОР проделали огромную работу по снижению смертности и травматизма на дорогах и это объективный факт, отлитый в цифрах РОССТАТА 🪦

В отношении Турции можно сказать, что динамика не имеет выраженной тенденции на улучшение или ухудшение положения дел. В итоге к 2022 году совокупные показатели по смертности РФ от ДТП составил 97 погибших на 1 миллион, а для Турции 63 соответственно т.е. разница 35% в пользу Турции. С другой стороны, количество ДТП с пострадавшими в РФ составляет 870 на 1 миллион, в то время как в Турции аналогичный показатель равен 2220, что более чем в два раза больше.

Как минимум, полученную статистику можно назвать неоднозначной, но если фокусироваться исключительно на городах, из которых предположительно происходила релокация граждан РФ в Турцию т.е. Санкт-Петербург и Москва то можно сказать с уверенностью, что релоканты существенно увеличили риск на дорогах Турции, а именно: пострадать в три раза и погибнуть в два раза. Тут нужно сделать оговорку о том, что это не честно – сравнивать мегаполисы высокой урбанизации с целой страной, которая включает протяженные скоростные трассы и горные дороги, расположенные за чертой городов. Это конечно не мешает продвинутым гражданам сравнивать какую-нибудь Бельгию с РФ, но я все-таки культурный человек и таким беспределом заниматься не буду. В любом случае, очевидно, необходимо продолжить это небольшое исследование, чтобы ответить на оставшиеся вопросы:

  • Действительно ли переезд в Турцию связан с повышением риска пострадать на дорогах, если рассмотреть популярные направления: Москва и Московская область, Санкт-Петербург и Ленинградская область, Краснодарский Край 🇷🇺 ➡️ 🇹🇷 Стамбул, Измир, Анталия?
  • А что в итоге с климатом? Влияет ли климат на безопасность на дорогах?

Итоги 🍪

Некоторые выводы, которые получились:

  1. Сравнивать страны по безопасности на дорогах без учета уровня урбанизации – есть странное и слабо осмысленное занятие. К счастью для сравнения Турция и РФ – страны имеют приблизительно одинаковый уровень урбанизации ~75%, что делает такое сравнение вполне допустимым
  2. Риски погибнуть или получить травму на дорогах РФ существенно снизились за последние 10 лет: сокращение смертей на 14 000 ежегодно – это не шутки даже на фоне человеческих потерь военного времени
  3. Удивительно, но зимой дорожное движение в РФ – является более безопасным по сравнению с остальной частью года
  4. Переезд граждан РФ из Санкт-Петербурга и Москвы в Турцию сопряжен с повышением рисков оказаться в неприятной ситуации на дорогах, но это не точно и нужно перепроверить: подробный разбор – в следующей заметке

Будьте внимательны на дорогах и берегите себя 🙏


Исходный код
library(tidyverse) # набор библиотек по принципу все-в-одном
library(fedstatAPIr) # пакет для скачивания данных с РОССТАТА

ru_injuries0 <- fedstat_data_load_with_filters("36234") # сведения по ДТП с пострадавшими
ru_deaths0 <- fedstat_data_load_with_filters("36233") # сведения по погибшим в ДТП
ru_population0 <- fedstat_data_load_with_filters("31557") # сведения по численности населения РФ

# Подготовка справочных значений необходимых для обработки данных
months <- c("январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь")
regs <- c("400000000001", "410000000001", "450000000001","460000000001", "030000000001", "643")

# Подготовка сведений по численности населения РФ 
ru_population <- mutate(ru_population0, rgn = str_replace(s_OKATO_code, "0$", "01")) %>% 
  filter(s_mest == "все население" & Time > 2009 &
           s_OKTMO == "Раздел 1. Муниципальные образования субъектов Российской Федерации") %>% 
  mutate(population = as.integer(ObsValue), year = as.integer(Time)) %>% 
  select(year, population, rgn)

# Подготовка сведений по количеству ДТП с пострадавшими
injuries <- ru_injuries0 %>% 
  mutate(year = as.integer(Time), 
         month = str_remove(PERIOD, "январь-") %>% factor(levels = months) %>% as.numeric()) %>% 
  group_by(Time, p3.1) %>% 
  mutate(injury = as.integer(ObsValue) - lag(as.numeric(ObsValue), default = 0)) %>% # переход от накопленного значения к мгновенному
  left_join(ru_population, by = c("year", "p3.1_code" = "rgn")) %>% # стыковка данных по численности населения
  mutate(injury_rate = injury*1e6/population) %>% # расчет удельного показателя по количеству ДТП с пострадавшими на 1 млн.
  ungroup() %>% 
  select(year, month, injury, injury_rate, rgn = p3.1_code, rgn_name = p3.1)

# Фильтр только фокусных регионов
injuries_fltrd <- filter(injuries, rgn %in% regs) 

# Figure 1: Количество ДТП с пострадавшими на 1 млн. населения 
ggplot(injuries_fltrd, aes(month, injury_rate)) + 
  geom_line(aes(color = year, group = year), size = 1, alpha = .5) + 
  scale_x_continuous(labels = months, breaks = 1:12) +
  facet_wrap(~rgn_name, scales = "free", ncol = 1) + 
  ggrepel::geom_label_repel(data = filter(injuries_fltrd, month == 11), max.overlaps = 10, alpha = .7,
                            aes(x = 11, group = year, label = year, color = year)) + 
  stat_summary(aes(linetype = "Среднее"), geom = "line", fun = "mean", size = 1, col = "firebrick") +
  scale_color_steps(breaks = 2010:2022, low = "orange", high = "cyan") + 
  scale_linetype_manual(values = c("Среднее" = 5)) + 
  theme(legend.key.width = unit(2.2, "cm"), legend.position = "bottom") + 
  labs(title = "Количество ДТП с пострадавшими на 1 млн. населения", y = "Количество пострадавших",
       caption = "Источник: РОССТАТ", linetype = "", color = "Год", x = "Месяц")

# Расчеты среднего количество ДТП с пострадавшими в зимний период в сравнении с остальными периодами года
injuries_fltrd %>% 
  mutate(Зима = if_else(month %in% c(1:2, 12), "ДА", "НЕТ")) %>% 
  group_by(Зима) %>% 
  summarise(`Усредненное количество ДТП` = mean(injury_rate) %>% round(2)) %>% 
  knitr::kable() # рендеринг таблицы

# Подготовка сведений по количеству погибших в ДТП
deaths <- ru_deaths0 %>% 
  mutate(year = as.integer(Time), 
         month = str_remove(PERIOD, "январь-") %>% factor(levels = months) %>% as.numeric()) %>% 
  group_by(Time, p3.1) %>% 
  mutate(death = as.integer(ObsValue) - lag(as.numeric(ObsValue), default = 0)) %>%# переход от накопленного значения к мгновенному
  left_join(ru_population, by = c("year", "p3.1_code" = "rgn")) %>% # стыковка данных по численности населения
  mutate(death_rate = death*1e6/population) %>% # расчет удельного показателя по погибших в ДТП на 1 млн.
  ungroup() %>% 
  select(year, month, death, death_rate, rgn = p3.1_code, rgn_name = p3.1)

# Фильтр только фокусных регионов
deaths_fltrd <- filter(deaths, rgn %in% regs)

# Figure 2: Число лиц, погибших в ДТП
ggplot(deaths_fltrd, aes(month, death_rate)) + 
  geom_line(aes(color = year, group = year), size = 1, alpha = .5) + 
  scale_x_continuous(labels = months, breaks = 1:12) +
  ggrepel::geom_label_repel(data = filter(deaths_fltrd, month == 11), max.overlaps = 10, alpha = .7,
                            aes(x = 11, group = year, label = year, color = year)) + 
  stat_summary(aes(linetype = "Среднее"), geom = "line", fun = "mean", size = 1, col = "firebrick") +
  facet_wrap(~rgn_name, scales = "free", ncol = 1) + 
  scale_color_steps(breaks = 2010:2022, low = "orange", high = "cyan") + 
  scale_linetype_manual(values = c("Среднее" = 5)) + 
  theme(legend.key.width = unit(2.2, "cm"), legend.position = "bottom") + 
  labs(title = "Число лиц, погибших в ДТП", y = "Количество погибших", 
       caption = "Источник: РОССТАТ", linetype = "", color = "Год", x = "Месяц")

# Расчеты среднего погибших в ДТП в зимний период в сравнении с остальными периодами года
deaths_fltrd %>% 
  mutate(Зима = if_else(month %in% c(1:2, 12), "ДА", "НЕТ")) %>% 
  group_by(Зима) %>% 
  summarise(`Усредненное количество погибших` = mean(death_rate) %>% round(2)) %>% 
  knitr::kable() # рендеринг таблицы

# Годовая динамика численности населения в Турции была обнаружена только в Вики
trk_population_wiki0 <- rvest::read_html("https://en.wikipedia.org/wiki/Demographics_of_Turkey") %>% 
  rvest::html_table() %>% .[[7]] %>% 
  select(year = 1, population = 2) %>% 
  filter(year > 2009) %>% 
  mutate(population = str_remove_all(population, ",|\\(e\\)") %>%  as.integer())

# Статистика по дорожным инцидентам скачена в виде excel-файла по ссылке:
# https://data.tuik.gov.tr/Bulten/Index?p=Road-Traffic-Accident-Statistics-2021-45658&dil=2
trk_traffic_year <- readxl::read_excel("data/trk_traffik_stat0.xls", sheet = "t1", skip = 9) %>% 
  select(year = 1, 4, death = 6) %>% 
  mutate(year = as.integer(year)) %>% 
  drop_na()

trk_stats <- trk_traffic_year %>% 
  left_join(trk_population_wiki0, by = "year") %>% 
  mutate(rgn_name = "Турция")

# Для сравнения по гадам статистику РФ нужно агрегировать с месечной детализации до годовой
ru_stats <- deaths %>% 
  left_join(injuries, by = c("year", "month", "rgn", "rgn_name")) %>% 
  group_by(rgn, rgn_name, year) %>% 
  summarise(across(c("injury", "death"), sum), .groups = "drop") %>% # агрегация/суммирование по году
  left_join(ru_population, by = c("year", "rgn")) # стыковка со сведениями по численности населения РФ

# Подготовка данных в структуре, которая позволяет построить фасетный график по двум разрезам: 
# 1) Тип инцидента 2) Страна/регион РФ
country_stats <- filter(ru_stats, rgn %in% regs) %>% 
  bind_rows(trk_stats) %>% # добавление данных по Турции к данным по РФ
  mutate(across(c("injury", "death"), ~.*1e6/population, .names = "{.col}_rate")) %>% # расчет удельных значений на 1 млн.
  pivot_longer(cols = c(injury_rate, death_rate), names_to = "rate_type", values_to = "rate_value") %>% # изменение структуры данных
  select(year, rgn_name, rate_type,  rate_value) 

# Figure 3: Сравнение Турции и РФ по дорожным инцидентам
ggplot(country_stats, aes(year, rate_value, fill = rgn_name, group = rgn_name)) + 
  geom_col(alpha = .5) + 
  facet_grid(rate_type ~ rgn_name, scales = "free", 
             labeller = labeller(rate_type = c("death_rate" = "Смертность", "injury_rate" = "Травматизм"),
                                 rgn_name = ~str_wrap(., 17, whitespace_only = FALSE))) + 
  labs(title = "Смертность - количество погибших в результате ДТП \nТравматизм - количество ДТП с пострадавшими ", 
       y = "Количество на 1 млн. населения", x = "Год", fill = "", caption = "Источники: РОССТАТ, TURKSTAT") + 
  scale_x_continuous(breaks = 2009+2*(1:6)) +
  theme(legend.position = "bottom", axis.text.x = element_text(angle = 45, size = 6))

Простой способ узнать о новых публикациях – подписаться на Telegram-канал: