[問卦] 有沒有民調劉伯溫的八卦?

作者: papple23g (逆道者)   2022-08-29 00:49:34
大家好
最近我在逛板上的文章時,推文的一張圖引起了我的注意:
http://i.imgur.com/zV767bw.jpg
我就想到,通常選舉一結束,大家就鳥獸散,很少有人會回憶哪一家的民調做得比較準確
但是數據就公開在那裏,只要用對的方式進行分析,應該就能立馬分出高下
甚至透過這些資料,我們還能知道:那些民調和選舉結果差距頗大的媒體,通常會高估了
哪一個政黨色彩的候選人?
想到這裡,我的數據魂又燃燒了起來
首先,為了建立合理的標準來衡量民調的準確度
我們先從簡單的案例看起:
【案例一】
A、B 兩位候選人在某次選舉中的得票率分別為 40%、50% (有 10% 廢票)
而在這個選舉之前
甲單位的民調結果是 30%、40% (30% 未表態)
乙單位的民調結果是 34%、45% (21% 未表態)
請問,甲乙兩家誰的民調比較準?
你會說,簡單,先忽略掉未表態和棄票的,把A除以B,再一起比對數值不就好了?
選舉結果: A/B = 40/50 = 0.8
甲民調: A/B = 30/40 = 0.75
乙民調: A/B = 34/45 = 0.755...
看來乙民調更接近選舉結果,故乙民調勝出
很棒,完美,一百分
可是,如果變成三個候選人參選的情況呢?
請看示例:
【案例二】
A、B、C 三位候選人進行選舉
選舉結果: 20%、30%、40% (10% 廢票)
甲民調: 25%、29%、33% (13% 未表態)
乙民調: 10%、19%、22% (49% 未表態)
現在很難看出哪一家比較準了,因為我們不知道到底要用誰除以誰來進行比較
沒關係,既然問題變成三維的,那我們就用三維的方式去解決它
如果把各候選人 (A, B, C) 的有效票畫成「向量」,我們可以得到這張 3D 繪圖
https://i.imgur.com/tLbXjUy.gif
可以看到,雖然乙民調(黃色)的向量比較短(有效票很少),但是它指向的方向和選舉結果
很接近
https://i.imgur.com/PwnrMGH.png
可以斷言的是,民調向量和選舉結果向量的夾角越小,就代表它的民調越接近真實結果
為什麼呢?
還記得新聞喜歡拿「章魚里」來預測大選結果嗎?
章魚里的人數雖然很少,但是可以比擬為全國投票狀態的縮影
但如果把章魚里的投票數向量畫上去,那麼它(理想上)會和大選的向量會完全重疊在一
起!
這種使用向量夾角來量化相似度的方式,叫做「餘弦相似度」
公式可以寫成這個樣子:
https://i.imgur.com/BYJHAtT.png
這個公式只會產生 -1~1 的數值範圍
如果兩個向量剛好完全重疊,得到的結果會等於 1 (即預測與選舉結果完全一致)
反之,如果算出來是 -1,那代表它的預測是完美的反指標 XD
只不過目前的情況,支持率的數字都是正數,所以不可能會出現負的數值
最差的預測結果也只會是兩個向量互相垂直 (即數值等於 0 )
於是,我們可以利用這個「與選舉結果向量的餘弦相似度」
拿來作為「民調準確度」的指標 (範圍: 0~1 分)
現在,我們用公式把上面兩個案例重新算一遍:
【案例一】
甲民調準確度: 0.999512..
乙民調準確度: 0.999616..
(乙民調勝出)
【案例二】
甲民調準確度: 0.988229..
乙民調準確度: 0.996710..
(乙民調勝出)
得證,乙做的民調單位比甲更準確~
熱身完之後,當然開始拿真實數據開刀啦!
首先我從 2020 的總統大選開始下手
維基百科上面都可以找到當時各家媒體的選前民調
於是我直接把資料爬下來,粗暴地計算一番:
https://i.imgur.com/B0hVoh7.png
(註1: 同一家單位可能在不同時間做了多次民調,我只擷取準確度最好的那一次)
(註2: 民調百分比皆已排除未表態數據並做歸一化處理)
哦~ 原來第一名是TVBS阿 (思)
雖然結果出爐了,但我還不滿於此
我想,如果能把每個民調單位用剛剛的 3D 畫出來,做出全局的分布圖,那樣不是很猛
嗎?
只恐怕畫面看起來會很凌亂,而且 3D 圖需要像上面那樣不停轉動才能看出全貌,如果我
底下貼一堆旋轉的 3D 圖,大家不就看得頭昏眼花了嗎?
幸好我找到了一種很棒的繪圖方式,叫做「三元相圖(ternary diagram)」
舉例來說,2020總統大選的選舉結果,可以落在三元相圖中的這個點上面:
https://i.imgur.com/kkuaVh0.png
基本上你可以這麼理解:
「落點越靠近誰的頂點,就越傾向誰會當選」
三元相圖還有一個重要的特色是,無論你點在三角形中的哪一點,三人的數據總合起來都
會是 1 (即100%)
這非常適合拿來繪製有三個候選人的選舉得票率佔比
現在我們把各家民調也畫在這張圖上面試試!
https://i.imgur.com/zg14DY6.png
好像太擠了,我把圖片放大一點:
https://i.imgur.com/BygGKMu.png
可以看到,TVBS的民調確實最接近選舉結果
除此之外,我們還可以怎麼解析這張圖呢?
根據「越靠近誰的頂點,就越傾向誰會當選」的原則
如果畫一條通過選舉結果點的水平線,它就能辨別該民調單位是高估還是低估了蔡的得票
率:
https://i.imgur.com/6lYWaCD.png
(自由時報...還真是正常發揮阿 XD)
如果切另一個角度,也可以看到民調對韓得票率的高估和低估程度:
https://i.imgur.com/LeK1wfE.png
基本上民調普遍低估了韓的得票率,而這其實是有跡可循的
因為韓陣營當時的選舉策略是,遇到民調一律回答「唯一支持蔡英文」,藉以擾亂民調,
避免打擊支持者的信心
然而在這種背景下,TVBS還是做出了離選舉結果相近的民調,實在不簡單
至於老宋的角度,也可以看出所有民調都高估了宋的得票率,即俗話說的藍綠歸隊,這個
我就不畫漸層圖了,畫這個很累= =
另外,為了讓數據更客觀,圖上圈圈的大小也顯示了調查當下離選舉的日期差距,畢竟天
數差距太大的話,民調不準也是無可厚非
以上是候選人數是三個人時的繪圖方式
至於候選人數是兩個人的情況就比較簡單了
以 2018 新北市選舉侯友誼 vs 蘇貞昌 為例,繪圖如下:
https://i.imgur.com/jn0JH2v.png
X 軸基本上只要選擇其中一個候選人的得票率即可 (我使用的是 蘇/(侯+蘇) 得票佔比)
注意數據已經過局部放大處理,當時是侯勝選,只是 Zoom in 後選舉結果看起來偏右
而 Y 軸放啥都沒差,我就拿來放民調準確度了
由於公式計算的關係,民調看起來會是「類拋物線」的分布
這裡的虛線同樣也可以區分民調的偏差程度:
https://i.imgur.com/SZhYN8i.png
只能說,靠向右邊的民調單位,確實台灣價值高到不行
哦? 這次自由比TVBS更準了一點,難道自由還是很有料的嗎?
沒關係,等等我會把近年各屆的選舉民調拿出來一次做統計,選出真正的民調劉伯溫!
相信各位現在已經學會如何看圖了
接下來就公布 2012 以來的總統選舉 + 2018年直轄市市長選舉 的各家民調偏差分析結果

https://i.imgur.com/Fp5YVS2.png
https://i.imgur.com/zrYfxZL.png
https://i.imgur.com/Io5oMKO.png
https://i.imgur.com/HqLnE8j.png
https://i.imgur.com/HLQYPFq.png
https://i.imgur.com/wD1iK81.png
https://i.imgur.com/LrNsQgy.png
https://i.imgur.com/70jzCCG.png
https://i.imgur.com/C2GrEXj.png
繼續閱讀

Links booklink

Contact Us: admin [ a t ] ucptt.com