如何生成指定分布的随机数
发布时间:2018-04-26 08:42,
浏览次数:517
前言
对于随机数平时我们还是比较常用的,一般都会直接通过各种语言原生自带的随机函数,比如 c++ 中有random()函数,java 中有 Random
类,python 有 random 模块等等。都能很方便生成随机变量,但它们有一个特点,那就是都服从均匀分布,而有些场景需要要生成不同分布的随机变量。
随机变量
随机变量即随机函数,通过该函数能生成每个可能事件对应的一个值。比如我们掷骰子,每次按一定的概率生成一个值。有两种类型变量,
* 离散型随机变量,能取到的不相同的值是有限个或可列无限多个。
* 连续型随机变量,能取到的值可以是连续的,在某个区间内可取任意一实数。
概率密度函数
主要用来表示不同点对应的概率大小,即X轴上每个单位长度对应的概率大小。概率等于面积,当某区间长度趋于0时则变为一个点,此时概率大小为f(x)。
常见分布
* 伯努利分布,即0-1分布,随机变量为0或为1,概率为p和1-p。
* 二项分布,进行n次伯努利实验,相对于不同成功次数对应的概率。
* 泊松分布,是二项分布的极限形式。
* 均匀分布,在相同长度间隔的分布概率是等可能的。
* 正态分布,又名高斯分布,正态曲线呈钟型,两头低,中间高。
* 指数分布,描述事件以恒定平均速率连续且独立