0
<< предыдущая заметкаследующая заметка >>
13 декабря 2011
Про Гаусса и пропагандосов-разоблачителей

Друг рассказывал, как в офис одного крупного блогосервиса однажды пришли чиста для переговоров такие серьезные братки из прошлого — с лицами каменных троллей, в наколках и кожанках. Они уселись за стол переговоров, набычились, и главный хрипло произнес: «Как сделать, чтобы про нашу фирму в интернете не писали гадостей? Деньги есть.» Начальник рекламного отдела тогда не смог им ничем помочь, и братки расстроенные ушли.

Но прошло всего лет пять, и оказалось, что ответ на вопрос, как сделать, чтобы в интернете перестали писать гадости, есть. И ответ достаточно простой. Конечно, запретить людям писать в интернете то, что они думают, по-прежнему невозможно. Зато можно замусорить интернет контргадостями, гадостями в адрес пишущих гадости и встречными разоблачениями — до той степени, пока простой пользователь не потеряется в этом потоке, решив, что ложь со всех сторон. Как доказать в интернете, что дважды два пять? Надо сделать большую кампанию в блогосфере, опубликовать кучу убедительных материалов с умными словами и красивыми графиками о том, что дважды два — шесть, семь, десять, но никак не четыре. Когда простой человек в десятый раз столкнется с «опровержением», он начнет сомневаться, и в итоге придет к выводу, что истина где-то посередине, наверно все-таки скорее пять...

За последнюю неделю, хоть я и отключил каменты, мне пришло множество писем от разных людей с просьбой, чтобы я публично извинился перед «Единой Россией» и своими читателями за графики Гаусса, которые я публиковал. Потому что... оказывается, их опровергли!

В этом нет ничего удивительного — запрос на «опровержение» Гаусса ради блага нашей лучшей в мире страны витал в воздухе с самого начала, но полторы недели понадобилось сурковским пропагандистам, чтобы постичь проблему и наметить, как с ней бороться в сетях.

Я прочитал несколько пропагандистских материалов такого рода — они все строятся по схеме, ставшей уже привычной в нашей контрпропаганде. Помните, когда освистали Путина на стадионе, и потом начали появляться опровержения:
1) Свиста не было вообще.
2) Свистели, но не Путину.
3) Путину, но не свистели, а радовались.

По такой же схеме работают наши пропагандисты (и простые доброжелатели) по графикам Гаусса. Они доказывают одновременно, что:
1) Изобличительный график Гаусса построен по ложным данным.
2) Он такой и должен быть, если дело касается именно линии «Единой России».
3) График Гаусса вообще неприменим к выборам.

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

Надо сказать, что в этих набросах есть одно здравое зерно, касающееся «пиков». Вообще пики на графике лично меня изначально вообще интересовали мало — они не относятся к закону Гаусса. Но для людей, не понимающих математики, они оказались единственным понятным элементом на графике.

Но перейдем к делу. Оказывается, пики — это вообще свойство распределения в таких условиях. Я повторил модель, описанную у разоблачителей. Написал простой скриптик, делающий картинку с графиком. Все последующие картинки в этом посте сделаны им:

<?php
$Width=1000; $Height=500; // размер картинки

$img=imagecreatetruecolor($Width,$Height); // создать картинку
$bg=imagecolorallocate($img,255,255,255); imagefill($img,0,0,$bg); // закрасить белым
$grid=imagecolorallocate($img,225,205,249); imagesetstyle($img,array($bg,$grid));
imagegrid($img,$Width,$Height,10,IMG_COLOR_STYLED); // разлиновать в клеточку с шагом 10
$grid=imagecolorallocate($img,225,105,149); imagesetstyle($img,array($bg,$grid));
imagegrid($img,$Width,$Height,100,IMG_COLOR_STYLED); // разлиновать в клеточку с шагом 100
$color=imagecolorallocate($img,150,10,160); // цвет графика выбрать фиолетовый

$N=690; // Количество избирателей на каждом участке 69 или 690

$r=array(); for($i=0;$i<10000;$i++) { // Возьмем 10000 участков
$Y=floor(rand(1,$N)); // общее количество бюллетеней (явка от 1 до N)
$X=floor(rand(0,$Y)); // число голосов за ЕР
$XY=floor(($X/$Y)*1000); $r[$XY]++; // процент голосовавших за ЕР (100% с шагом 0.1%):
}

for($x=0;$x<$Width;$x++) imageline($img,$x,$Height,$x,$Height-$r[$x],$color); // нарисовать
header("Content-type: image/png"); imagepng($img); imagedestroy($img); exit; // отдать картинку

function imagegrid($img,$w,$h,$s,$color) { // разлиновать в клеточку
for($iw=1;$iw<$w/$s;$iw++){imageline($img,$iw*$s,0,$iw*$s,$h,$color);}
for($ih=1;$ih<$h/$s;$ih++){imageline($img,0,$ih*$s,$w,$ih*$s,$color);}
}
?>

И получил такой график:

Действительно, если на неких «избирательных участках» случайное количество избирателей Y от 1 до N, и число «проголосовавших за ЕР» тоже случайное от 0 до Y, то распределение процента проголосовавших в силу математических причин будет давать не лохматую линию, а пики на круглых значениях, например на 50% — просто потому что дробь 1/2 встречается чаще. Правда, не всё так просто: в контрпропаганде не случайно берется число «69 избирателей» на участке. Потому что если взять, например, 690, то такой красоты уже не будет, будет хаос. В котором пик на 50% все равно прослеживается:

Итак, пики есть и должны быть. Однако все это не имеет вообще никакого отношения к Гауссу и никак не может объяснить главного: куда делся колокол у одной лишь партии «Единая Россия» — вопреки всем остальным партиям и мировому опыту выборов в других странах. На этот вопрос ответа нет. Одни авторы «разоблачений» честно пишут, что они не знают, как объяснить этот хвост. Другие пытаются убедить хомячков, что выборы законам Гаусса подчиняться не должны (по крайней мере, график ЕР). Третьи рассказывают сказки про «большую территорию страны» и «разнородность», демонстрируя незнание теории Гаусса и никак не объясняя, почему один участок в Ясенево дает по ЕР 30%, а соседний 75% (по всем остальным партиям оба дают схожие цифры) — это разнородность и география?

Ну и конечно никакое «разоблачение» не способно объяснить, почему один мой друг был наблюдателем и своими глазами видел вброс за ЕР, а другой мой друг проголосовал на своем участке за «Яблоко», а позже в статистике обнаружил, что за «Яблоко» проголосовало на его участке 0, зато за ЕР 78%. И у каждого по стране найдется пара таких же примеров.

Поэтому чтобы окончательно закрыть вопрос и послать всех провокаторов, мы сейчас с вами проведем моделирование рыжего хвоста. А то начинается: я, мол, ниипацо круто математик, написал «ОПРОВЕРЖЕНИЕ популярного заблуждения», всё опроверг в пух и прах, а вот откуда взялся хвост — не знаю, это «единственная странность, которую не могу объяснить»... А хрен ли тогда воду мутить? Хвост именно оттуда и взялся, это не «единственная странность», а фатальная. И на «графиках из Великобритании», какими бы корявыми они ни были построены, никакого хвоста до упора нету, так что укорить ими не вышло. Сейчас мы посмотрим, что такое хвост и как он получается.


МОДЕЛИРОВАНИЕ ВБРОСА

Вспомним, как работает распределение Гаусса. Оно работает, когда результат обусловлен суммой множества самых разных факторов. Чем больше факторов — тем выраженней колокол Гаусса. Допустим, в некой стране за некую партию власти голосует ровно половина избирателей $X=$Y/2. Но на каждом избирательном участке действуют два дополнительных случайных фактора, которые смещают этот результат. Предположим, что активная реклама партии власти в этом районе случайным образом увеличивает число голосующих до 5% (от 0 до 1/20), а очевидная запущенность жилищно-бытовых условий, видимая простым глазом в перерывах между просмотром ТВ, — уменьшает до 5%.

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

$X=floor( ($Y/2) +rand(0,$Y/20) -rand(0,$Y/20) );

Для незнакомых с PHP: floor — округлить, rand(0,a) — взять случайное число в промежутке от 0 до a. Гауссиана выглядит так:

Чудненько. Добавим еще немножко случайных факторов (каких именно — придумайте сами):

$X=floor( ($Y/2) +rand(0,$Y/20) -rand(0,$Y/20) +rand(0,$Y/20) -rand(0,$Y/20) +rand(0,$Y/20) -rand(0,$Y/20) );

Чем больше случайных факторов (а в реальной жизни их бесчисленное множество), тем больше гауссиана похожа на колокол:

Ну а теперь смоделируем ВБРОС. Допустим, на каждом из участков вброшено от 0 (участок честный) до 15% дополнительных бюллетеней (так, по-скромненькому). Допишем строчкой ниже модель вброса:

$X = $X + floor(rand(0,($N/100)*15)); // вброс от 0 до 15%

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

Узнали, да? Ещё раз вспомним график ЕР:

Все ясно? Вопросы есть? Исходничек в 20 строк выложен? Кто хочет поиграться сам — вперед, выкладывайте его на свой хостинг, открывайте браузером и играйтесь с параметрами.

И если кто-то мне еще раз отправит письмо со ссылкой на очередное «разоблачение Гаусса» — пусть пойдет звонким шагом natribu.org У меня нет больше времени на ваш информационный шум, великие разоблачители, доблестные опровергаторы вековых законов математики и того повсеместного стыдобища, которое невооруженным глазом наблюдают люди нашей страны каждый день без всяких графиков.

PS: Разумеется, я получил за этот пост от американского Госдепа 100 чемоданов денег и особняк на пересечении Пикадилли. А мой сайт был создан за 15 лет до сегодняшнего дня, чтобы успеть подготовить цветную революцию в нашем лучшем в мире государстве.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок

Комментарии к этой заметке сейчас отключены, надеюсь на понимание.