重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
上一课介绍了柱形图和条形图,本课将介绍另外几种统计图表。
成都创新互联是一家专业提供郸城企业网站建设,专注与网站设计制作、成都做网站、成都h5网站建设、小程序制作等业务。10年已为郸城众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
Box Plot 有多种翻译,盒须图、盒式图、盒状图或箱线图、箱形图等,不管什么名称,它的基本结构是这样的:
这种图是由美国著名统计学家约翰·图基(John Tukey)于 1977 年发明的,它能显示出一组数据的上限、下限、中位数及上下四分位数。
为了更深入理解箱线图的含义,假设有这样一组数据:[1, 3, 5, 8, 10,11, 16, 98 ],共有 8 个数字。
首先要计算箱线图中的“四分位数”,注意不是 4 个数:
对于已经排序的数据 [1, 3, 5, 8, 10,11, 16, 98 ],下四分位数(Q1)的位置是数列中从小到大第 2.25 个数,当然是不存在这个数字的——如果是第 2 个或者第 3 个,则存在。但是,可以用下面的原则,计算出此位置的数值。
四分位数等于与该位置两侧的两个整数的加权平均数,此权重取决于相对两侧整数的距离远近,距离越近,权重越大,距离越远,权重越小,权数之和等于 1。
根据这个原则,可以分别计算本例中数列的 3 个四分位数。
在此计算基础上,还可以进一步计算四分位间距和上限、下限的数值。
先看一个简单示例,了解基本的流程。
输出结果:
这里绘制了两张箱线图,一张没有显示平均值,另外一张显示了平均值,所使用的方法就是 boxplot,其完整参数列表为:
参数很多,不要担心记忆问题,更别担心理解问题。首先很多参数都是可以“望文生义”的,再有,与以前所使用的其他方法(函数)的参数含义也大同小异。
输出结果:
所谓的“凹槽”,不是简单形状的改变,左右折线的上限区间表示了数据分布的置信区间,横线依然是上限和下限。
25%, 50%和75%是对应的四分位数。
四分位数(Quartile)是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。
第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。
方法一是放在25%这一边的,方法二则是放在中间的,使得其前有25%的数据,其后有75%的数据。
扩展资料
在数据导论课上,我们学习了如何求解四分位数的方法,其实操作起来也不难先用 (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的位置。而方法的话则是把数字看成是一个个点,这些点分布再一条绳子上,绳子的四分之一处就是四分位数的位置。
资料来源于网络若侵权联系删
Python数据可视化:箱线图
一、箱线图概念
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。
计算过程:
(1)计算上四分位数(Q3),中位数,下四分位数(Q1)
(2)计算上四分位数和下四分位数之间的差值,即四分位数差(IQR,interquartile range)Q3-Q1
(3)绘制箱线图的上下范围,上限为上四分位数,下限为下四分位数。在箱子内部中位数的位置绘制横线。
(4)大于上四分位数1.5倍四分位数差的值,或者小于下四分位数1.5倍四分位数差的值,划为异常值(outliers)。
(5)异常值之外,最靠近上边缘和下边缘的两个值处,画横线,作为箱线图的触须。
(6)极端异常值,即超出四分位数差3倍距离的异常值,用实心点表示;较为温和的异常值,即处于1.5倍-3倍四分位数差之间的异常值,用空心点表示。
(7)为箱线图添加名称,数轴等
二、四分位数的计算
分位数根据其将数列等分的形式不同可以分为中位数,四分位数,十分位数、百分位数等等。四分位数作为分位数的一种形式,在统计中有着十分重要的意义和作用,而大多数的统计学原理教材只介绍其基本含义,对其具体计算,尤其是由组距数列计算都不作介绍,成为统计学原理教材中的空白。那么,如何根据数列计算四分位数呢?一般来讲,视资料是否分组而定。
1、根据未分组的资料计算四分位数
第一步:确定四分位数的位置
四分位数是将数列等分成四个部分的数,一个数列有三个四分位数,设下分位数、中分位数和上分位式中n表示资料的项数
第二步:根据第一步所确定的四分位数的位置,确定其相应的四分位数。
例1:某车间某月份的工人生产某产品的数量分别为13、13.5、13.8、13.9、14、14.6、14.8、15、15.2、15.4、15.7公斤,则三个四分位数的位置分别为:
即变量数列中的第三个、第六个、第九个工人的某种产品产量分别为下四分位数、中位 数和上四分位数。即:
Q1 =13.8公斤、Q2=14.6公斤、Q3=15.2公斤
上例中(n+1)恰好为4的倍数,所以确定四分数较简单,如果(n+1)不为4的整数倍数,按上述分式计算出来的四分位数位置就带有小数,这时,有关的四分位数就应该是与该小数相邻的两个整数位置上的标志值的平均数,权数的大小取决于两个整数位置距离的远近,距离越近,权数越大,距离越远,权数越小,权数之和等于1。
例2:某车间某月份的工人生产某产品的数量分别为13、13.5、13.8、13.9、14、14.6、14.8、15、15.2、15.4公斤,则三个四分位数的位置分别为:
即变量数列中的第2.75项、第5.5项、第8.25项工人的某种产品产量分别为下四分位 数、中位数和上四分位数。即:
在实际资料中,由于标志值序列中的相邻标志值往往是相同的,因而不一定要通过计算才能得到有关的四分位数。
2、由组距式数列确定四分位数
第一步,向上或向下累计次数.
第二步,根据累计次数确定四分位数的位置.
(1)、当采用向上累计次数的资料确定四分位数时,四分位数位置的公式是:
(2)、当采用向下累计次数的资料确定四分位数时,四分位数位置的公式是:
第三步,根据四分位数的位置算出各四分位数.
(1)、当累计次数是向上累计时,按下限公式计算各四分位数.
(2)、当累计次数是向下累计时,按上限公式计算各四分位数.
例3:某企业职工按月工资的分组资料如下:
根据上述资料确定某企业职工的月工资的三个四分位数如下:
(1)、采用向上累计职工人数的资料得月工资四分位数的位置为:
(2)、采用向下累计职工人数的资料得月工资四分位数的位置为:
3、异常值
异常值:限制线以外的数据全部为异常值
三、画图
# Python
import plotly.plotly
import plotly.graph_objs as go
data = [
go.Box(
y=[0, 1, 1, 2, 3, 5, 8, 13, 21] # 9个数据
)
]
plotly.offline.plot(data) # 离线绘图