使用R语言计算指数分布的概率

时间:2023-02-21 08:01:26


利用R语言计算指数分布的概率密度函数、累计分布函数

需求描述

利用R语言计算指数分布的概率密度函数、累计分布函数。

问题分析

指数分布的概率密度函数的公式为:

使用R语言计算指数分布的概率

指数分布的累积分布函数的公式为:

使用R语言计算指数分布的概率

以Excel为例来介绍概率密度函数、累计分布函数的计算过程。其中EXPON.DIST函数的第三个参数为FALSE时为概率密度函数,为TRUE时为累计分布函数。

使用R语言计算指数分布的概率

注:以A3、B3为例这里x=0.6, λ=11 ,则概率密度函数为:

使用R语言计算指数分布的概率

11* 0.001360368= 0.014964048。而累计分布函数为

使用R语言计算指数分布的概率

 = 1-0.001360368=0.998639632

 

实现方法

计算累计分布 

#1通过pexp方法来计算均值为40的指数变量可能小于20的概率。

> pexp(20, rate=1/40)

[1] 0.3934693

计算方法详解,这里是累计分布函数,即x=1/40,λ=20。根据公示

使用R语言计算指数分布的概率

分别带入,则

使用R语言计算指数分布的概率

=0.6065306597126334则最终为1-

使用R语言计算指数分布的概率

 = 1-0.6065306597126334=0.3934693402873666

约等于0.3934693

计算生存函数

#2 通过pexp函数计算相同的指数变量可能大于50的概率。

pexp函数里通过指定lower.tail=FALSE来计算生存函数P(X > x).

pexp(50, rate=1/40, lower.tail=FALSE)

[1] 0.2865048

具体计算方法即:

使用R语言计算指数分布的概率

=0.2865047968601901 即约为0.2865048

计算区间累计分布

针对P(x1 <X < x2), X1、X2之间的累计概率为:P(X <x2) − P(X <x1).

#3 针对相同的指数变量,计算P(20 < X < 50),即X在20到50之间的概率。

pexp(50,rate=1/40) - pexp(20,rate=1/40)

[1] 0.3200259

计算过程为:

pexp(50,rate=1/40) = 

使用R语言计算指数分布的概率

=1-0.2865047968601901

=0.7134952031398099

pexp(20,rate=1/40) = 

使用R语言计算指数分布的概率

=1-0.6065306597126334=0.3934693402873666

最终结果为

0.7134952031398099-0.3934693402873666=0.3200258628524433

约为0.3200259