2.3 分布

汇总统计量简单明了,但风险也大,因为它们很有可能会掩盖数据的真相。另一种方法就是看数据的分布(distribution),它描述了各个值出现的频繁程度。

表示分布的最常用的方法是直方图(histogram),这种图用于展示各个值出现的频数或概率。

在这里,频数指的是数据集中一个值出现的次数,跟声音的音高和无线电讯号的调频没有关系。概率就是频数除以样本大小n。

在Python中,计算频数最简单的方法就是用字典。给定一个序列t:

hist = {} 
for x in t: 
  hist[x] = hist.get(x, 0) + 1

得到的结果是一个将值映射到其频数的字典。将其除以n 即可把频数转换成概率,这称为归一化(normalization):

n = float(len(t)) 
pmf = {} 
for x, freq in hist.items(): 
  pmf[x] = freq / n

归一化之后的直方图称为PMF(Probability Mass Function,概率质量函数),这个函数是值到其概率的映射(习题6-5中会介绍“质量”的含义)。

将Python中的字典称为函数可能会让部分读者感到困惑。在数学中,函数就是一组值到另一组值的映射。在Python中,我们通常用函数对象表示数学中的函数,但这个例子中用的是字典(字典也被称为“映射”,所以称其为“函数”也是可以理解的)。