【笔记】离散型随机变量在R语言中的概率密度和分布函数

  1. R语言中的概率密度以及分布函数

在R中,概率函数形如:

其第一个字母表示其所指分布的某一方面:

d Density的缩写,表示密度函数。举个例子,标准正态分布x=0对应的值可以用dnorm(0)计算

p Probability的缩写,表示概率函数。举个例子,标准正态分布从无负穷大到0的概率,可以用pnorm(0)计算

q Quantile的缩写,表示分位函数。举个例子,如果知道标准正态分布从负无穷大到x的概率是0.9678,想要知道这个x的值,可以用qnorm(0.9678)计算

例如,70%的人的年龄是多少?

r Random的缩写,表示随机函数,用于随机生成符合正态分布的数值。举个例子,如果想随机生成10个符合标准正态分布的函数,可以用rnorm(10)来获得

  1. 概率质量(/密度)函数probability mass function

针对离散型变量

f(x)=P,计算变量x=某个值的概率

p: x≤某个值的概率

d: x=某个值的概率

注:针对连续型变量,某一个X的变量对应的概率固定为0

  1. 累计分布函数(Cumulative Distribution Function)

对于离散型密度函数为: = 【笔记】离散型随机变量在R语言中的概率密度和分布函数

f为随机变量X的概率质量函数

例如:掷硬币,定义X=a1时为head表示为1,X=a2时为tail表示为0

概率质量函数为:

f(a1)=1/2

f(a2)-1/2

基于概率密度函数计数:当X<=1时的概率为多少(表示要么时head,要么时tail的概率)

F(X<=1)=1/2+1/2=1

  1. 离散变量(伯努利随机变量)分布:0-1分布

0-1分布就是随机试验次数n=1情况下的二项分布。即只先进行一次事件试验,该事件发生的概率为p,不发生的概率为q=1-p。这是一个最简单的分布,任何一个只有两种结果的随机现象。

类似掷硬币时,求当掷一次硬币X=1(人头朝上),或者0(人头朝下)的概率。

f(X)=p或者1-p(X=1,或者0)

E(X) = p

Var(X) = (1-p)p

  1. 离散变量(n次伯努利随机变量)分布:二项分布

二项分布即重复n次独立的伯努利试验

在每次试验中只有两种可能的结果(因变量Y=0或者1),而且两种结果发生与否互相对立,并且相互独立,与其他各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验。

当试验次数为1时,二项分布服从0-1分布。其概率记为p

例如:抛了100次硬币,n=100,其中20次为正面。表示:Y=1, X=20, n=100

可以求出(X=20,Y=1)的概率

注:括号内是一个整体,不是求Y=1的概率,而是P(Y=1|X=20),X是n次试验之中,Y=1的次数

不是求正面的概率,而是100次试验中20次正面的概率

概率质量函数:【笔记】离散型随机变量在R语言中的概率密度和分布函数

其中,q=1-p, 【笔记】离散型随机变量在R语言中的概率密度和分布函数, p=单次试验,Y=1的概率

E(X)=np

Var(X)=np(1-p)

  1. 二项分布(The Binomial Distribution)的R语言实现

样本:最近120日(次),创业板股票上涨(记为Y=1)天数为40天,下跌(记为Y=0)80天。根据古典概率和0-1分布,p=40/120=0.33,即单日(1次试验)上涨的概率为33%。求未来100天(n=100),有20(X=20)日上涨(Y=1)的概率。
【笔记】离散型随机变量在R语言中的概率密度和分布函数

dbinom(20,100,0.33)

[1] 0.001532549

计算:X=1,2,3…100的概率(100日中有1日,2日,3日…100日上涨的各自的概率)

dbinom(1:100,100,0.33)

[1] 1.994892e-16 4.863666e-15 7.825421e-14
9.346706e-13 8.838915e-12 6.893034e-11 4.559103e-10 2.610427e-09 1.314304e-08

[10] 5.890830e-08 2.373916e-07 8.671881e-07
2.891291e-06 8.849569e-06 2.499013e-05 6.538928e-05 1.591388e-04 3.614272e-04

[19] 7.682811e-04 1.532549e-03 2.875571e-03
5.085899e-03 8.495200e-03 1.342432e-02 2.010041e-02 2.855828e-02 3.855131e-02

[28] 4.950432e-02 6.053642e-02 7.056558e-02
7.848170e-02 8.335020e-02 8.459424e-02 8.210617e-02 7.625895e-02 6.781735e-02

[37] 5.777743e-02 4.717960e-02 3.694201e-02
2.774786e-02 2.000028e-02 1.383815e-02 9.193409e-03 5.865943e-03 3.595444e-03

[46] 2.117369e-03 1.198206e-03 6.516364e-04
3.406056e-04 1.711162e-04 8.262853e-05 3.834969e-05 1.710671e-05 7.333472e-06

[55] 3.020953e-06 1.195660e-06 4.545948e-07
1.659985e-07 5.820235e-08 1.958900e-08 6.326762e-09 1.960169e-09 5.823389e-10

[64] 1.658199e-10 4.523399e-11 1.181485e-11
2.953054e-12 7.058552e-13 1.612336e-13 3.516887e-14 7.319147e-15 1.451995e-15

[73] 2.743086e-16 4.929588e-17 8.417087e-18
1.363727e-18 2.093568e-19 3.040601e-20 4.170558e-21 5.392157e-22 6.557626e-23

[82] 7.483858e-24 7.993907e-25 7.968340e-26
7.387680e-27 6.346584e-28 5.030231e-29 3.660056e-30 2.430626e-31 1.463213e-32

[91] 7.919635e-34 3.815918e-35 1.616759e-36
5.929998e-38 1.844681e-39 4.732158e-41 9.611399e-43 1.449175e-44 1.441965e-46

[100]
7.102218e-49

plot(dbinom(1:100,100,0.33))

【笔记】离散型随机变量在R语言中的概率密度和分布函数

  1. 二项分布累计分布结果

例如求:未来100日内,(X<=30)创业板指数上涨的概率

用相加的方法(P(X=1)+P(X=2)+…+P(X=30))J计算二项分布累计分布函数的结果

sum(dbinom(1:30,100,0.33))

[1]
0.300622


或者直接用概率函数计算:

pbinom(30,100,0.33)

[1]
0.300622 约等于30%

应用:P(X>30)≈70%,即预测上涨天数>30天的概率有70%,如果发现前70天上涨天数较少,那么后30天上涨的概率就会很大。