日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

曲线均匀分布_R——概率统计与模拟(三) 变换均匀分布对特定分布进行抽样

發布時間:2024/10/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 曲线均匀分布_R——概率统计与模拟(三) 变换均匀分布对特定分布进行抽样 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創:hxj7

本文介紹了如何變換均勻分布以便對特定分布進行抽樣。

如果你要進行隨機抽樣,R語言提供了諸多現成的函數供你使用,比如:

  • runif: 均勻分布抽樣
  • rbinom: 二項分布抽樣
  • rpois: 泊松分布抽樣
  • rnorm: 正態分布抽樣
  • rexp: 指數分布抽樣
  • rgamma: 伽馬分布抽樣

... 等等

那么,如果不用現成的函數,我們能自己實現抽樣功能嗎?比如,我們是否可以不用 rexp 函數而實現指數分布抽樣?答案是肯定的,只需對均勻分布進行適當地變換即可。

指數分布抽樣

下面的例子是對一個指數分布進行抽樣,并繪制了三條c.d.f.曲線,分別是:

  • 用 runif 函數模擬指數分布抽樣的 $text{c.d.f.}$ 曲線;
  • 用R自帶的 rexp 實現指數分布抽樣的 $text{c.d.f.}$ 曲線;
  • 指數分布的理論 $text{c.d.f.}$ 曲線。

代碼如下:

# Q1 N <- 100000 lambda <- 1 # 指數分布參數 set.seed(123) x <- runif(N, 0, 1) y <- log(1 - x) / -lambda # 用runif模擬指數分布抽樣 ey <- ecdf(y) set.seed(123) r <- rexp(N, lambda) # R自帶的rexp抽樣函數 er <- ecdf(r) plot(ey, xlim = c(0,3), col="red", main="Generating Pseudo-Random Numbers Havingna Exponential Distribution with lambda=1",ylab="Cum prob F(x)") # runif模擬抽樣的c.d.f.曲線 lines(er, xlim=c(0,3), col="green") # rexp模擬的c.d.f.曲線 curve(1 - exp(-lambda * x), from=0, to=3, add=T, col="blue") # 指數分布的理論c.d.f.曲線 legend("bottomright", legend=c("simulative (using runif)", "simulative (using rexp)", "theoretical"),col=c("red", "green", "blue"), lty=1, bty="n")

效果如下:

可以看出,三條曲線幾乎完全重合,說明用 runif 實現模擬指數分布抽樣是可行的。實際上:

也就是說,我們可以通過一種間接的方法,即變換均勻分布來對特定分布進行抽樣。為什么要這樣拐彎抹角呢?因為有時候我們碰到的分布不是很常見,R語言并沒有提供相應的函數,這時候我們就可以用上述間接的方法自己寫函數實現抽樣。

變換均勻分布對一種特定分布抽樣

N <- 100000 # 抽樣的樣本大小 set.seed(123) x <- runif(N, 0, 1)

y <- sqrt(x) # 用runif模擬實現特定分布抽樣

ey <- ecdf(y) plot(ey, xlim = c(0,1), col="red", main="Generating Pseudo-Random Numbers Havingna Specified Distribution",ylab="Cum prob F(x)") # 模擬抽樣的c.d.f.曲線 curve(x ^ 2, from=0, to=1, add=T, col="blue") # 上述特定分布的理論曲線 legend("bottomright", legend=c("simulative", "theoretical"),col=c("red", "blue"), lty=1, bty="n")

結果如下:

從圖中可以看出,模擬曲線和理論曲線幾乎完全重合,也就是說我們的間接方法的確很好地模擬了特定分布抽樣。

上述特定分布的完整代碼如下:

N <- 100000 # 抽樣的樣本大小 set.seed(123) x <- runif(N, 0, 1) y <- sqrt(x) # 用runif模擬實現特定分布抽樣 ey <- ecdf(y) plot(ey, xlim = c(0,1), col="red", main="Generating Pseudo-Random Numbers Havingna Specified Distribution",ylab="Cum prob F(x)") # 模擬抽樣的c.d.f.曲線 curve(x ^ 2, from=0, to=1, add=T, col="blue") # 上述特定分布的理論曲線 legend("bottomright", legend=c("simulative", "theoretical"),col=c("red", "blue"), lty=1, bty="n")

我們用兩個例子說明了可以用一種間接抽樣的方法對特定分布進行抽樣,不過這種方法是有前提的,即我們要知道F的解析表達式,以及F要存在一個反函數。由于這些限制,該方法在實際應用中有諸多限制。

Box-Muller方法:變換均勻分布對標準正態分布抽樣

上面只是對一個均勻分布變量進行變換,我們也可以對多個均勻分布變量進行變換。比如,如果要對標準正態分布抽樣,我們可以[0,1]上的兩個均勻分布變量X和Y做如下變換:

即可以得到一個標準正態分布的抽樣樣本,該方法被稱作Box-Muller方法。

具體代碼如下:

N <- 100000 # 抽樣的樣本大小 set.seed(123) x <- runif(N, 0, 1) y <- runif(N, 0, 1) z <- cos(2 * pi * x) * sqrt(log(1 / y ^ 2)) # 用runif模擬實現標準正態分布抽樣 ez <- ecdf(z) set.seed(123) r <- rnorm(N, 0, 1) # 用rnorm模擬實現標準正態分布抽樣 er <- ecdf(r) plot(ez, col="red", main="Generating Pseudo-Random Numbers Havingna Standard Normal Distribution",ylab="Cum prob F(x)") # runif模擬抽樣的c.d.f.曲線 lines(er, col="blue") # 用rnorm模擬抽樣的c.d.f.曲線 legend("bottomright", legend=c("simulative (using runif)", "simulative (using rnorm)"),col=c("red", "blue"), lty=1, bty="n")

c.d.f.曲線的結果如下:

可以看出,兩條曲線幾乎完全重疊,說明變換的效果是成功的。

Probability Integral Transformation

最后,我們簡單介紹一下Probability Integral Transformation,就是將上述間接方法的過程反過來,以實現一種偽隨機數生成工具。具體來說,就是:

補充證明

最后,我們給出上文的一個結論的證明:

(公眾號:生信了)

總結

以上是生活随笔為你收集整理的曲线均匀分布_R——概率统计与模拟(三) 变换均匀分布对特定分布进行抽样的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲国产毛片 | 国产做a | 日韩久久一区 | 国产黄色一级片视频 | 欧美网站在线 | 国产在线视频自拍 | 欧美无遮挡高潮床戏 | 天堂www中文在线资源 | 九九免费视频 | 国产中文字幕在线 | 亚洲综合色在线观看 | 高清av网址 | 成人二三区 | 欧美性受xxxx | 看全黄大色黄大片 | 性欧美巨大乳 | 在线成人av | 久久久精品日韩 | 伊人春色在线观看 | 中文人妻熟妇乱又伦精品 | 亚洲男女 | 久久精品视频久久 | 相亲对象是问题学生在线观看 | 99国产精品免费视频 | 婷婷久久网 | 午夜免费福利在线 | 亚洲影视网 | 精品三级在线 | 午夜毛片视频 | 日韩精品在线观看网站 | 欧美在线aa| 韩国女主播裸体摇奶 | 国产日韩精品一区二区三区在线 | 动漫3d精品一区二区三区乱码 | 一本色道久久综合亚洲精品图片 | 男受被做哭激烈娇喘gv视频 | 清冷男神被c的合不拢腿男男 | 伊人操 | 欧美一级全黄 | 一区二区免费av | 少妇性bbb搡bbb爽爽爽欧美 | 91av福利视频 | 国产精品中文久久久久久 | 国产亚洲精品久久久久丝瓜 | 亚洲丝袜在线观看 | 成人免费看av| 毛片一区 | 双腿张开被9个男人调教 | 综合在线观看 | 91夫妻在线| 欧美日本韩国在线 | 久草资源网站 | 国产精品一二区在线观看 | jizz日本在线| 久久久久久久999 | 99热久 | 99re8在线精品视频免费播放 | 午夜一区二区三区在线观看 | 国产亚洲久久 | 国产视频精选 | 色综合久久久久无码专区 | www嫩草 | 在线视频日本 | 尤物视频最新网址 | 国产乱码精品一区二区三区中文 | 色婷婷av一区二区三区软件 | 亚洲永久精品国产 | 日韩精品一区二区亚洲av性色 | 亚洲AV无码久久精品国产一区 | 亚洲天堂av在线免费观看 | 亚洲一卡二卡三卡四卡 | 天天操天天草 | 国产成人无遮挡在线视频 | 热久久久久 | 欧美精品五区 | 日本手机看片 | 99re在线 | 婷婷六月天| 色婷婷国产精品综合在线观看 | 国产精品麻豆一区二区三区 | 天天干天天操天天操 | 亚洲一二三区av | 少妇光屁股影院 | 欧美视频在线不卡 | 欧美日韩精品一区二区三区四区 | 人妻少妇偷人精品无码 | 亚州中文| 国产凹凸一区二二区 | 在线观看涩涩视频 | 欧美图片一区 | 婷婷色网站 | 成人精品综合 | 浪潮av色 | 日本成人在线免费 | 欧美性猛交xxxx免费看 | 麻豆国产在线视频 | 亚洲国产成人av | 欧美综合亚洲 | 国语对白做受69 |