您的位置:

累积分布函数(cumulative distribution function)

一、介绍

累积分布函数(cumulative distribution function, CDF)是一个统计学和概率论中使用的函数。它描述了一个随机变量取小于等于某个值的概率。

可以简单地理解为,在给定的概率密度函数下,衡量一个数值在小于零到大于这个数的时候所占有的面积(即概率)。累积分布函数在统计学、金融、工程学、物理学和计算机科学中都有广泛的应用。

在概率论与数理统计中,若随机变量X的概率密度函数为f(x),则其累积分布函数为:

F(x) = P(X<=x) = ∫f(x)dx (从负无穷到x)

二、特点

累积分布函数具有以下特点:

  • 随着x的增大,F(x)单调不减
  • F(x)的极值为0和1
  • 累积分布函数是一个分段函数,每段的斜率基于概率密度函数f(x)
  • 若随机变量X服从一定分布,那么其对应的累积分布函数是唯一的。

三、应用

1、概率计算

累积分布函数可以用来计算概率,例如在一个正态分布中,有多大的概率会出现某个值。例如,我们在知道一个班级分数的平均分和标准差的情况下,可以得到某个学生分数的Z值,从而利用标准正态分布的累积分布函数来计算出其得到某个分数的概率。

# Python代码示例
import scipy.stats as stats
mean = 60
std = 10
z_score = (85 - mean) / std
stats.norm.cdf(z_score) # 返回结果0.977249870306

2、估算损失

在风险管理中,累积分布函数也可以用于估算可能的损失。例如,如果我们知道投资组合的期望回报和期望风险,我们可以使用投资组合累积分布函数来估算投资组合在潜在情况下盈利与亏损的概率。

# Python代码示例
import numpy as np
import scipy.stats as stats
n = 100
returns = np.random.normal(loc=0, scale=0.05, size=n)
var_95 = np.percentile(returns, 5)
cdf = stats.percentileofscore(returns, var_95)

3、生态学

在生态学研究中,累积分布函数也有用。例如,它可以用来描述物种在一个生态系统中的稳定性和进化的速度。

对于上图中的生态学的例子,我们有mnrx,其中,m代表迁移率,n代表出生率,r代表固定率,x代表死亡率,可以使用下面的累积分布函数代码来计算概率:

# Python代码示例
import scipy.stats as stats
x = 10
m = 0.4
n = 0.25
r = 0.1
prob =  stats.gamma.cdf(x, a=n/m, scale=1/r)

四、总结

累积分布函数允许我们计算一个变量小于等于某个特定值的概率。它可以用于很多情况,如金融、工程学、物理学和计算机科学等领域。此外,累积分布函数还能够用于计算概率、估算损失以及在生态学研究中描述物种在生态系统中的稳定性和进化的速度。精通累积分布函数的使用将帮助我们更好地理解统计学和概率论中的概念。