В сентябре прошли выборы в Госдуму РФ VII созыва. При голосовании вся территория России была разделена на 225 округов. В каких округах каждая из партий получила высокие (или низкие) результаты? Какие значения принимала явка избирателей и как она влияла на результаты партий? Ответы на эти вопросы и ряд других наблюдений представлены в этой публикации.
Об избирательных округах
Выборы в Госдуму в 2016 проводились по смешанной системе — 225 мест в парламенте распределялись по партийным спискам, остальные 225 мест по одномандатным округам. Далее всюду будет идти речь о пропорциональной (по партийным спискам) составляющей голосования. Границы избирательных округов были определены Центризбиркомом. Любопытно, что использовалась так называемая "лепестковая" модель (или джерримендеринг) формирования округов, с целью совмещения в одном округе городского и сельского населения. Этот способ задания округов может оказывать влияние на итоговые результаты только в мажоритарной, но не пропорциональной, составляющей выборов.
Источники данных
Сведения о результатах голосования предоставляет ЦИК РФ. Разнообразные цифры с разбивкой по округам доступны на этой странице. Геоданные всех избирательных округов подготовлены Михаилом Каленковым и его соратниками из сообщества GIS-LAB. Подробности здесь. Карты составлены в проекции EPSG:3857.
Географические карты
Во главу угла была поставлена быстрая отрисовка карт. Поэтому использовались геоданные с максимально упрощенной геометрией округов — 0.1 % от исходных данных. Кроме того, я выбирал между двумя библиотеками для работы с географическими картами — leaflet
и highcharts
. Оказалось, что для используемого датасета leaflet на моем лэптопе строит карту c 225 округами за 200 — 300 мс. В highcharts для отображения той же карты требуется примерно в 6 раз больше времени. Хотя, на мой вкус, карты в highcharts выглядят более эстетично по сравнению с картами библиотеки leaflet. Для отрисовки избирательных округов Москвы и Санкт-Петербурга использовался более подробный файл с упрощением до 30 % от исходных данных. В leaflet удобнее работать с shape файлами, поэтому исходные geojson файлы был конвертированы в требуемый формат.
Отображение результатов голосования
Я использовал R и shiny для представления результатов голосования в избирательных округах. Если у вас установлен R, то вы можете запустить показанное ниже приложение на своем компьютере. Для этого требуется загрузить библиотеки shiny и pacman — команда install.packages(c("shiny", "pacman"))
, и запустить приложение командой shiny::runGitHub("e-chankov/elections_2016_districts")
. Для просмотра был использован Firefox 49.0.2 в полноэкранном режиме.
Результаты партий
Три снимка ниже демонстрируют результаты партий "Единая Россия", "КПРФ" и "РОСТ".
Фильтр позволяет выделять округа, которые не попали в заданный диапазон. Синий цвет — результаты меньше нижней границы фильтра, оранжевый цвет — результаты выше верхней границы фильтра.
Явка
Как и в предыдущей вкладке, задание границ явки выделяет округа вне установленных рамок. По тем округам, которые удовлетворяют условию фильтра, вычисляются процентные результаты партий и сравниваются с набранными значениями по всем округам.
"Единая Россия" теряет более 10% от своего итогового результата, если учитывать только округа с явкой до 48 %. Больше всех приобретает "ЛДПР" — 3.5%.
Картина меняется на противоположную, если отсекать округа с меньшей явкой. Только изменение в процентах не столь сильное, как при исключении округов с высокой явкой. При данных границах больше всех теряет "Яблоко".
Сравнение результатов партий
У "ЛДПР", по сравнению с "КПРФ", преимущество на Дальнем Востоке и севере России.
"Яблоко" явно превосходит "Коммунистов России" в Москве и Санкт-Петербурге. В большей части остальных регионов у "Коммунистов России" преимущество перед "Яблоком".
Данные, R-скрипт с предобработкой данных и R-скрипты для shiny приложения доступны на GitHub.
Во второй части статьи вы найдете диаграммы с результатами голосования по участковым комиссиям.
Эти графики показывают необычные закономерности в исследуемых данных.
Комментарии (20)
ikashnitsky
24.10.2016 11:25+2Что мешало поменять проекцию на какую-нибудь более подходящую для территории? Выглядит же очень не очень. Вот неплохой обзор по теме проекций.
ikashnitsky
24.10.2016 12:27+1Нет, подождите минусить. Я серьезно спрашиваю. Это же одна строчка кода.
shape <- rgdal::spTransform(x = shape, CRSobj = CRS('+init=EPSG:3576'))
Есть рациональное объяснение выбору проекции?
jzha
24.10.2016 13:01Илья, я использовал проекцию, которая была задана авторами геоданных, т.е. просто оставил ту, которую они рекомендовали. Спасибо за ссылку!
ikashnitsky
24.10.2016 13:06Исходные данные почти всегда публикуют в проекции
longlat
. Это позволяет минимизировать искажения при последующих трансформациях.
Не накладывает лиleaflet
ограничения на использование проекций отличных отlonglat
?jzha
24.10.2016 14:39Этого не знал :), но Web Mercator сама по себе популярная проекция, как я посмотрел. Вообще, это мой первый опыт работы с географическими картами.
Дляleaflet
вне R есть дополнение по работе со многими популярными проекциями. Чем ограничена базовая версияleaflet
, которая используется в R, — надо смотреть.ikashnitsky
24.10.2016 15:08+1Да, Web Mercator удобна именно тем, что она отображает единообразно поверхность всей земли — и поэтому популярна в веб приложениях. Но для наших северных широт она слишком искажает площади, смещая фокус к неинтересным с точки зрения данных территориям Сибири.
Из учебника еще 1920-х годов (друг недавно прислал)Moskus
24.10.2016 18:06+1Web Mercator имеет, практически, единственный плюс — простота математики для отображения данных на Web.
Даром опознания советских проекций не обладаю (особенно — без координатной сетки), но могу сказать, что для отображения данных по России имеет смысл использовать коническую проекцию Ламберта, подобрав по вкусу опорные параллели.
barbadian
24.10.2016 13:02-1Наверное слегка не в тему, а где можно посмотреть — выдавался ли конкретному человеку бюллетень для голосования?
iCpu
24.10.2016 16:28Без корочек и постановления ЦИК (или суда, не очень в теме) — нигде. По истечению полугода — скорее всего, нигде, даже с корочками и постановлением.
baza906
24.10.2016 13:02-4а если бы все пришли, по 30% набрали бы Яблоко и ПАРНАС
redmanmale
24.10.2016 13:19Если бы «все» ходили на выборы, у нас было бы совсем другое общество и совсем другие граждане.
baza906
24.10.2016 13:55-3а не то быдло, которое ежедневно мешает жить и развиваться творческим натурам.
iCpu
24.10.2016 16:39+1Я бы не стал делать прогнозов по результатам выборов в случае значительного повышения электоральной активности, тем более, в пользу столь спорных, с позволения сказать, политических фигур.
Тем не менее, я бы не согласился и с redmanmale. Не стоит ставить знак равенства между активностью ногами и головой: между «пойду голосовать» и «пойду выбирать по политическим взглядам и репутации» огромная пропасть.
crmMaster
И так понятно, что за Россию в этом году выбирали близкие к правительству кланы из Чечни и Дагестана.
Единственная надежда, что когда людям со средней по стране зп будут талоны на еду выдавать, до них дойдет какой неправильный выбор большинство россиян сделало, пропустив выборы-2016
Scraelos
Многие, кто проигнорировал эти выборы, не пошли на них, думая, что их голоса украдут. Но на самом деле они их тупо подарили, что гораздо хуже. С такими соотечественниками-пофигистами можно даже на выборах не мухлевать.
vaxXxa
А какой смысл ходить на этот цирк-шапито? В интернете полно видео про вбросы сотен-тысяч бюллетеней. Кто-то понес ответственность? Это же уголовная ответственность. А там же видно и номер участка, и видно, что глава и члены комиссии прикрывают все это своей грудью, или же сами и делают вбросы.
Я думал, все посмеялись и пошли дальше. А нет – кто-то даже еще аналитику делает с серьезным выражением лица) Странно, что в сумму не вышло где-то 101%.
Aingis
Есть разница, вброс на 5% от итогового результата или на 25%. Кроме того, на многолюдном участке труднее вбросить без палева.
Seekeer
> В интернете полно видео про вбросы сотен-тысяч бюллетеней
Можно видео про вбросы тысяч бюллетеней?
>Это же уголовная ответственность
И заводятся уголовные дела: https://meduza.io/news/2016/09/19/po-faktu-falsifikatsiy-na-vyborah-v-rostove-na-donu-vozbuzhdeno-ugolovnoe-delo
>Я думал, все посмеялись и пошли дальше.
Если вы видите серьёзную проблему, то её надо решать, а не смеяться.
vaxXxa
Нет, тут только можно смеяться, или плакать. Решать тут ничего не надо уже. Поздно.
Ты же ведь понимаешь, что бюллетени те учителя не на базаре покупали. Они не были из той пачки, которую выдают на УИК, потому что иначе в фальсификации надо обвинить полностью всю комиссию и открыть уголовные дела, а не «уволить» со школы. А если эти бюллетени были вообще «левые», то по номеру можно четко узнать, кто выдавал и привлечь всю вертикаль. Кроме Ростова-на-Дону были еще десятки случаев – и это только те, что получили хороший резонанс, потому что попали на видеосъемку.
Еще можно узнать, за какую партию были вбросы и сделать какой-то вывод. :) Найти заказчиков, ведь не сама же учитель со школы решилась на такой шаг. Но… Зачем это все делать, верно? Пипл хавает. Все ок.
Eldhenn
Многие, кто проигнорировал эти выборы, не пошли на них, понимая, что выбирать не из когою