CDF的导数称为概率密度函数(Probability density function, PDF)。
在物理学上,密度是单位体积的重量。要计算质量,必须用密度乘以体积。
类似的,概率密度度量单位x的概率。为了计算概率,必须在x的取值范围上进行积分。
表示概率密度函数的Pdf类都提供如下方法:
- Density 参数为值x,返回当前分布在x上的密度
- Render 对一组离散值计算密度,返回一个数对序列,数对中包含值xs及其概率密度ds,序列按xs值排序。
- MakePmf 对一组离散值计算Density返回标准化的Pmf,结果近似Pdf。
- GetLinspace 返回Render和MakePmf默认使用的点集。
Pdf是一个抽象的父类,不能实例化。需要定义一个继承Pdf的子类,并提供Density和GetLinspace的定义。如NormalPdf类:
class NormalPdf(Pdf):
def __init__(self, mu=0, sigma=1, label=''):
self.mu = mu
self.sigma = sigma
self.label = label
def Density(self, xs):
return scipy.stats.norm.pdf(xs, self.mu, self.sigma)
def GetLinspace(self):
low, high = self.mu-3*self.sigma, self.mu+3*self.sigma
return np.linspace(low, high, 101)
下面以上章的成年女性身高(单位为厘米)的均值和方差为参数,