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

看板HatePolitics作者 ( 1)時間7月前 (2023/11/09 21:35), 編輯推噓1(100)
留言1則, 1人參與, 7月前最新討論串17/17 (看更多)
大哥,你寫的那麼複雜誰看得懂@@? 所以你用程式這樣跑出來的結果 到底賴柯侯的支持度大概各是多少? ※ 引述《ulycess (ulycess)》之銘言: : ※ 引述《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), 來自: 42.76.143.145 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/HatePolitics/M.1699536941.A.30D.html

11/09 21:51, 7月前 , 1F
不會當選的票數 沒意義
11/09 21:51, 1F
文章代碼(AID): #1bJE0jCD (HatePolitics)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 17 之 17 篇):
文章代碼(AID): #1bJE0jCD (HatePolitics)