Московские выборы - 3

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

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

ОПИСАНИЕ МОДЕЛИ

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

Сразу оговорюсь, что участки в военных частях, больницах и т.д. (около 200 участков с номерами больше 3000 и высокой явкой) я из моделирования исключаю. Вместе они дают всего порядка 50 тыс. голосов.

Будем считать, что явка и голоса распределены нормально. Данный факт мы можем проверить на других выборах, которые считаются относительно честными, например на выборах 2005 г. в МГД.

Затем нам нужно определить некоторые другие параметры:

1. Размер и количество участков. Для ровного счета будем считать, что участков 3100 (в реальности немного меньше), средний размер участка 2250. Будем считать, что размеры участков распределены нормально, со стандартным отклонением, равным 400. В реальности распределение не совсем нормальное (рис.1), но я считаю, что это не очень существенное отличие. Суммарное количество избирателей получается равным приблизительно 7 млн., что и требовалось.

Рис.1

2. В ходе моделирования приходится пробовать распределения явки и голосов с разными средними. Не совсем понятно, откуда брать стандартные отклонения. На основании результатов выборов 2005 г. я приблизительно определил, что стандартное отклонение можно считать равным корню квадратному из среднего (рис.2, по оси X - среднее, по оси Y - стандартное отклонение).

Рис.2

3. Очень важный вопрос - причины искажения формы распределения для явки и голосов за партии (рис.3 - гистограмма явки). Исследования показали, что это связано с неравномерностью вбросов. Если функция распределения вброса - равномерное распределение, то никаких искажений не происходит. В нашем же случае вбросы распределены нормально (см. далее), что и приводит к искажениям. Сравним рис.3 и 4 (на рис.4 - результат моделирования).

Рис.3    Рис.4

4. Другой важный вопрос - параметры вброса. На рис.5 - многократно виденная диаграмма точек (X = явка, Y = доля голосов за ЕР от общего числа избирателей на участке). При вбросе участок на этой диаграмме сдвигается вправо по диагонали, причем расстояние этого сдвига зависит от величины вброса. Поэтому изучим гистограмму распределения расстояний на рис.5 от участков до начала координат (рис.6). Правая часть этой гистограммы образована участками с вброшенными голосами. Похоже на то, что вброс распределен нормально, причем среднее этого распределения - положительное. На рис.7 - результат моделирования.

Рис.5

Рис.6    Рис.7

АЛГОРИТМ

Алгоритм генерирования результатов выборов очень простой:

1. Генерируем размер участка. Используем генератор случайных чисел с нормальным распределением. Параметры см. выше.

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

3. Генерируем долю для каждой партии и долю недействительных бюллетеней. Поскольку в сумме это должно дать 100%, то нормируем полученные цифры таким образом, чтобы в сумме получилось 100%. Используем генератор случайных чисел с нормальным распределением. Среднее вычисляется исходя из тестируемой величины вброса, стандартное отклонение равно корню квадратному из среднего.

4. Генерируем величину вброса на данном участке. Используем генератор случайных чисел с нормальным распределением. Среднее подбираем на основании максимальной похожести на рис.6, стандартное отклонение подбираем на основании величины вброса.

5. Рассчитываем все необходимые параметры для данного участка.

6. Повторяем для всех участков.

РЕЗУЛЬТАТЫ

1. Вброс - 200000 голосов (Рис.8 - распределение явки, рис.9 - распределение голосов за ЕР, рис.10 - распределение расстояний). Пока ничего общего.

Рис.8    Рис.9    Рис.10


2. Вброс - 800000 голосов (Рис.11 - распределение явки, рис.12 - распределение голосов за ЕР, рис.13 - распределение расстояний). Значительно лучше, но все еще не очень.

Рис.11    Рис.12    Рис.13


3. Вброс - 1100000 голосов (Рис.14 - распределение явки, рис.15 - распределение голосов за ЕР, рис.16 - распределение расстояний). Практически идеальное совпадение.

Рис.14    Рис.15    Рис.16


4. Вброс - 1300000 голосов (Рис.17 - распределение явки, рис.18 - распределение голосов за ЕР, рис.19 - распределение расстояний). На всех трех рисунках видно, что вброс уже явно больше, чем нужно.

Рис.17    Рис.18    Рис.19

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

ВЫВОДЫ

1. Всего на выборах в МГД 2009 г. было вброшено ориентировочно 1 млн. 100 тыс. голосов (в среднем 355 голосов на участок). За вычетом фальшивых голосов, результаты выборов должны были быть такими:

ЛДПР11%
Патриоты России3.3%
Единая Россия39.2%
КПРФ24%
Справедливая Россия9.6%
Яблоко8.5%
Явка19.6%

2. Участков с небольшими нарушениями - очень мало. Например, участков с количеством вброшенных голосов меньше 50 всего 220 (около 7%). Получается, что наблюдатели от других партий не препятствовали нарушениям и практически всегда действовали заодно с нарушителями?

UPDATE

Забыл упомянуть, что результаты на рис.14-16 получены при среднем функции распределения вброса, равном 180. Думаю, что это число можно считать рекомендацией, спущенной в избиркомы - сколько ориентировочно голосов нужно вбросить.

Московские выборы - 2

В сети имеется некоторое количество работ, в которых авторы пытаются аналитически оценить масштаб нарушений на недавних выборах в московскую думу. Особой популярностью пользуется статья Сергея Шпилькина (ЖЖ-пользователь podmoskovnik, если я ничего не путаю). Есть еще пост ЖЖ-пользователя filin, которую он довольно активно продвигал в популярных журналах. Их оценки на порядок отличаются от моей - они оценивают размер фальсификаций в 30% от числа голосовавших, что составляет приблизительно 1 млн. голосов, вброшенных за ЕР.

Также есть посты uborshizzza (uborshizzza.livejournal.com/674242.html) и kireev (kireev.livejournal.com/481926.html), которые одни из первых подняли тему фальсификаций на этих выборах. Они исходят из тех же предположений и дают оценки, сходные с предыдущими авторами, но никаких расчетов нет, это скорее качественный анализ.

Давайте попробуем разобраться в представленных аргументах.

1. [info]filin использует график, на котором для каждого участка отложена пара (x = доля голосов за ЕР, y = явка).

Итак, пусть при Amax избирателях реально пришло голосовать A0, а за ЕР проголосовало A. От этого на графике появилась бы точка с координатами x0 = A/A0 (процент за ЕР) и y0 = A0/Amax (явка).

Теперь пусть в пользу ЕР вбросили долю d от общего числа избирателей, то есть d*Amax штук бюллетеней. Теперь якобы пришло голосовать ( A0 + d*Amax ) человек, из них за ЕР якобы ( A + d*Amax ). Поэтому у точки будут координаты x = ( A + d*Amax ) / ( A0 + d*Amax ) и y = ( A0 + d*Amax ) / Amax

Поделив на Amax и немного пригладив, получаем y = y0 + d (что очевидно) и x = ( x0*y0 + d )/( y0 + d ). При нулевом вбросе d=0 получаем честную точку x0, y0, как и должно быть.

Теперь исключим d и получим простенькую формулу для кривой: y = y0 * ( 1 - x0 ) / ( 1 - x ). У кривой два параметра: y0 - фактическая явка и x0 - фактический процент голосов за ЕР.

И наконец, подгоним эту кривую к графику обычным методом наименьших квадратов (участки со стопроцентным голосованием не считаем).


Вот что получается в результате (фактическая явка - 20%, фактический процент голосов за ЕР - 42%):

Рис.1

Есть ли здесь ошибки? Да, есть. Начало рассуждения безусловно правильно - при условии, что речь идет о выборах в целом. А затем формула, правильная для выборов в целом, начинает применяться к отдельным участками. В этом-то и кроется ошибка - ведь значения, принятые в формуле за константы, на самом деле для отдельных участков константами не являются.

2. podmoskovnik в своих рассуждениях пользуется достаточно общепринятым методом оценки нарушений. На графике для всех участков откладываем пары (x = явка, y = доля партии относительно количества избирателей на участке). Как нетрудно видеть, отношение y к x равно явке. Отсюда делается вывод, что все точки на графике должны группироваться вокруг прямой y=k*x, где k равно явке.

Попробуем нарисовать вышеописанный график для выборов в московскую думу (черная линия соответствует официальной явке):

Рис.2

Легко видеть, что облако точек и прямая y=0,66x явно не очень хорошо соотносятся друг с другом.

Дальше автор делает следующее предположение: "Кроме того, очевидно, что простое вбрасывание/приписывание голосов за кандидатуру власти (самый простой вид манипуляции) на конкретном избирательном участке приводит к смещению этого избирательного участка вместе со всеми его данными (и реальными, и фальсифицированными) в сторону более высоких явок. В результате на низких явках должны оставаться участки с нефальсифицированными данными." Т.е. получается, что "правильную" прямую нужно провести через левую нижнюю оконечность облака. Автор приходит к этому очевидному решению после длинных и запутанных рассуждений, которые мы здесь приводить не будем.

В итоге получается вот что (фактическая явка - 22%, фактический процент голосов за ЕР - 43%):

Рис.3

Есть ли и в этих рассуждениях ошибки? Ответ, опять-таки - да, есть. Причем, ошибка та же самая, что и у filin. Да, действительно, если долю партии от всех избирателей поделить на явку на выборах, получится доля партии от числа голосовавших. Однако переход от выборов в целом к отдельным участкам не совсем корректен, ведь доля партии от числа голосовавших не является константой, она отличается от участка к участку. Как видно, например, здесь, доля партии от числа голосовавших колеблется от участка к участку по нормальному закону. Исходя из правила 3-х сигм, можно заключить, что облако должно быть распределено не вдоль прямой y=kx, а внутри прямых y=(k+3s)*x и y=(k-3s)*x, где s - параметр сигма функции распределения голосов за партию.

Т.е. данный график в отсутствие нарушений на выборах должен выглядеть приблизительно вот так вот:

Рис.4

3. А теперь попробуем применить полученный вывод для оценки фальсификаций на выборах в московскую думу. Вот что у нас получается:

Рис.5

Здесь верхняя прямая проходит вдоль плотных областей "облака", а нижняя проведена таким образом, чтобы почти все участки с явкой, близкой к 100%, попали в промежуток между верхней и нижней прямыми. Биссектриса дает нам искомую оценку явки - 60%.

Итак, данный метод дает оценку фальсификаций с голосами ЕР - 6%. Эта цифра отличается от оценки, полученной в моем предыдущем посте. Однако, как я уже говорил, это все достаточно грубые оценки. В любом случае, это оценки одного порядка.

ВЫВОДЫ

Оценки результатов выборов, сделанные ЖЖ-пользователями filin и podmoskovnik, содержат явные ошибки, которые не позволяют считать эти оценки достоверными.

UPDATE

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

Московские выборы

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

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

Для информации. По официальным данным, всего было зарегистрировано 7009468 избирателей, из них приняло участие в выборах 2471608 или 35,3% избирателей. ЕР получила 1637403 голоса или 66,25%. КПРФ получила 328641 голос или 13,3%. Остальные - менее 7%, кого интересуют цифры - можно посмотреть на сайте избиркома.

ДАННЫЕ

Начнем с явки. На первом рисунке - гистограмма распределения явки по всем избирательным участкам, с разбиением по процентам. Т.е. каждый прямоугольник показывает, на скольких участках явка была в пределах указанного значения (если написано, например, 17 - значит в этот интервал попадают значения от 16 до 17). На всплеск явки в районе 100% не обращаем внимание - это просто всякие спецучастки, типа воинских частей. На рисунке 2 я как раз отрезал эти участки с большой явкой, чтобы не мешали (учитываются только участки с явкой менее 80%). Тут добавлена нормальная функция, которая показывает, какое распределение голосов должно быть в идеале при зарегистрированной явке 35%. На рисунке 3 зеленым дополнительно обозначено распределение, которое, как мне кажется, лучше всего описывает имеющиеся данные.

Рис.1

Рис.2

Рис.3

Далее рисунок 4 - распределение голосов за ЕР. Для сравнения, на рисунке 5 - распределение голосов за КПРФ. На обоих рисунках дополнительно нарисована функция распределения, которая, как мне кажется, достаточно хорошо вписывается в имеющиеся данные.

Рис.4

Рис.5

Ну и напоследок, на рисунках 6 и 7 - так с учетом всех участков выглядит та самая зависимость количества голосов за ЕР от явки, которую все почему-то считают доказательством фальсификаций. На рисунке 7 не учитываются участки с явкой более 80% и нарисована наилучшая прямая (если кому интересно - ее уравнение: y=0,92x-9,2).

Рис.6

Рис.7

АНАЛИЗ

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

Начнем с распределения явки. В левой части гистограммы, в области низкой явки, зияет дыра, вершина гистограммы изломана. Понятно, что это и является признаком фальсификаций. Сколько же голосов вброшено? На рисунке 3 я сдвинул влево функцию распределения на пару процентов - мне кажется, что так она лучше вписывается в данные. Это и дает нам грубую оценку - реальная явка приблизительно на 2% меньше официальных данных (середина нормальной функции распределения - это как раз среднее значение). Увеличение явки на 2% - это 140 тыс. лишних голосов.

Я считаю, что тут два разных типа нарушений. Во-первых, это попытка повысить явку на участках с крайне низкой явкой. Понятно, что такие участки в норме должны быть, однако их нет, а явка резко повышается, начиная приблизительно с 15%, и есть избыточная доля участков с явкой от 20% до 28%. Можно предположить, что на участках, на которых почти никто не пришел, все результаты почти полностью сфальсифицированы, причем понятно, что цифры "нарисованы" всем партиям, а не только ЕР. Посчитаем приблизительное количество участков в пустой области под зеленым графиком и над ним (в левой части). По приблизительной оценке, и там, и там по 150 участков (а значит, зеленую кривую я провел правильно). Это дает нам порядка 50-60 тыс. голосов (средний участок - 2000 чел., с учетом явки получим указанную цифру).

Во-вторых, это вброс голосов конкретно за ЕР на участках с нормальной явкой (зазубренная вершина гистограммы). В середине под гистограммой - порядка 120 участков, и приблизительно столько же - справа над гистограммой. Здесь оценка - тоже 50-60 тыс. голосов.

В сумме получаем около 100-120 тыс., что несколько расходится с первоначальной оценкой в 140 тыс., но думаю, что для грубой оценки это не очень большое расхождение.

Далее, смотрим на рисунок 4. Гистограмма достаточно хорошо вписывается в нормальное распределение. Правда она немного скошена вправо. Это явно результат вбросов голосов за ЕР. Середина распределения - 64%, в то время как официальная цифра - 66,25%. Опять-таки можем грубо оценить размер нарушений - 2,25% или порядка 60 тыс. голосов. Что в общем согласуется с предыдущими оценками.

ВЫВОДЫ

Итак, конечный результат: да, нарушения на выборах были, явка завышена на 2%, доля голосов за ЕР - тоже завышена на 2%. И мне все-таки кажется, что это не совсем согласуется с заявлением, что выборы тотально сфальсифицированы.

UPDATE

В данном посте были замечены серьезные ошибки, см. следующий пост.