close


大家都知道,在「四十九選六」的大樂透遊戲中,任何一組號碼的大獎獲得機率都是一樣的。

明確地說,其機率是

[(49*48*47*46*45*44)/(6*5*4*3*52)]^(-1)=1/13,983,816

也就是約莫十億分之七十一點五

換言之,無論你怎麼去選號,獲大獎的機率都是一樣的。

如果今天有一個迷信者,認為「4」這個數字實在太差了,因此他選號的時候絕對不會選4號,那麼他的中大獎機率是不是會有所改變呢?統計學的不是很好的我,老實說一度為了這個問題有所困擾。

答案應該是「不會」。

可是這個答案實在讓人(比方說我)感到不太舒服。為了說服我自己,所以今天用電腦模擬了一個樂透彩遊戲,想要來看看迷信者與隨機選號者的行為到底會不會影響獲獎機率。

模擬環境做了一些簡化(以加速計算),改為十個號碼選三個,只看三個全猜中的機率。兩個人,玩十萬回合。
隨機選號者每一次下注都是電腦隨機;迷信者相信「1、2、3」這組號碼一定會中獎,所以他只下注這個號碼(for 100,000 times)。十萬回合過後,統計兩人獲獎的次數(=中獎機率),並檢定其差異。

以下是用統計軟體「R」(open source)所寫下的code:

# (c) EverDark
# a small experiment of lottery game
# choose 3 from 10 numbers withour replacement
# the winner is who makes exact guesses for all three numbers
# functions invovled:
# numeric(), identical(), matrix(), is.element(), as.character(), sample()

?sample # use random sampling as a quasi-lottery-drawing mechanism
T<-100000 # specify how many times to play

# draw lottery numbers
lottery<-matrix(nrow=T,ncol=3)
for (i in 1:T){lottery[i,]<-sample(1:10,3,replace=F)}

# for player 1 who randomizes her choices
guess1<-matrix(nrow=T,ncol=3)
for (i in 1:T){guess1[i,]<-sample(1:10,3,replace=F)}
results1<-matrix(nrow=T,ncol=3)
for (i in 1:T){results1[i,]<-is.element(guess1[i,],lottery[i,])}
results1<-matrix(as.character(results1),nrow=T,ncol=3)
odds1<-numeric(T)
for (i in 1:T){odds1[i]<-identical(c("TRUE","TRUE","TRUE"),results1[i,])}

# for player 2 who sticks to her beliefs
guess2<-matrix(rep(c(1,2,3),T),nrow=T,ncol=3,byrow=T)
results2<-matrix(nrow=T,ncol=3)
for (i in 1:T){results2[i,]<-is.element(guess2[i,],lottery[i,])}
results2<-matrix(as.character(results2),nrow=T,ncol=3)
odds2<-numeric(T)
for (i in 1:T){odds2[i]<-identical(c("TRUE","TRUE","TRUE"),results2[i,])}

# theoretical odds
(10*9*8/(3*2))^(-1)

# who wins?
length(odds1[odds1==1])/T
length(odds2[odds2==1])/T
t.test(odds1,odds2)

進行兩樣本均數之差是否為零的統計檢定後,得到無法拒絕null的結論。所以結果是,迷信對中獎機率完全沒有影響!(廢話)

呃,雖然對結果感到有些失望(?),不過這就是事實。(遠目)

本篇文章其實是想要告訴大家,電腦模擬是很好用的概念,不需要任何理論基礎、不需要推導證明!實際上,電腦模擬的概念已經相當廣泛地運用在各種計量方法:有所謂的蒙地卡羅(Monte Carlo experiment)、樣本重抽(bootstrapping),都是近代個人電腦運算能力大幅強化之後,得以被應用在學術或工程環境的實用技巧。

個人是認為,大學課程裡的「統計學」不應該再著重於一些太傳統的materials,而要把面向往時代的尖端拉近才是呢。

舉例而言,台灣大學經濟系今年由駱明慶老師任教的大學部統計學(下學期),就能讓大學生學會許多實用的個體計量操作與因果推論分析(使用STATA這套軟體),這絕對比去教導學生「證明XX定理」還要更有意思多了。(並不是每個學生都意在朝理論研究的領域發展)

---

 

ps. 本文的標題其實原本是下成:「迷信是否有助於中獎機率的提高?」(笑)

「R」的官方網站:http://www.r-project.org/

arrow
arrow
    全站熱搜

    alienatio 發表在 痞客邦 留言(0) 人氣()