樂透

樂透開獎隨機嗎?用卡方檢定與遊程檢定看大樂透、威力彩、539 共 6,772 期

做完冷熱號回測之後,有讀者問我:「你怎麼確定台彩開獎是真的隨機?」好問題。我不能打開搖獎機看,但我可以做統計學家會做的事:假設它是隨機的,算出各種數字「應該」長什麼樣子,再看實際資料有沒有明顯對不上。這篇把我對三個彩種、2014 年到 2026 年 10 月共 6,772 期做的檢定全部列出來,包括兩個擦邊的。

:::tip TL;DR

  • 每號出現次數卡方檢定:大樂透 33.3(df 48,臨界 65.2)、威力彩 30.6(df 37,臨界 52.2)、今彩539 45.9(df 38,臨界 53.4),全部通過。
  • 和值序列遊程檢定 z 分數:−0.74、−0.17、−0.54,看不出前後期有關聯。
  • 十幾項檢定裡有兩項擦到 5% 顯著線(威力彩第二區分布、威力彩雙 3:3 比例);這個數量符合「做很多檢定總會有一兩個擦邊」的預期。結論:看不出偏差,但不是「證明隨機」。 :::

檢定一:每個號碼出現次數的卡方檢定

這是最直接的檢定。如果搖獎機公平,每個號碼被開出的次數應該接近「期數 × 每期開出顆數 ÷ 號碼總數」。卡方值就是把每個號碼的(實際 − 期望)² ÷ 期望加總,數字越大代表偏得越遠。

def chi_square(counts, draws, k, n):
    expected = draws * k / n
    chi = sum((c - expected) ** 2 / expected for c in counts)
    return chi / (1 - k / n)      # 不放回修正,見下文
彩種 期數 卡方值(原始) 修正後 自由度 5% 臨界值 1% 臨界值 結果
大樂透 49 選 6 1,441 29.19 33.26 48 65.17 73.68 通過
威力彩第一區 38 選 6 1,331 25.79 30.62 37 52.19 59.89 通過
今彩539 39 選 5 4,000 40.03 45.92 38 53.38 61.16 通過

「修正後」那欄需要解釋。標準卡方檢定假設每一顆球都是獨立抽的,但樂透一期的六顆球不會重複——同一期內 41 號開了,其他 48 個號碼這期就少了一個機會。這種「不放回」會讓每號次數的變異數縮小 (1 − k/n) 倍,直接算的卡方值會系統性偏低,看起來比真正隨機還「均勻」。除回去之後才能對標準的卡方分布表。

:::david 這個修正是我自己踩出來的。第一次算大樂透卡方值 29.19,自由度 48 的分布平均值是 48,29 低到有點不正常——在左尾 1.5% 的位置。我盯著數字想「資料是不是被人整理過」,想了一個晚上才意識到是不放回的問題,每期六顆球互相排擠,變異數本來就該是獨立抽樣的 43/49。修正後 33.26,落在左尾 5% 左右,仍然偏均勻一點,但沒有到需要解釋的程度。 :::

同一招我也用在單球項目上。大樂透特別號(每期一顆、49 選 1,不需要修正)卡方 59.98,自由度 48,低於 65.17。威力彩第二區(8 選 1)卡方 14.35、自由度 7,5% 臨界值 14.07——超過了。這是本篇第一個擦邊值,細節在第二區統計那篇:切成前後兩半各自檢定都通過(10.4 與 7.0),逐年沒有任何號碼持續偏熱,我判斷是多重檢定下的擦線,繼續追蹤。

檢定二:最熱與最冷差多少才正常

卡方值對一般人不直觀,我換個方式問:「最熱號碼跟最冷號碼差 50 次,正常嗎?」我用亂數器產生 1,000 組假的開獎資料(期數、規則跟真實一樣),每組都算一次最熱減最冷:

彩種 真實資料的最熱−最冷 模擬 1,000 組的中位數 模擬 5%~95% 區間
大樂透 50 次(41 號 201 − 4 號 151) 56 44~70
威力彩第一區 48 次(38 號 232 − 32 號 184) 57 45~73
今彩539 99 次(17 號 557 − 33 號 458) 91 70~118

三個真實值都落在模擬區間的中間地帶。大樂透跟威力彩的差距甚至比一半以上的模擬結果還小。

檢定三:奇偶分布的卡方檢定

每期開出幾個奇數應該服從超幾何分布。這是檢查「號碼之間的組合」而不只是「單一號碼次數」:

彩種 卡方值 自由度 5% 臨界值 結果
大樂透 2.96 6 12.59 通過
威力彩第一區 5.78 6 12.59 通過
今彩539 11.02 5 11.07 通過(差 0.05)

539 那個 11.02 差一點點就過線,來源是奇偶 3:2 的期數比理論少 2.3 個百分點。另外在奇偶大小那篇我發現威力彩「奇偶 3:3 且大小 3:3」的比例是 14.4%,理論 11.4%,191 期對預期 152 期,約 3.3 個標準差,是本篇第二個擦邊值,而且比第一個更難用「擦線」帶過。我找不到解釋,照實記錄。

檢定四:和值序列的遊程檢定

前面三項都是看「分布」,不看「順序」。如果開獎有某種記憶——例如連續幾期和值偏高之後會「補」偏低——分布可能完全正常,但序列會有結構。遊程檢定(runs test)就是抓這個:把每期和值跟中位數比,標成「高」或「低」,數一數整個序列裡有幾段連續同向的「遊程」。隨機序列的遊程數有已知的期望值跟變異數,可以算 z 分數。

彩種 高/低期數 實際遊程數 期望遊程數 z 分數
大樂透 712/710 698 712.0 −0.74
威力彩第一區 653/653 651 654.0 −0.17
今彩539 1,967/1,951 1,943 1,960.0 −0.54

|z| 要超過 1.96 才算 5% 顯著,三個都在 ±1 以內。前後期之間看不出任何「補償」或「慣性」。這跟冷熱號回測的結論互相印證:前 30 期熱的號碼在下一期沒有優勢,和值高的那期之後也不會傾向開低。

「看不出偏差」跟「證明隨機」為什麼不一樣

我在這篇很小心地不講「證明台彩是隨機的」,理由有三。

第一,統計檢定的邏輯是反向的:我假設它隨機,然後看資料有沒有矛盾。沒有矛盾只代表「隨機模型跟資料相容」,不代表其他模型不相容。一個偏差 0.5% 的搖獎機,在 1,441 期裡幾乎不可能被看出來。

第二,我做了十幾項檢定,用 5% 當門檻,就算一切完全隨機,也預期有大約一項會「不通過」。實際擦邊的是兩項,數量正常;但也因為這樣,我不能把任何一項的通過當成強證據。

第三,我測的是我想到的東西。沒測到的偏差形式永遠存在。所以這篇能給的最誠實結論是:從號碼次數、奇偶組合、前後期關聯三個角度看,台彩三個彩種的開獎都跟隨機模型對得上,沒有一項偏差大到值得懷疑搖獎機。 對買彩券的人來說,實際意義就是:找規律這件事,在這批資料裡找不到支撐。

:::david 寫這系列最大的收穫不是結論,是學到「做很多檢定之後怎麼看待其中一兩個異常值」。以前我會抓著那個 p = 0.001 不放,現在會先問:我總共測了幾項?拆開看還成立嗎?就算成立,對決策有影響嗎?威力彩雙 3:3 那個值三題答案是「幾十項」「大樂透和 539 沒有」「沒有」。所以它進紀錄,不進策略。 :::

常見問題

大樂透開獎通過隨機檢定了嗎? 每號出現次數的卡方值 29.2(不放回修正後 33.3),自由度 48,5% 臨界值 65.2;奇偶分布卡方 2.96;和值序列遊程檢定 z = −0.74。全部在正常範圍,看不出偏差。

為什麼不說「證明開獎是隨機的」? 統計檢定只能說「這批資料跟隨機模型沒有矛盾」,不能證明沒有任何偏差——一個很小的偏差可能要幾十萬期才會被看見。「看不出偏差」是我能誠實講的最強結論。

有沒有哪一項檢定沒過? 有兩項擦邊:威力彩第二區 1~8 的卡方值 14.35 剛超過 5% 臨界值 14.07;威力彩「奇偶 3:3 且大小 3:3」的比例 14.4% 高於理論 11.4%。在十幾項檢定裡出現一兩個 5% 水準的異常,本身就是隨機該有的樣子。

什麼是不放回修正? 教科書的卡方檢定假設每顆球獨立抽出,但一期六顆球不會重複,同期內號碼互相排擠,變異數會縮小 (1 − 6/49) 倍。不修正的話卡方值會系統性偏低,看起來「太均勻」。

延伸閱讀