抽樣常態分佈:Box-Muller Transform
數位影像生成一開始就花了兩個禮拜講機率,赫然發現我好久沒用到機率了很多東西都記不清楚了,中計 😔
前言
這個禮拜的主題是要怎麼按照一個任意的機率分佈
- 如果
和他的反函數 可以算得出來的話,那可以抽一個 之後,做一個轉換 ,這時候 就會有我們想要的機率分佈。 - 從一個區域
裡面均勻隨機的亂抽一個 ,檢查 是不是滿足,是的話就把這個 當這次抽樣的結果,不是的話就再抽一次。直觀上就是把 這個函數畫出來之後開始往平面上射飛鏢直到射中那個函數底下的區域為止。
第一種作法的條件挺嚴格的,要
單純起見這裡只考慮
Box-Muller Transform
有兩個數學家是這樣說的:我們先均勻隨機抽兩個數字
這時候
因為第一次看到覺得這個方法實在太神奇了,所以我想把我對他的解讀寫下來。
理解 Box-Muller Transform
之所以寫成
寫成這樣之後和常態分佈的 PDF 像是同一個形狀,好像這個函數還真的跟常態分佈真的有點什麼關聯。
現在想像我們把上面的過程反過來,i.i.d 的抽兩個變數

我們想知道的是他換成極座標之後的 joint PDF
我覺得這裡最重要的一件事情是,討論機率密度的時候是不可以
多重積分裡面變數代換要乘 Jacobian 也是一樣的道理,換成積極座標之後多跑出一個
這裡順便驗證了
如果
PDF 的變數代換
看懂這個方法之後,我終於能心無罣礙的接受 課本 上寫的多變數代換了:
假設
是一個 維的隨機變數,機率密度是 。現在有一個雙射的 ,拿他來做變換 ,那變換後 的機率密度函數是
之所以會有這個 Jacobian,就是因為 PDF 積成機率之後兩邊要一樣,所以你積分的時候怎麼變數代換這裡就要怎麼乘 Jacobian。
後話
當然,要抽常態分佈還有很多種方法,只是這個作法似乎相當 well known,而且我剛好看到而且我覺得很有趣。
我覺得我還是對機率密度的理解不夠深入,可能我的機率思維還有很大一部份停在離散的那邊,所謂的「密度」到底是什麼?我現在覺得思考 PDF 和 CDF 的時候必須要隨時保持積分的概念,理解在連續的世界裡總是要以區間思考,單一個值沒有意義;不應該以機率密度本身去思考,應該要記得 PDF 在一個底面上拿去積分之後才能變真實的機率。
想得越清楚越覺得這些都是顯然的基礎機率觀念,好像我寫了通篇廢話,就當做我的閱讀日記好了。