Re: [新聞] 柯P遭疑民調加權才贏侯友宜 柯辦反擊了!

看板HatePolitics作者 (ulycess)時間6月前 (2023/11/09 21:16), 編輯推噓1(1010)
留言11則, 2人參與, 6月前最新討論串16/17 (看更多)
※ 引述《Homura (德意志國防貓)》之銘言: : 我們以黃揚明提供的 : 求真民調的資料來舉例 我也對加權很奇妙,所以我直接拿程式模擬誤差範圍 首先我定義誤差範圍如下 假設20~25歲的人群百分比是20% 這次抽1000人,理論上應該要有200人 實際上這次民調在20~25%的人有210人 誤差則為 絕對值(210-200)/200 = 5% 最大誤差範圍則為該次民調中各分組誤差範圍最大組別 首先我用一次民調抽9000人,進行10000次民調,得到結論是 最大誤差範圍5%以內,共占有21.77% 最大誤差範圍5~10%以內,共占有74.46% 最大誤差範圍10~15%以內,共占有3.71% 最大誤差範圍15~20%以內,共占有0.05% 最大誤差範圍20~25%以內,共占有0.0% 最大誤差範圍超過25%,共占有0.0% 接下來我用一次民調抽3000人,進行10000次民調,得到結論是 最大誤差範圍5%以內,共占有0.62% 最大誤差範圍5~10%以內,共占有37.92% 最大誤差範圍10~15%以內,共占有49.78% 最大誤差範圍15~20%以內,共占有10.63% 最大誤差範圍20~25%以內,共占有1.01% 最大誤差範圍超過25%,共占有0.03% 最後我用一次民調抽1000人,進行10000次民調,得到結論是 最大誤差範圍5%以內,共占有0.01% 最大誤差範圍5~10%以內,共占有1.76% 最大誤差範圍10~15%以內,共占有20.04% 最大誤差範圍15~20%以內,共占有35.97% 最大誤差範圍20~25%以內,共占有26.3% 最大誤差範圍超過25%,共占有15.91% 所以我的結論如下 如果用9000人來比民調,96%的機率誤差範圍在10%以內 所以加權範圍不應該超過10%才對 如果用3000人比民調 最有可能的最大誤差範圍是10%~15%之間,所以加權範圍不應該超過15% 至於用1000人比民調 最有可能的誤差範圍是15~20%,而且標準差極大 這時候才有加權的必要 程式碼如下,請用python開啟 import random 抽多少人 = 1000 # 預設一次抽9000人來比民調 總共進行幾次民調 = 10000 台灣人口分布 = { "20~24": 1345864, "25~29": 1591927, "30~34": 1589933, "35~39": 1672483, "40~44": 2009683, "45~49": 1827312, "50~54": 1770183, "55~59": 1782312, "60~64": 1715580, "65~69": 1489738, "70~74": 1115706, # "75~79": 593730, # "80~84": 468252, # "85~89": 262833, # "90~94": 119210, # "95~99": 31423, # "100+": 4901, } 台灣總人口 = 0 for i in 台灣人口分布: 台灣總人口 = 台灣總人口 + 台灣人口分布[i] 誤差絕對值 = {"3%以內": 0, "3%~6%": 0, "6%~9%": 0, "9%~12%": 0, "超過12%": 0} def 預期每個組別應該有多少人(抽多少人): result = {} for i in 台灣人口分布: result[i] = 抽多少人 * (台灣人口分布[i] / 台灣總人口) return result def 抽人口確定是哪個組別(): 分組在哪裡 = "" random_number = random.randint(1, 台灣總人口) for i in 台灣人口分布: random_number = random_number - 台灣人口分布[i] if random_number <= 0: 分組在哪裡 = i break return 分組在哪裡 def 開始抽人口(抽幾次): 抽完的人口組別 = {} for i in range(1, 抽幾次): 開始抽籤 = 抽人口確定是哪個組別() if 開始抽籤 not in 抽完的人口組別: 抽完的人口組別[開始抽籤] = 1 else: 抽完的人口組別[開始抽籤] = 抽完的人口組別[開始抽籤] + 1 最大誤差值 = 0 for i in 抽完的人口組別: 誤差百分比 = abs(100 * (預期每個組別應該有多少人(抽幾次)[i] - 抽完的人 口組別[i]) / 預期每個組別應該有多少人(抽幾次)[i]) # print(誤差百分比) if 誤差百分比 >= 最大誤差值: 最大誤差值 = 誤差百分比 return 最大誤差值 # print(開始抽人口(9000)) 誤差值範圍 = { "5%以內": 0, "5~10%以內": 0, "10~15%以內": 0, "15~20%以內": 0, "20~25%以內": 0, "超過25%": 0, } for i in range(1, 總共進行幾次民調): 開始抽人 = 開始抽人口(抽多少人) if 開始抽人 < 5: 誤差值範圍["5%以內"] = 誤差值範圍["5%以內"] + 1 elif 開始抽人 >= 5 and 開始抽人 < 10: 誤差值範圍["5~10%以內"] = 誤差值範圍["5~10%以內"] + 1 elif 開始抽人 >= 10 and 開始抽人 < 15: 誤差值範圍["10~15%以內"] = 誤差值範圍["10~15%以內"] + 1 elif 開始抽人 >= 15 and 開始抽人 < 20: 誤差值範圍["15~20%以內"] = 誤差值範圍["15~20%以內"] + 1 elif 開始抽人 >= 20 and 開始抽人 < 25: 誤差值範圍["20~25%以內"] = 誤差值範圍["20~25%以內"] + 1 else: 誤差值範圍["超過25%"] = 誤差值範圍["超過25%"] + 1 for i in 誤差值範圍: print(f"最大誤差範圍{i},共占有{100*誤差值範圍[i]/總共進行幾次民調}%") : 四腳督市話加權前 : 賴清德 748 35.47% : 侯友宜 535 25.37% : 柯文哲 230 10.91% : 郭台銘 125 5.93% : 市話單獨加權後 : 賴清德 685 32.49% : 侯友宜 433 20.52% : 柯文哲 382 18.12% : 郭台銘 163 7.74% : 四腳督手機加權前 : 賴清德 239 26.21% : 侯友宜 143 15.68% : 柯文哲 305 33.44% : 郭台銘 87 9.54% : 手機單獨加權後 : 賴清德 251 27.52% : 侯友宜 150 16.46% : 柯文哲 257 28.21% : 郭台銘 85 9.27% : 市話手機合併加權後 : 賴清德 887 29.35% : 侯友宜 513 16.98% : 柯文哲 758 25.09% : 郭台銘 255 8.44% : 原始資料侯的市話+手機是678、22.44% : 柯文哲是535、17.71% : 經過柯學加權後 : 侯友宜變成513、16.98% : 柯文哲則是758、25.09% : 有人可以解惑一下 : 為何柯文哲市話加權特別高?(230→382) : 然後侯從原本的+143變成-245 : 一來一往落差將近400 : 加權的依據是? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.72.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/HatePolitics/M.1699535766.A.E3A.html

11/09 21:36, 6月前 , 1F
問題就在市話/手機抽樣的母體和人口
11/09 21:36, 1F

11/09 21:36, 6月前 , 2F
分布不同,所以才需要加權。前提錯了
11/09 21:36, 2F

11/09 21:36, 6月前 , 3F
計算過程就沒有意義了。
11/09 21:36, 3F

11/09 21:42, 6月前 , 4F
你這個有點類似跑賭馬程式 算機率
11/09 21:42, 4F

11/09 21:43, 6月前 , 5F
民調有Paper根據母體跟抽樣子體做比例的
11/09 21:43, 5F

11/09 21:43, 6月前 , 6F
會根據你隨機的抽樣跑第一次民調
11/09 21:43, 6F

11/09 21:43, 6月前 , 7F
然後才根據母體跟子體的差異程度
11/09 21:43, 7F

11/09 21:43, 6月前 , 8F
再做調整
11/09 21:43, 8F

11/09 21:44, 6月前 , 9F
所以之前金小刀PO的那個PAPER
11/09 21:44, 9F

11/09 21:44, 6月前 , 10F
有說比較好的比例是怎樣的
11/09 21:44, 10F

11/09 21:44, 6月前 , 11F
但是那個可能也有國情問題
11/09 21:44, 11F
文章代碼(AID): #1bJDkMuw (HatePolitics)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 16 之 17 篇):
文章代碼(AID): #1bJDkMuw (HatePolitics)