2008年9月28日星期日

呷一口凍啡,配一張選票

選舉結果,塵埃落定。政治一天也嫌長,立法會選舉過了三個禮拜,雖然會期仍未開始,但大家對這次選舉已經興趣缺缺,不過碰巧電鋸兄有話說,我也有些先前不方便講的說話未講完,這裏便多做一個註腳。

半月前我寫了篇吹水文章《N 個人,N 種分析》,本來也想月旦一番刊在《凍啡走甜》blog 的 Fooled by Randomness ,但眼見博主 Justin 小友初出茅廬,未必像李先知、陳電鋸或梁博士那樣成熟,思前想後,怕傷害了他一番熱情,便保持緘默。最近見他續寫《也許是自打咀巴》和《不是自打咀巴》兩文,Justin 跟他的朋友仔熱烈討論,再次引起我的興趣。話題是一個早前相當流行但未經證實的說法,相當值得一談。

這個論題就是「泛民的支持者由於自行配票,所以令泛民在兩個新界選區得票較平均,結果取得較多議席」。它於選後數天十分流行,不過所謂「自行配票」的意思人言人殊,而 Justin 在他的 Fooled by Randomness 中所指的,就是泛民在新界區的勝績,乃由對各泛民名單無特別偏好的選民隨機投票所造成。然而 Justin 發文後,他的朋友私下告訴他,如果選民真的是隨機投票的話,根本不大可能出現現在的投票結果,於是 Justin 便寫了後續的兩篇文章更正[1],可是討論延長了,各人反而忘了本來的命題。

(不問自取的)圖片來源VictorLiu

這個「自行配票」的論調其實分兩部份:
A) 現在看到的投票結果是由對泛民各名單同樣擁戴的支持者隨機投票所造成。
B) 今次選舉,泛民支持者平均隨機投票令泛民陣營更有利。

首先看命題 A。

在新界東,劉江華名單憑 102434 票得到無法動搖的兩席、田北俊得 28875 票落選、龐愛蘭得 20455 票落選,泛民的劉慧卿 (33205)、湯家驊 (39957)、鄭家富 (41931)、黃成智 (44174) 及梁國雄 (44763) 名單各取一席。泛民五張名單共得 204030 票,平均每張得 40806 票。

如果一名泛民支持者並無特別偏好,而麼她/他把票投給劉慧卿名單的機會率為 1/5,投給另外四張泛民名單之一的機會率為 4/5 ,呈現一個參數 p=1/5 的伯努利分佈 (Bernoulli distribution),而此分佈的方差 (variance) 為 p(1-p)。因此,根據統計學上的中央定理 (Central Limit Theorem, CLT[2]),當投票總數 n 足夠大的時候,劉慧卿名單在泛民票中的得票率 X 大約會遵從常態分佈 (normal distribution) ,經過一些加減乘除之後,隨機變數

Z = (X-p) / sqrt[p*(1-p)/n]

大致上將呈標準常態分佈 (standard normal distribution)。現在 n=204030, p=1/5, X=33205.5/n,由此得 Z=-42.07。如果 Z 只是偏離中心點三個標準差的話,機會率有 0.27%,平均每 370 次同樣選舉便可看到一次;偏離六個標準差或以上的話,機會率有 0.0000002%,平均要五億次同樣選舉才可看到一次;現在 Z 偏離中心點達四十二個標準差,竟然也給我們碰見,除非你相信香港人超級好狗運,否則應該相信這次新界東的選舉結果並非由無偏好的泛民支持者隨機亂投所造成
[3]


新界西的情況也一樣,譚耀宗名單 (92037) 得兩席、王國興 (35991) 得一席、周梁淑怡 (21570) 、張賢登 (10069) 與張超雄 (27910) 落選、陳偉業 (32182)、何俊仁 (36764)、李卓人 (42366)、梁耀忠 (42441) 及李永達 (45767) 各得一席。後面七張泛民參選名單共得 237499 票。代入 n=237499, p=1/7, X=10069.5/n,得 Z=-140,比新界東的 Z 值還要天方夜談。即使不計張賢登,也有 n=227430, p=1/6, X=27910.5/n 及 Z=-56.23,難以想像是平均隨機投票的結果。

結論 I:命題 A 是錯的,泛民支持者並無平均隨機投票。我們看見貌似平均的投票結果,其實在統計角度一點也不平均。由於中央定理的作用,當票數足夠多的時候(像這裏有關名單的名單得票數以萬計),如果泛民支持者真的平均隨機投票的話,各名單的得票應該相當接近,相差大概在幾千票以內,而不該相差近萬甚至過萬票。
也許是自打咀巴》一文糾纏在命題 A 的結果,是忘了原來的話題還有 B 部份。我們現在檢視一下命題 B。在新界東,如何非泛民的投票情況沒變的話,那麼除非泛民其中一張名單得票少於田北俊的 28875 票,否則局面並不會改變。然而前述的討論顯示,現在的投票結果其實已沒有隨機亂投那麼平均。要是泛民支持者真的隨機亂投的話,五張泛民名單的得票只會更平均,而不會令泛民丟失議席。

新界西的情況比較有趣。七張泛民名單共得 237499 票,平均每張得 33928 票,比工聯會王國興的 35991 票少。如果要擊敗王國興而取得六席,其中六張泛民名單每張最少要取得 35992 票,也就是說餘下的那張名單最多只能取得 237499 - 6*35992 = 21547 票。代入 n=237499, p=1/7, X=21547.5/n,得 Z=-72.6。所以七張泛民名單中的任何六張得票多於王國興名單的機會頂多是 7*Pr(Z < -72.6),實際上等於零。換句話說,在新界西,所謂選民「自行配票」根本不能給泛民任何好處,反過來,如果泛民陣營聯合呼籲選民放棄其中一張泛民參選名單(如張賢登名單),或由其中一張泛民名單退選,餘下的六張泛民名單便平均得 39583 票,比王國興高出很多,這樣泛民陣營多取一席的機會就大了許多。從這個角度看,所謂選民「自行配票」,把選票平均分佈在七張泛民名單之上,只會製造遊兵,對泛民不利。

結論 II:今次命題 B 在新界東是對的,如果泛民支持者平均隨機亂投的話,將對泛民陣營更有保障,但不能為他們帶來額外議席,所以平均隨機投票的作用並不是想像中那麼大。而且諷刺地,雖然在此處平均隨機亂投有利泛民,但如命題 A 的討論所示,泛民的支持者根本沒有這麼做。


在新界西,命題 B 是錯的。若泛民支持者這次平均隨機亂投的話,只會令泛民陣營失去多取一席的契機。

平均隨機亂投是否有利泛民陣營,其實取決於泛民跟對手的參選名單組合、各自的支持率等各項因素,不能一概而論。大家不應高估它的影響和它的可操作性。

當然,此處只把「選民自行配票」解作平均隨機投票,若作其它解法的話,我不敢保證「選民自行配票」對今次立法會選舉必定毫無作用,只是如在下先前在《大符碌日》所說,在未有科學化的證據(和恰當的定義)之前,我還是覺得這個作用是個「看到自己想看的」錯覺居多。

最後讓我一提, Justin 小友雖然搞錯了一些計算方法,但其研究精神實在可嘉。他想到用實際計算去分析「選民自行配票」論,觸覺很好,在下深感佩服。看來 Justin 小友大有機會成為第二把電鋸呢。


[1] Justin 嘗試在《也許是自打咀巴》一文中更正他的錯誤,但他的更正本身也是錯的。作者把 k 票投給 n 張名單當作是把 k 個沒記認的球投進 n 個有記認的甕的傳統 urns-and-balls problem,這個想法並不對。試想有三票 a, b, c 投給兩張名單,那樣結果有八個:(abc, none), (ab, c), (ac, b), (bc, a), (a, bc), (b, ac), (c, ab), (none, abc),所以有人三票全取的機會為 1/4。可是,若把投票視為 urns-and-balls problem 的話,結果只有四個:(3,0), (2,1), (1,2), (0,3),有人三票全取的組合佔 1/2。

[2] CLT 一般被譯作「中央極限定理」,可是定理的重點卻不是甚麼在中央的極限值,而是說重複大量互相獨立的隨機實驗的話,所有實驗的平均結果應逼近常態分佈。Central Limit Theorem 的 Central,意指這個定理在早期的統計學中佔中心地位,所以乾脆去掉「極限」
二字,譯為「中央定理」較妥當。附帶一提,normal distribution 亦應譯為「常態分佈」而非「正態分佈」,常態是常常見到的形態,常見的東西卻未必正常。


[3] 有一位於《也許是自打咀巴》 留言的朋友也指出這個事實,不過她/他混淆了 CLT 在 Bernoulli distribution 的應用跟 Binomial distribution 的常態逼近,因而錯把 sqrt[p(1-p)/n] 寫成 sqrt[np(1-p)],並大大高估了劉慧卿名單得票偏離泛民平均數的機會率。

3 則留言:

Unknown 說...

>>因而錯把 sqrt[p(1-p)/n] 寫成 sqrt[np(1-p)]

其實佢冇錯,佢只係o係分子部份個p度乘漏o左個n
即係話佢其實係想講 Z = (X-np)/sqrt(np(1-p)],你化一化呢條式就會發覺同你o個條 Z = (X-p)/sqrt(p(1-p)/n)係一樣

Unknown 說...

漏o左冇講.....
當然,o係呢個case裏面佢對X ge定義係指票數本身,而你對X ge定義係指票數所佔ge百分比 (因為你話X係票數除以n)
所以唔同定義就會有唔同ge用法同結果

The suffocated 說...

謝謝指正!是我搞錯了,現已更正。