百萬次實驗告訴你,堅持到底不一定勝利!
是時候來個遵從內心的投票了!
看來大家還是對
- 使用 Power 系列做報表
- 使用 Excel 進行腦洞模擬
更感興趣一些
那麼,今天
餅乾就來模擬一個比較經典的問題
三門問題(Monty Hall Problem)
相關的討論可以參考這個問題
蒙提霍爾問題(又稱三門問題、山羊汽車問題)的正解是什麼?
沒寫回答而是寫專欄是因為餅乾發現
哪怕認真回答也會因為時間線的原因而缺少正反饋
比如:
如何製作高水平簡歷? - 餅乾的回答
好吧,進入今天的正題
首先,我們排除一切干擾信息
重新確認一下已知的信息:
有三扇門- 一扇門後是汽車,其餘兩扇門後是山羊
- 你可以任意挑選一扇門
- 餅乾打開了另一扇門,門後是山羊
現在餅乾再給你一次選門的機會
- 你會堅持一開始的選擇?
- 還是覺得改變可能帶來更多的機會?
如果餅乾只是 隨便 選的門,你又會如何決策?
今天,餅乾將通過 蒙特卡洛模擬
回答這個問題
先簡單介紹一下
蒙特卡洛(Monte Carlo)
蒙特卡洛的核心是 大數定律 和 中心極限定理
對於這 2 個定理,我們只需要知道
在一定條件下
大量獨立隨機變數的平均數是以正態分布為極限的
即通過大量的隨機模擬,可以用頻率的 平均值 來估計概率
說人話就是
扔 100 次硬幣,看看正面的頻率到底是不是 50%
如果擔心 100 次可能會有波動,那就一萬次?甚至百萬次?
我們要做的是
- 構造過程(使用 Excel 模擬過程)
- 隨機抽樣(使用 VBA 進行重複採樣)
- 估計變數(用選中汽車的頻率估計概率)
構造過程
三門問題的 Excel 模擬相對還是比較簡單的
首先,一共只有三扇門
- 實際車子在一扇門後
- 你一開始會選一扇門
也就是說,初始狀態有 3 × 3 共 9 種
那麼餅乾只能在剩下的兩扇門裡選一扇打開
由於實際餅乾打開的門後是山羊
因此,可以構建如下的 開門可能性矩陣
有了可能性矩陣後,我們就可以
構造概率模型
在 Excel 中一般通過構造包含隨機數的公式實現
涉及返回隨機數的函數有 2 個
- 連續分布
RAND:返回大於等於 0 且小於 1 的均勻分布隨機實數
- 離散分布
RANDBETWEEN:返回位於兩個指定數之間的一個隨機整數
我們希望構造的是如下圖的概率模型
我們來看下具體的公式每一行代表一次實驗
【換】和【不換】這 2 列中:1 代表選中汽車,0 代表沒選中
- 實際和選擇都是隨機的離散值
=RANDBETWEEN(1,3)
- 餅乾開的門背後是山羊
這裡將 Vlookup 的第 3 個參數構造成隨機變數
=VLOOKUP([@實際]&[@選擇],開門決策,4+RANDBETWEEN(0,1),0)
- 最後判斷是否選中汽車
【不換】= ([@實際]=[@選擇])*1【換】= AND([@實際]<>[@選擇],[@實際]<>[@開門])*1
*1 是將布爾值轉化成數值
拓展閱讀
想說,為啥「--($B$12)」就轉化為數值1了? - 餅乾的回答
隨機抽樣
由於我們構造好的概率模型只有一行
因此我們只需要
向下拉個 1000 行
就完成了 1000 次抽樣
然後比較一下【換】和【不換】的總和就可以知道哪種選擇更好了
當然,如果你覺得 1000 行的數據還不夠的話
完全可以寫幾行 VBA 把這個過程重複 100 次、甚至 1000 次
估計變數
這裡餅乾統計的是
每個【千次實驗】中,選中汽車的頻數
我們來看一下重複 1000 次【千次實驗】的統計結果
模擬數據顯示選擇【不換】在 1000 次實驗中平均可以選中汽車 333.4 次
運氣好的時候可以選中 402 次,運氣不好的話只有 288 次
我們再來看下【不換】的頻數分布
這個分布形狀反過來也可以讓我們再複習一下中心極限定理
大量獨立隨機變數的平均數是以正態分布為極限的
也就是說,通過蒙特卡洛模擬的結論是
【不換】堅持一開始的選擇,選中汽車的概率是 1/3
【換】嘗試改變換一扇門,選中汽車的概率是 2/3
But Why?
相信到這裡肯定有人會說
餅乾已經開掉了一扇門
那不就相當於只有兩扇門,一扇門後有車
任意選一扇門,門後有車的概率應該是 1/2
所以,換不換沒有區別
對於這個觀點,餅乾的看法是這樣的
我們所做的決策是基於對信息的利用
而三門問題的關鍵在於
餅乾打開了一扇背後是山羊的門
這個信息有沒有影響你的決策
如果你覺得這個信息是沒有意義的
得出的結論自然是換不換一樣
而如果你仔細揣摩
發現這個看似不影響結果的信息背後的意義
3 扇門比起 2 扇門降低了你在第一次就做出正確選擇的概率
是的
我們利用了 更多的 信息
做出 更貼近事實的 決策
這或許也是數據分析的魅力所在吧~
最後
如果餅乾只是 隨便 選的門,你又會如何決策?
這個問題就留給大家留言和我討論了
關注餅乾,少加點班
返回目錄
公眾號 CookieData 回復 三門問題 獲取 蒙特卡洛模擬
推薦閱讀:
※vba自動生成PPT報告?
※Excel VBA進階怎麼學,感覺市面上的書都是入門型的?
※自學 VBA 到中等水平一般需要多久?
TAG:MicrosoftExcel | VBA | 蒙特卡洛方法 |