通过观察直方图,我们很容易发现最常出现的值,并能判断分布的形状,但不一定能看到很少出现的值。

在进一步探索数据之前,我们最好检查一下离群值(outlier)。离群值是极端值,可能是测量和记录中出现的错误,也可能是偶然事件的准确汇报。

Hist对象提供LargestSmallest方法,这两个方法的参数都是整数n,分别返回直方图中n个最大和最小的值。

for weeks, freq in hist.Smallest(10):
    print(weeks, freq)

在成功生产记录的妊娠期列表中,最小的10个值为[0, 4, 9, 13, 17, 18, 19, 20, 21, 22]。10周以下的值肯定是错误的,很可能是结果数据没有进行正确编码;大于30周的数据很可能是正确的;10~30周的数据就很难判断了,有些可能是错误的,但有些可能的确是早产儿。

另一端,最大的10个值为:

weeks  count
43     148
44     46
45     10
46     1
47     1
48     7
50     2

当妊娠期超过42周时,大部分医生会建议催产,因此大于42周的数据是令人惊讶的。从医学角度看,50周几乎是不可能的。

处理离群值的最佳方法依赖于“领域知识”,即有关数据来源和意义的信息,另外还取决于你打算对数据进行何种分析。

在这个示例中,我们要解答的问题是第一胎是否会早产(或超过预产期)。当人们提出这个问题时,他们感兴趣的通常是足月妊娠,因此在这次分析中我将关注超过27周的妊娠记录。

30:00