博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
不同分布的转换问题(2016.11.18)
阅读量:4668 次
发布时间:2019-06-09

本文共 914 字,大约阅读时间需要 3 分钟。

不同分布的转换问题

       对于连续型随机变量:

       任何的连续随机变量,如果已知其分布,均可以生产均匀分布。

       设随机变量为X, 累积分布为F_X.因为随机变量的函数也是随机变量,所以F_X(X)也是随机变量。现在来求其分布,P\{F_X(X) \leq a\} = P\{X \leq F^{-1}_X(a)\}=F_X(F^{-1}_X(a))=a,考虑到累积函数的值域,其为[0, 1]上的均匀分布。

       若X 服从正态分布,则 Y=\Phi(X) 服从[0,1]间的均匀分布,其中\Phi是正态分布函数的cumulative distribution function。

       对于离散型随机变量不服从上述。

       如果你有一个均匀分布的随机数生成器,如何产生正态分布的变量?通常来说我们一般的程序都能更直接地生成均匀分布的随机变量。

       一种业界广泛使用的做法叫Box-Muller-Wiener算法。首先生成一对[0,1]上的均匀分布的,独立的随机变量A和B。然后用A *2pi 作为角度,sqrt(-2*log(B)) 作为半径,得到极坐标下的一个点。这个点的两个坐标(X,Y)就是一个二维的标准正态分布。

       那么回到本题,如何利用正态分布的两个变量X,Y生成均匀分布的随机变量?现有的答案们提到了其中一种做法, 即计算点(X,Y)在二维平面内与x轴(或任意其他固定方向)的夹角——这样我们就得到了前述过程中的随机变量A * 2pi。其实另一种方式是计算exp( -0.5 * (X^2 + Y^2))——这样我们就得到了前述过程中的随机变量B。某种意义上来说,后者更为稳定,因为不涉及除法运算(例如arctan(Y/X)),可以以很大概率避免overflow等等问题。

       值得注意的是,点(X,Y)到原点距离的平方X^2 + Y^2是服从卡方分布的随机变量。当变量数为2的时候,这是一个参数为2的指数分布。对于指数分布的随机变量来说,其累积密度函数有解析的表达式,可以直接通过均匀分布来生成。同样的办法对一维正态分布则只能近似数值处理。

 

转载于:https://www.cnblogs.com/i201102053/p/10626600.html

你可能感兴趣的文章
http => https 升级
查看>>
Window 分布式学习-好文收藏
查看>>
Android TextUtils类介绍
查看>>
linux echo设置颜色
查看>>
英文参考文献标准格式:论文参考文献格式规范(转载)
查看>>
css div框加小箭头
查看>>
Eclipse快捷键与使用技巧总结
查看>>
Solr4.8.0源码分析(16)之SolrCloud索引深入(3)
查看>>
PEP8 - Python编码规范
查看>>
div放置图片总结
查看>>
FZOJβ #45. 染色问题
查看>>
Python之SYS模块
查看>>
webapi文件上传和下载
查看>>
HDU 1540 Tunnel Warfare [二分 + 线段树]
查看>>
C++:构造函数和析构函数能否为虚函数
查看>>
win7便笺元数据损坏,最新解决办法
查看>>
mongod
查看>>
vim配置python高亮和缩进
查看>>
Spring3.0.5 获取表中自增的主键(mysql)
查看>>
delphi dxBarManager 的dxBarEdit 输入问题
查看>>