看板 Gossiping
作者 papple23g (逆道者)
標題 [問卦] 有沒有民調劉伯溫的八卦?
時間 Mon Aug 29 00:49:34 2022




大家好


最近我在逛板上的文章時,推文的一張圖引起了我的注意:
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
[圖]
 
[圖]
 
[圖]
 
[圖]
 
[圖]
 
[圖]
 
[圖]
 
[圖]
 
[圖]

上面能分析的地方實在太多了,但是我政治分析起來也沒大家厲害,就不在這獻醜了



最後,來看看誰才是民調劉伯溫:
https://i.imgur.com/LdVwygY.png
[圖]

恩 我知道 樣本數真的少得可憐 囧 一次選舉只能有一個樣本數 這沒辦法

會弄一個中位數排行是因為,2018 台南市長選舉那次拉低了不少民調單位的平均值

所以才想用中位數的表現來排除失準的民調

從結果來看,中位數排行的前三名是: 全國公信力、世新大學、TVBS

如果你比較想看平均民調實力的話,前三名則是: 國民黨、世新大學、全國意向

其中我覺得最猛的是世新大學,做了6次的民調依然有相當高的平均值,兩個排行都進了
前三

就我個人而言,我願稱它為民調劉伯溫 o'_'o



如果你想查看其他縣市的選舉民調分析,或者想看大圖,這裡提供程式碼給大家參考:
https://github.com/papple23g/taiwan-election-polls-liu-bo-Wen
GitHub - papple23g/taiwan-election-polls-liu-bo-Wen: 台灣選舉民調劉伯溫
[圖]
台灣選舉民調劉伯溫. Contribute to papple23g/taiwan-election-polls-liu-bo-Wen development by creating an account on GitHub. ...

 



感謝大家的觀看~


--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.107.235 (臺灣)
※ 文章代碼(AID): #1Z2voXH- (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1661705377.A.47E.html
koromo1991: 太長 吐了1F 42.72.22.191 台灣 08/29 00:51
HamalAri: 建議看一下 precision, recall, f1 score2F 220.141.59.233 台灣 08/29 00:59
molsmopuim: 你民調系?4F 180.217.140.152 台灣 08/29 01:00
byguy321: 推5F 101.9.136.54 台灣 08/29 01:01
gowang19: 推 認真文6F 61.62.78.179 台灣 08/29 01:02
HamalAri: 選 cosine similarity 有什麼理由嗎?
比如為什麼不能用 cross entropy7F 220.141.59.233 台灣 08/29 01:02
sanshin: 三笠好威9F 1.175.156.74 台灣 08/29 01:03
norder: 推 認真10F 114.46.211.244 台灣 08/29 01:12
ieyfung: 有料 推11F 106.64.177.44 台灣 08/29 01:12
superpaden: 太有料了吧12F 140.119.135.119 台灣 08/29 01:12
a8330028: 你論文系? 要不要幫小智打工?
可悲的是裡面好像已經沒有藍媒or中立了13F 111.248.22.6 台灣 08/29 01:14
mnyan0503: 推 好認真15F 123.240.52.98 台灣 08/29 01:22
wokou: 長知識了 辛苦也謝謝你了16F 123.192.91.62 台灣 08/29 01:50
XRIX: 有料17F 101.10.94.254 台灣 08/29 01:50
zzzzzzzzzzzy: 你是人才 真的18F 36.233.26.55 台灣 08/29 01:56
ruokcnn: 超好文 大大推19F 223.137.28.239 台灣 08/29 01:58
thomaspig: 推20F 116.59.69.1 台灣 08/29 01:58
kps1247: 謝謝老師21F 1.163.18.51 台灣 08/29 01:59
zxc6975197: 推優文22F 27.53.145.79 台灣 08/29 02:09
cyuan0301: 厲害23F 42.77.71.154 台灣 08/29 02:09
jasonhsu612: 好文推,收穫良多24F 42.79.158.144 台灣 08/29 02:11
charlly: 侯腮雷25F 39.8.40.182 台灣 08/29 02:12
ronald0000: 推26F 220.132.13.35 台灣 08/29 02:16
irisyu0305: 優文推27F 123.192.234.143 台灣 08/29 02:17
fhscyt: 民調系宗師!!!28F 27.247.67.6 台灣 08/29 02:23
davi0621: 民調大師29F 219.71.191.79 台灣 08/29 02:26
a6444long: 你民調系?30F 220.137.166.225 台灣 08/29 02:28
andy878797: 推 雖然是專業文 但我閱讀時可以感受到樂趣31F 61.230.22.28 台灣 08/29 02:29
shadowdio: 開水肥車33F 111.254.207.59 台灣 08/29 02:32
ZhouGongJin: 好的,泥明天去數位部報到34F 42.76.178.3 台灣 08/29 02:33
stvn2567: 好像幾乎都是覺醒戰神口中指控的深藍民調
(上榜的那些35F 123.194.161.20 台灣 08/29 02:35
lkjhgfdsazxc: 認真推~38F 123.193.4.87 台灣 08/29 02:43
ttknight: 治監: 早說 怎麼不早說39F 24.4.171.137 美國 08/29 02:43
s880st: 專業優文¥40F 61.224.16.138 台灣 08/29 02:45
wind: 有趣,厲害,感謝。41F 1.200.11.224 台灣 08/29 02:49
DarkerDuck: 民調系優文42F 36.237.158.177 台灣 08/29 02:50
Asato163: 優文推43F 114.37.102.232 台灣 08/29 02:56
stlinman: 內容很有趣。是不是想應徵數位部?44F 150.116.129.113 台灣 08/29 02:59
dtft003: 多元宇宙科科長45F 223.138.165.16 台灣 08/29 03:05
Ethan23131: 強~~46F 101.12.41.5 台灣 08/29 03:09
ginsengwolf: 沒有胡歌老公嗎47F 49.158.248.196 台灣 08/29 03:11
something320: 酷48F 122.116.24.74 台灣 08/29 03:12
chopper594: 印象中TVBS封關都算滿準的49F 111.249.212.151 台灣 08/29 03:14
leechiungyi: 統計神人50F 111.82.236.82 台灣 08/29 03:20
tijopig: 會統計又會畫圖的專家好帥51F 114.24.10.40 台灣 08/29 03:25
kltnlious: 結論:藍的比較誠實XD52F 114.137.92.93 台灣 08/29 03:27
as010798as: 太猛了吧 比抄人有料多了53F 111.82.188.115 台灣 08/29 03:29
TZofHES: 好猛,推認真分析54F 27.246.0.223 台灣 08/29 03:31
Neverfor: 自由時報笑死55F 1.200.1.31 台灣 08/29 03:33
leon1757tw: 只信三立民調56F 1.163.91.63 台灣 08/29 03:36
KOSTAR: 泣的民調和實際結果.....57F 223.138.157.137 台灣 08/29 03:38
colorless: 這的確值得研究58F 1.174.198.52 台灣 08/29 03:39
ElvinN: 神人59F 211.22.103.59 台灣 08/29 03:44
Bluebear: 認真推60F 223.137.82.31 台灣 08/29 03:47
Nevhir: 結論就是看世新的61F 111.250.245.105 台灣 08/29 03:47
a8785007: 被泣笑死62F 110.26.131.217 台灣 08/29 03:47
justice0616: 推63F 61.223.132.207 台灣 08/29 03:51
coco8356: 好猛 推認真64F 42.79.131.239 台灣 08/29 03:52
ying02: 你這篇可以當幾篇碩士論文65F 223.139.110.247 台灣 08/29 03:58
kobe143: o.o66F 1.163.145.54 台灣 08/29 04:01
ylunjay: 認真給推67F 42.73.156.104 台灣 08/29 04:07
Kaids: 現在當網軍都要懂data science了嗎?
轉給唐鳳問問推廣部能不能上班?68F 24.21.115.62 美國 08/29 04:09
matuser: 謝謝老師70F 118.231.144.230 台灣 08/29 04:10
captainmm: 這篇文章值得1000p幣w71F 1.169.40.199 台灣 08/29 04:14
ECZEMA: 認真好文給推72F 73.135.31.236 美國 08/29 04:15
captainmm: 但其實也有跡可循 世新畢竟是學術機構不知道有沒有考慮列入政大選研看看?73F 1.169.40.199 台灣 08/29 04:16
RobertI3: 寫的超級厲害,大推高手神人75F 61.227.68.241 台灣 08/29 04:16
BigBananaBoy: 這可以延伸出一篇論文了吧76F 161.30.203.128 英國 08/29 04:25
WFSGT: 你這篇賣給林智堅當論文他說不定會開很高77F 1.200.97.158 台灣 08/29 04:25
neo72: 民調天師級了  可以發展一系列的理論了78F 60.248.0.207 台灣 08/29 04:28
Colitas: 你FiveThirtyEight派來的??79F 114.35.107.6 台灣 08/29 04:33
k5a: 推80F 182.234.167.37 台灣 08/29 04:35
ispy03532003: 推呀81F 42.74.58.68 台灣 08/29 04:36
ramataiwan: 分析很清楚82F 36.226.234.231 台灣 08/29 04:40
a7173661736: 厲害了 哥83F 1.200.36.250 台灣 08/29 04:42
CraziPhone: 神
謝謝你 民調超人84F 114.37.202.66 台灣 08/29 04:43
mimicwpe: 好認真,推86F 223.137.7.15 台灣 08/29 04:51
aeug2005: 三立幾乎都反的87F 220.132.127.234 台灣 08/29 04:56
facefear: push88F 220.141.64.224 台灣 08/29 04:59
virusDA: 鄉民真的臥虎藏龍89F 114.44.208.56 台灣 08/29 05:09
pchion2002: po這篇是要應徵網軍嗎?90F 27.247.74.42 台灣 08/29 05:16
chiwang: 認真文91F 27.247.197.95 台灣 08/29 05:21
xru03: 推92F 111.82.79.247 台灣 08/29 05:26
Maniacs: 推93F 88.130.60.250 德國 08/29 05:27
QoGIVoQ: 可以當一篇論文了94F 36.231.71.142 台灣 08/29 05:29
rul284dl: 論文系?95F 223.138.55.148 台灣 08/29 05:38
shiftdog: 優文96F 111.82.21.169 台灣 08/29 05:44
aicassia: 推 認真文但淺顯易讀97F 62.224.175.93 德國 08/29 05:45
cue: 可以當論文,小心被抄襲98F 220.143.225.123 台灣 08/29 05:49
mikocc: 多元宇宙科長99F 31.165.214.234 瑞士 08/29 06:01
kenkuo1688: 三立民調超像笑話xddd294F 122.121.28.166 台灣 08/29 10:47
sareed: TVBS準 但又如何?(燦笑)295F 36.226.75.143 台灣 08/29 10:51
Asuperkid: 好文296F 101.10.56.208 台灣 08/29 10:51
raxtm: 三泣就是一個笑話297F 1.170.92.46 台灣 08/29 10:56
edwardting: 謝謝你298F 223.138.73.228 台灣 08/29 10:56

--
--
(papple23g.): [問卦] 有沒有民調劉伯溫的八卦? - Gossiping板