Есть вопросы? info@skydigital.pro

Моделирование результатов выборов президента Российской Федерации в 2018 г.

на основе математической модели индекса
"политической активности"

Мы построили и построили и обучили нейронную сеть для определения политических взглядов пользователей социальной сети ВКонтакте.
Наша нейросеть рассчитала «индекс политической активности» для репрезентативной выборки избирателей из ряда городов Российской Федерации.

На основании этих расчетов мы получили математический аппарат для моделирования электоральной картины и результатов выборов.

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

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

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

Комментарии

Мы построили и обучили математическую модель для определения политических взглядов пользователей социальной сети ВКонтакте.

Модель анализирует страницу пользователя, изучает его интересы и увлечения.
В итоге этому пользователю присваивается индекс между 0 и 1.
Мы назвали это «индексом политической активности», либо «индексом политической осознанности».

Значение ближе к 0 показывает приверженность к консервативным взглядам, ближе 1 - к либеральным.
Значение ближе к середине означают политическую пассивность, отсутствие выраженных политических взглядов. (Реальная точка разделения между либералами и консерваторами не 0.5, а 0.583. Это обусловлено спецификой модели.)

Людей со значением индекса меньше 0.25 и больше 0.75 (красные вертикальные пунктирные линии на графике внизу) можно уже назвать "активистами". Они не скрывают своих взглядов и даже подчеркивают их.

Пример: активист-консерватор, индекс 0.03 активист-либерал, индекс 0.94

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


Другое представление. Индекс расположен вдоль оси Y. Вдоль оси Х процентное соотношение консерваторов и либералов. Разделение между либералами и консерваторами проходит по значению индекса 0.583

Характеристики модели

95%

Точность предсказания

политических взглядов пользователей

968 000

Количество примеров

на которых была обучена наша математическая модель

12 443

Количество параметров

которые модель учитывает при принятии решения

Принципы работы

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


На чем обучалась модель

Для обучения модели была создана выборка из одного миллиона пользователей ВКонтакте - подписчиков групп сторонников текущей власти и сторонников политика Алексея Навального.

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

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

Оценка качества модели

Для проверки модели на «переобучение» был использован стандартный метод кросс-валидации (метод перекрестной проверки). Обучающая выборка была случайным образом разделена на 10 непересекающихся подмножеств. На девяти модель обучалась, десятая - контрольная.
На контрольной сравнивалось расчетное значение с исходным.

Для оценки точности предсказания нашей модели мы взяли, обычно применяемый для оценки качества бинарной классификации, параметр AUC (area under the receiver-operating characteristic curve coefficient).

Для визуализации качества модели представлены графики ROC кривой и график плотности позитивных/негативных предсказаний в зависимости от значения порога отсечения («Сutoff»). Последний график позволяет оценить, насколько модель хорошо различает классы.

Видим, что графики практически хрестоматийно идеальны.
Левый график (ROC) сильно выгнут, а у правого графика максимумы позитивных (1 - красного цвета) и негативных (0 - зеленого цвета) решений максимально разнесены по оси Х.
Оба графика подтверждают высокое качество модели.

Результаты оценки

В итоге, при кросс-валидации, модель показала точность предсказания (AUC) 95%
(Реальная точность 0.9504812)

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

Связь индекса политической активности и явки избирателей

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

Вовлеченность в политическую жизнь, а следовательно, и вероятность явки на выборы показывает разработанный нами индекс «политической активности».
Люди со значением индекса близким к «1» (активные либералы) или «0» (активные консерваторы) с большей вероятностью пойдут на выборы, чем люди с индексом «0.5» (т.е. не имеющие явных политических предпочтений).

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

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

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



Рассмотрим несколько сценариев. Все эти сценарии можно протестировать в нашей модели.



Сценарий №1

Вялотекущая избирательная кампания, как вариант, "сушка явки" (например, муниципальные выборы в Москве 2017). На выборы приходят только сверхактивные фанаты с индексом в промежутках 0-0.25 (активные консерваторы) и 0.75-1 (активные либералы). Люди с индексом 0.25-0.75 останутся дома.


Положение ползунков явки в веб-интерфейсе нашей модели при сценарии №1

Расчетная явка при таком сценарии: ~14%. Кстати, расчетная явка совпадает с реальной. (доказательства)



Сценарий №2

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


Положение ползунков явки в веб-интерфейсе нашей модели при сценарии№2.
Явка даже пассивных избирателей (индекс 0.583)

Расчетная явка при таком сценарии: ~95%.



Сценарий №3

Реальный кандидат от либералов на выборах не представлен. Явка консерваторов высокая (но не максимальная). Явка оппозиционеров (либералов) низкая. Либеральные активисты (индекс >0.75) сознательно поддерживают бойкот, малоактивные просто не приходят, ибо лень, да и зачем?


Положение ползунков явки в веб-интерфейсе нашей модели при сценарии №3

Расчетная явка при таком сценарии: ~55%.



Сценарий №4

Попробуйте сами подвигать ползунки :)

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

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

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

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

Предвосхищая многочисленные вопросы: мы не стали глубже детализировать группы по их политическим взглядам.
Модель не различает «ностальгирующих по СССР», «новых коммунистов», «националистов», «христианских демократов» и «левых зеленых». В текущей политической ситуации это не принципиально. Все перечисленные взгляды, так или иначе, относятся к условным «либералам» или «консерваторам».

Кто решает исход выборов?

Прелесть нашего «индекса политической активности» заключается еще и в том, что можно количественно оценить, насколько человек за или против того или иного политического мировоззрения, и следовательно, кандидата (партии).

Важный момент. Как хорошо видно из графика - вся основная масса избирателей сосредоточена в центре графика.

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

Это же и делает всю систему очень неустойчивой. Решение голосовать за одного или другого находится в пограничном состоянии.

Для анализа электоральной картины в отдельном городе мы делаем репрезентативную выборку профайлов пользователей социальной сети ВКонтакте для этого города.
Для этого мы исследуем 2 тысячи мужских и 2 тысячи женских анкет на каждый год рождения старше 18 лет.
Это получается порядка 150-200 тысяч анкет для одного города.

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

Для максимальной точности предсказаний, наша выборка синхронизируется с демографическим профилем населения (на графике внизу), согласно последней переписи населения РФ.
Мы учитываем смещение данного профиля на 8 лет с момента переписи.

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

В связи с этим, для некоторых малых городов мы предоставляем две выборки - с наложенным демографическим профилем, и без него (все полученные данные).
Графики внизу помогут понять, как это выглядит. В выпадающем меню города без наложенного профиля помечены в скобках "без демографии".


г. Шуя. Население 58 тыс. чел. Видно, чтобы получить "правильный" демографический профиль приходится отбрасывать 90% наблюдений.