关于四分位数的两种求法
在数据导论课上,我们学习了如何求解四分位数的方法,其实操作起来也不难先用 (n+1) / 4 * i 计算出四分位数的位置,再求出该位置上的数的值即可。如一组数据 【1,3,6,8,10】 根据公式先求出第一个四分位数的位置1.5,然后再用 1 * 0.5 + 3 * 0.5 = 2 得出第一个四分位数为2,如此类推可以得到Q2=6,Q3=9,如此一来,我们便掌握了四分位数的求法。
课后老师布置了作业,给出一组数据,要求求出四分位数。数据如下【35,55,60,67,70,74,75,75,76,78,78,80,83,87,88,90,93】,我一看这还不简单吗,(17+1)/4=4.5,直接用67 * 0.5+70 * 0.5=68.5,同样的,Q3=85。解决问题了。
但老师后面还给了一段python的程序要我们运行,于是我把程序运行了下却发现结果是不同的,得出的结果是70和83。一开始我以为自己算错了,但这么简单的数字运算,几次运算的结果都是相同的,应该不是计算的问题,但是我怕是犯了什么低级错误,所以我用excel表格里面的函数模块来计算四分位数,发现结果仍然是70和83,难道是算法的问题,于是我上网重新搜索了四分位数的计算方法,大部分都是这么算的,似乎算法也没有什么问题。于是我寻寻觅觅,在其中一个网页上发现了一种不同的计算方法其公式是:(n-1)/4i+1,通过这种方法计算上面的那一组数据(17-1)/41+1正好是5,而第五个位置正好是70,同样的,用这种方法计算Q3=83,也与程序结果相符的。我想应该是我们用的求法和程序的求法不同导致了结果的不同。后来我发现在excel表格中有两种不同的求四分位数的函数其一是:QUARTILE.EXC,以这个函数算出来的结果就是68.5和85,而另一个函数QUARTILE算出来的结果就是70和83。真相大白了。
但让我费解的是明明确定求四分位数,为什么会有两种求法并且结果还会有所差异呢?
这得从其求法的原理说起,方法1是把数据看成一个个块,一组数据就可以看成是一条带子,这条带子的中间位置就是第二个四分位数的位置,再除以2,就是Q1 或Q3的位置。而方法的话则是把数字看成是一个个点,这些点分布再一条绳子上,绳子的四分之一处就是四分位数的位置。
求法的原理不同归根结底是两种四分位数的含义不同,四分位数的定义是:“四分位数把数据分成了左右两份,使左边含有25%的数据,右边含有75%的数据,但四分位数位置上这个数到底是算在哪一边似乎都是可行的,方法一是放在25%这一边的,方法二则是放在中间的,使得其前有25%的数据,其后有75%的数据。
这就是为何四分位数有两种计算方法