采樣理論——逆變換采樣


均勻隨機數生成

  先來說說均勻隨機數生成,這是非均勻隨機數的生成基礎。

  例如,我們現在有drand()函數,可以隨機生成[0,1]范圍內的均勻隨機數。

  要求一個drand2()函數,能夠生成[0,2]內的均勻隨機數。

  顯然有:

\[drand2()=2*drand() \]


  但是很多時候,我們希望生成的隨機數是有一定概率偏向的。

  比如生成[0,2]的隨機數,越偏向2的數,出現的概率越大,顯然上面的\(2*drand()\)無法滿足要求

  例如,我們的隨機數的概率密度分布如下:

生成指定概率密度的隨機數

  先上結論:

  設概率密度函數\(f(x)\),概率累計分布函數\(F(x)\),生成概率密度為\(f(x)\)的隨機數的函數如下:


\[F^{-1}(drand()) \]


  那么,為什么使用累積分布函數(CDF)的反函數,就能生成符合概率密度分布函數(PDF)的隨機數呢?


證明

  設概率密度函數\(f(x)\),概率累計分布函數\(F(x)\)\(\xi\)表示服從\((0,1)\)均勻分布的隨機變量,變換函數為\(G\),隨機變量\(X=G(\xi)\),其中\(F(x)\)為單調遞增函數。

  由概率分布定義知:

\[P\{X<a\}=F(a) \]

\[P\{G(\xi)<a\}=F(a) \]

  若\(G(\xi)\)為單調遞增函數,可得:

\[P\{\xi<G^{-1}(a)\}=F(a) \]

  已知\(\xi\)\((0,1)\)上均勻分布,可得:

\[P\{\xi<b\}=b,b \in (0,1) \]

\[P\{\xi<G^{-1}(a)\}=F(a)=G^{-1}(a) \]

  故有F,G互為反函數,即:

\[X=G(\xi)=F^{-1}(\xi) \]


  直觀理解見閆令琪老師的課程:https://www.bilibili.com/video/BV1my4y1z76s?t=4579&p=3
  更多拓展見:https://zhuanlan.zhihu.com/p/191487550


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM