Сравнение ⚖️
Как говорится: “все познается в сравнении”, но способен ли человек быть объективным, после того как уже сделан выбор в пользу чего-либо, что сравнивается? Готовы ли мы признать ошибочность своего выбора, особенно если в такой выбор было инвестировано время и силы?
Прошедший 2022 год стал примечательным в том смысле, что многие продвинутые россияне продвинулись настолько далеко, что оказались на ПМЖ в других странах и одним из наиболее популярных направлений таких движений стала Турция 🇹🇷
Оказавшись на новом месте, россияне принялись сравнивать качество жизни в России и Турции и, в частности, сравнивать уровень безопасности проживания. В данной заметке меня будет интересовать сравнение рисков дорожных происшествий с причинением вреда здоровью в двух упомянутых странах.
Наверное не лишним будет сказать, что подавляющее большинство продвинутых россиян полагает, что безопасность на дорогах в Турции выше чем в РФ и некоторые даже подкрепляют свои суждения некоторой статистикой, доступной на популярных агрегаторах данных. Такое представление несколько не бьется с моим опытом, который я мог наблюдать в Турции. Дело в том, что всегда доброжелательные Турки, обычно неторопливо распивающие чай и непринужденно болтая, до неузнаваемости меняются когда садятся за руль автомобиля. Не знаю какой “Безумный Макс” в них вселяется, но на дорогах творится настоящий сюжет из одноименного фильма с криками, адреналином и рычанием моторов. Все это дорожное мракобесие сопровождается абсолютным нигилизмом дорожных правил, а именно: несоблюдением скоростного режима, проездом перекрестка на красный свет светофора и, что особенно важно, игнорированием пешеходов на пешеходных переходах.
Естественно, я не мог пройти мимо феномена когда мои восприятие реальности и эмпирический опыт жестко противоречат объективной статистике. Тут либо статистика какая-то неправильная, либо у меня прицел сбился. Пытаясь объяснить подобное противоречие, я принялся апеллировать к тому, что климатические условия в Турции разительно отличаются от климатических условий в РФ, что в свою очередь сказывается на количестве жертв на дорогах. Действительно, по моим наблюдениям плохие погодных условиях: гололедица, туман, снег и дождь, – всегда приводили к резкому росту происшествий на дорогах в РФ. Очевидно, что в Турция по количеству солнечных дней выгодно отличается от РФ и поэтому хорошие статистические показатели на дорогах могли быть теоретически связаны именно с этим фактором. Пожалуй теперь подытожу и сформулирую следующие вопросы, требующие проверки:
- Действительно ли риски для здоровья на дорогах РФ существенно выше аналогичных в Турции?
- Есть ли эффект от ужесточения правил дорожного движения в РФ за последние годы?
- Действительно ли климат играет существенную роль при оценки рисков ДТП?
Откуда дровишки? 🪵
Источниками данных для моего небольшого исследования будут РОССТАТ и TURKSTAT/Wikipedia для РФ и Турции соответственно. Доступ к данным РОССТАТА осуществлялся с помощью пакета R fedstatAPIr
. Данные для Турции могут быть найдены по следующим ссылкам:
Исходный код всех манипуляций с данными, приправленный моими комментариями, доступен в самом низу заметки для того чтобы любой желающий мог проверить верность моих выводов, а также подсмотреть приемы работы с данными и визуализацией.
ДТП с пострадавшими 🤕
Сравнение стран – это крайне занятное дело, но прежде чем приступить к этому этапу любопытно посмотреть на регионы РФ с учетом того, что РОССТАТ публикует помесячную динамику и следовательно можно попробовать разглядеть сезонность на таком уровне детализации. Сезонность – это конечно еще не климатические условия, но уже что-то весьма близкое. Какие регионы выбрать? Интересует Москва и Санкт-Петербург потому как там проживало большинство переселенцев в Турцию и также Краснодарский регион как наиболее климатически-близкий Турции.
Очевидно, что сравнивать абсолютное количество ДТП в разных странах или даже в разных регионах РФ – не имеет никакого смысла: регионы с большим количеством населения будут характеризоваться большим количеством ДТП и наоборот. Для того чтобы исключить данный эффект нужно прибегнуть к расчету удельного показателя, например, количество инцидентов на 1 млн. жителей страны/региона или любой иной территории. Сказано – сделано, график в студию!
График получился крайне занимательным. Во-первых можно заметить, что оранжевые кривые 2010-ых годов находятся сверху, а голубые кривые 2020-ых находится внизу, что говорит о системном сокращении происшествий с пострадавшими по всем рассматриваемым регионам и в целом РФ. Во-вторых заметна некоторая сезонность, которая также видна по изгибу усредненной кривой, обозначенной красным пунктиром. Впрочем, сезонность скорее связана с экономической активностью населения, а не с погодными условиями. Для пущей уверенности приведу расчеты среднего количество ДТП с пострадавшими на зимний период в сравнении с остальной частью года:
Зима | Усредненное количество ДТП |
---|---|
ДА | 86.33 |
НЕТ | 105.71 |
Получается, что дороги в зимнее время года даже безопаснее чем в другие периоды года. Неожиданно 😳
Погибшие в результате ДТП 😵
Далее визуализация для статистики погибших в ДТП в том же ключе, что и прежде т.е. рассматриваестя количество случаев на 1 млн. жителей выбранных регионов:
Также весьма примечательный график, который говорит о том, что динамика от 2010 года к 2022 году позитивная. Кроме того, можно заметить, что количество погибших в Московской области существенно больше чем в Москве, а количество погибших в Ленинградской области существенно больше чем в Санкт-Петербурге. Это наталкивает на мысль, что уровень урбанизации в стране существенно влияет на статистику погибших в ДТП. Не исключено, что сильные показатели безопасности на дорогах у Европейских стран связаны с тем, что урбанизация в этих странах достигает 90-95% и выше тогда как в РФ и Турции этот показатель находится на уровне 75%.
Кривая среднего количества погибших демонстрирует сезонность, похожую на ту, которая рассматривалась для ДТП с пострадавшими. Расчет усредненного количества погибших для зимы и прочего года подтверждает, что зимой рисков погибнуть также меньше:
Зима | Усредненное количество погибших |
---|---|
ДА | 11.23 |
НЕТ | 13.16 |
Сравнение с Турцией 🇹🇷
После незамысловатых преобразований данных получилась следующая разноцветная диаграмма:
Теперь стало возможным сделать определенные выводы, в частности, видно, что смертность и травматизм на дорогах РФ системно снижались на протяжение 10 лет. Только вдумайтесь ~28 000 человек погибало ежегодно на дорогах РФ в начале 2010-ых тогда как в начале 2020-ых эта цифра сократилась до ~14 000, что значительно превышает официально озвученные цифры погибших в ходе конфликта с Украиной за 2022 год. Иными словами, Госавтоинспекция МВД и РОСАВТОДОР проделали огромную работу по снижению смертности и травматизма на дорогах и это объективный факт, отлитый в цифрах РОССТАТА 🪦
В отношении Турции можно сказать, что динамика не имеет выраженной тенденции на улучшение или ухудшение положения дел. В итоге к 2022 году совокупные показатели по смертности РФ от ДТП составил 97 погибших на 1 миллион, а для Турции 63 соответственно т.е. разница 35% в пользу Турции. С другой стороны, количество ДТП с пострадавшими в РФ составляет 870 на 1 миллион, в то время как в Турции аналогичный показатель равен 2220, что более чем в два раза больше.
Как минимум, полученную статистику можно назвать неоднозначной, но если фокусироваться исключительно на городах, из которых предположительно происходила релокация граждан РФ в Турцию т.е. Санкт-Петербург и Москва то можно сказать с уверенностью, что релоканты существенно увеличили риск на дорогах Турции, а именно: пострадать в три раза и погибнуть в два раза. Тут нужно сделать оговорку о том, что это не честно – сравнивать мегаполисы высокой урбанизации с целой страной, которая включает протяженные скоростные трассы и горные дороги, расположенные за чертой городов. Это конечно не мешает продвинутым гражданам сравнивать какую-нибудь Бельгию с РФ, но я все-таки культурный человек и таким беспределом заниматься не буду. В любом случае, очевидно, необходимо продолжить это небольшое исследование, чтобы ответить на оставшиеся вопросы:
- Действительно ли переезд в Турцию связан с повышением риска пострадать на дорогах, если рассмотреть популярные направления: Москва и Московская область, Санкт-Петербург и Ленинградская область, Краснодарский Край 🇷🇺 ➡️ 🇹🇷 Стамбул, Измир, Анталия?
- А что в итоге с климатом? Влияет ли климат на безопасность на дорогах?
Итоги 🍪
Некоторые выводы, которые получились:
- Сравнивать страны по безопасности на дорогах без учета уровня урбанизации – есть странное и слабо осмысленное занятие. К счастью для сравнения Турция и РФ – страны имеют приблизительно одинаковый уровень урбанизации ~75%, что делает такое сравнение вполне допустимым
- Риски погибнуть или получить травму на дорогах РФ существенно снизились за последние 10 лет: сокращение смертей на 14 000 ежегодно – это не шутки даже на фоне человеческих потерь военного времени
- Удивительно, но зимой дорожное движение в РФ – является более безопасным по сравнению с остальной частью года
- Переезд граждан РФ из Санкт-Петербурга и Москвы в Турцию сопряжен с повышением рисков оказаться в неприятной ситуации на дорогах, но это не точно и нужно перепроверить: подробный разбор – в следующей заметке
Будьте внимательны на дорогах и берегите себя 🙏
Исходный код
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-канал: