当前位置: 代码迷 >> 综合 >> 用R语言学习数据挖掘——4.随机变量及其分布(二项分布)
  详细解决方案

用R语言学习数据挖掘——4.随机变量及其分布(二项分布)

热度:74   发布时间:2024-02-29 12:21:49.0

目录

均匀分布

伯努利分布

二项分布

rbinom(n,size,prob)


随机变量X(random variable)表示随机试验各种结果的实值单值函数。

描述一个随机变量,不仅要说明它能够取哪些值,而且还要关心它取这些值的概率。因此,引入随机变量的分布函数概念。

对每个随机变量X和每个实数集合A,可以计算X取A中值的概率。所有这些概率的集合就是随机变量X的分布。

随机变量以及分布函数主要有两类:离散型分布连续型分布

  • 离散型分布:当X只能取有限个不同值x1,x2,……Xk时,我们称随机变量X服从一个离散型分布。X称为离散型随机变量。比如用随机变量X代表抛一枚硬币的结果,则此时X是离散型随机变量。因为X只能取0或1(正面或背面)。
  • 连续型分布:对实轴的任意子集A,随机变量X落在A中的概率是f在A上的积 分,那么我们说X服从连续型分布或者X是连续型随机变量。一般我们都是讨论X落入子集A的区间[a,b]的概率,则记为:

如图:

如果对整个曲线做积分,相当于求整个曲线和x轴围成的面积。所以结果是1。所以上式在图中,相当于求a,b区间出现的概率。 针对连续型分布,求一个点的概率是没有意义的(因为面积是0,即概率是0),所以要求一个 区间的概率。

常用的数据分布有如下几种:

  • 常见的一元离散型分布: 整数型均匀分布 二项分布  泊松分布  几何分布  超几何分布
  • 常见的一元连续型分布: 实数型均匀分布 正态分布(高斯分布) γ(伽玛)分布  指数分布  贝塔分布
  • 多元离散型分布: 多项式分布
  • 二元连续型分布: 二元正态分布
  • 还有其他一些分布: weibull(韦伯)分布  F分布  T分布  β(贝塔)分布  χ?(卡方)分布  cauchy分布

其中,最常用和常见的有:正态分布、二项分布、指数分布

均匀分布

均匀分布是一种简单的概率分布,分为离散型均匀分布和连续型均匀分布。
离散型均匀分布指的是整数的均匀分布。设随机变量X可能取1,2,……n, 那么X的概率密度函数为: f(x)=1/n


连续型均匀分布指的是实数的均匀分布,在a~b区间上,随机变量可以取任意一点。 那么X的概率密度函数为:f(x)=1/(b-a)     a≦x≦b。


注:在实际生成生活中,如果是均匀分布,一般都是连续型均匀分布。

伯努利分布

伯努利分布是一种离散分布,有两种可能的结果。1表示成功,出现的概率为p(其中0<p<1)。0表示失败,出现的概率为q=1-p。即:若随机变量X所能取的实验结果只有两种结果,则随机变量X服从伯努利分布。 
伯努利分布最简单的实验是抛一枚(只一次)硬币出现的结果(正面或反面)。
伯努利分布概率函数:如果随机变量X只取0和1两个值,并且相应的概率为: Pr(X=1)=p,Pr(X=0)=1-p
则X的概率函数可以写为:

二项分布

二项分布即重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变, 则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布就是伯努利分布。

二项分布概率函数:二项分布(Binomial Distribution),即重复n次的伯努利试验(Bernoulli Experiment),用ξ表示随机试验的结果。如果事件发生的概率是p,则不发生的概率q=1-p,n次独立重复试验中发生k次的概率是:

其中,C(n,k)为:

rbinom(n,size,prob)

n是实验次数。prob为单点分布的成功的概率。size为随机数产生范围,从0开始取值。如果是1,则取值为0或1。

利用R语言模拟一次伯努利实验 (伯努利分布)

例如:抛一枚硬币,出现正面记为1,背面记为0,正面和背面出现的概率都为0.5。

> rbinom(1,1,0.5)
[1] 1
  • 第一个1表示实验一次
  • 第二个1表示随便变量X的取值结果,如果写1,表示去0或1两种情况
  • 第三是概率,表示出现1的概率

实验如图:

画出伯努利分布 (实验一次)的图:

> result=rbinom(1,1,0.5);result
[1] 1
> plot(result)

代码如图:

画出10次伯努利实验的图:

> result=rbinom(10,1,0.5);result[1] 1 1 1 1 1 0 0 1 0 1
> plot(result)

画出1000次伯努利实验的图,并以线图模拟出实验结果的概率密度:

> result=rbinom(1000,1,0.5);result
> plot(result)

> lines(result)

实验如图:

做1000次伯努利实验,并调整概率为0.2,并模拟出概率密度图来观察结果:

> result=rbinom(1000,1,0.2);result
> plot(result)

> lines(result)

实验如图: