搞懂箱形图(下篇)

背景描述

自从写了搞懂箱形图这篇文章,收到了许多小伙伴的回应,甚至还曾收到妈妈们关于小学数学中箱形图练习题的提问。博文收到回应至于作者还是非常欣慰的一件事,同时在不同观点的碰撞过程中,也感受到了伙伴们对知识准确性的追求。

上篇文章分享了许多理论性的知识点,之所以续写搞懂箱型图(下篇),还是由于有些问题在上一篇中没有说明白。本篇将通过实际例子来告诉大家,不必太纠结上四分位数和下四分位数具体的计算规则。因为四分位数的计算规则不是唯一的,有几种不同的计算方法,不同的统计分析软件,默认的处理方式也不太相同。

test = [1,2,3,4,5,6,7,8]
本文中还是以此为例进行演示

1. Rstudio计算四分位数

打开Rstudio软件,输入以下代码,可以查看变量test的四分位数计算结果,包括上四分位数,下四分位数。
在这里插入图片描述

2. Mathlab计算四分位数

在mathlab中是通过函数quantitle(x,p)来计算分位数的,其中x表示数据对象。计算四分位数时,参数p=0.25;计算四分之三分位数时,参数p=0.75。以下展示了这组数据在Mathlab中的计算结果。在这里插入图片描述
同样一组数据在Rstudio中与Mathlab中竟然得到了不同的四分位数,这是什么情况?抱着这个问题再来看看python中的计算结果。

3. IPython计算四分位数

同样的打开IPython,来看一下python 中是如何计算四分位数的。
在这里插入图片描述
结果与Rstudio的结果一致,这又说明什么?为了进一步探究这个结果是如何计算出来的,我们需要查看numpy库中percentile()函数的实现方法。通过pycharm这个集成开发环境找到了percentile()函数的实现方法,以及其参数定义。
在这里插入图片描述
其中有个interpolation参数,正是定义了计算规则的关键。仔细一阅读,这下就明白了,如果不给interpolation参数赋值,该方法默认选择linear线性计算方法。

反之,可以通过给interpolation赋值选择计算分位数的方法。

  • lower:表示以两数之间较小者作为分位数
  • higher:表示以两数之间较大者作为分位数
  • nearest:表示以分位点所靠较近的一个数作为分位数
  • midpoint:表示以两个数的算数平均数作为分位数

这里所说的两个数,是指(n+1)/k,其中n表示一组数据的样本个数,k指这组数据被分成的段数,比如,二分位k=2,四分位k=4。

在这里插入图片描述
假设分数部分是f,就用if+j(1-f)即可得到相应的分位数

扫描下方二维码,关注微信公众号“数据分析师手记”
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fwj_ntu/article/details/82933837