登录
首页精彩阅读统计学笔记:箱型图以及python实践
统计学笔记:箱型图以及python实践
2020-05-11
收藏

最近在接触kaggle的竞赛示例,练习了一下,感觉受益匪浅。同时,心中也有个问题。拿到数据之后第一件事是什么?分析数据的情况?怎么分析?分析之后如何去处理数据呢?等等一些数据分析的工作。其中,大家都可能非常清楚条形图直方图散点图和曲线图的用处,但是箱型图呢?(或者称为盒须图)。


他的意义在哪里呢?在python中又是如何实现的呢?箱型图:从字面上理解就是箱子的图,如下图: 


 


箱型图有5个参数: 


下边缘(Q1),表示最小值;
下四分位数(Q2),又称“第一四分位数”,等于该样本中所有数值由小到大排列后第25%的数字;
中位数(Q3),又称“第二四分位数”等于该样本中所有数值由小到大排列后第50%的数字;
上四分位数(Q4),又称“第三四分位数”等于该样本中所有数值由小到大排列后第75%的数字;
上边缘(Q5),表述最大值。 


第三四分位数与第一四分位数的差距又称四分位间距。


那为什么要引入箱形图呢?我们来进行分析:


1.为了反映原始数据的分布情况,比如数据的聚散情况和偏态。看看《统计学》这本书的插图

从图中我们可以直观地看出,箱形图的中位数和上四分位数的间距比较窄的话,对应曲线图,这个间距内的数据比较集中,还有就是箱形图的上(下)边缘比较长的话,对应曲线图,尾巴就比较长。

2.箱型图有个功能就是可以检测这组数据是否存在异常值。异常值在哪里呢?就是在上边缘和下边缘的范围之外。(这个我也不太懂,总感觉和正态分布有一腿)

3.可以直观地比较多组数据的情况。还是《统计学》中的示例。

多组成绩的箱形图如下:

从这图我们可以很直观地看出以下信息:
1.各科成绩中,英语和西方经济学的平均成绩比较高,而统计学和基础会计学的平均成绩比较低。(用中位数来衡量整体情况比较稳定)

2.英语、市场营销学、西方经济学、计算机应用基础和财务管理成绩分布比较集中,因为箱子比较短。而经济数学、基础会计学和统计学成绩比较分散,我们可以对照考试成绩数据看看也可以证实。

3.从各个箱形图的中位数和上下四位数的间距也可以看出,英语和市场营销学的成绩分布是非常的对称,而统计学呢?非常的不平衡,大部分数据都分布在70到85(中位数到上四分位数)分以上。同样,也可以从成绩单里的数据证实

4.在计算机应用基础对应的箱形图出现了个异常点,我们回去看看成绩单,计算机那一栏,出现了个计算机大牛(真希望是我),考了95分,比第二名多了10分。而其他同学的成绩整体在80分左右。

5。其实我们也可以从中得知,用平均值去衡量整体的情况有时很不合理,用中位数比较稳定,因为中位数不太会收到极值的影响,而平均值则受极值的影响很大。

那么在python怎么去画箱型图呢?
本人用的是python 3,anaconda 平台。主要的模块有matplotlib,pandas,numpy

#首先导入基本的绘图包
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#添加成绩表
plt.style.use("ggplot")
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif']=['SimHei']

#新建一个空的DataFrame
df=pd.DataFrame()

 #添加成绩单,最后显示成绩单表格
df["英语"]=[76,90,97,71,70,93,86,83,78,85,81]
df["经济数学"]=[65,95,51,74,78,63,91,82,75,71,55]
df["西方经济学"]=[93,81,76,88,66,79,83,92,78,86,78]
df["计算机应用基础"]=[85,78,81,95,70,67,82,72,80,81,77]
df

#用matplotlib来画出箱型图
plt.boxplot(x=df.values,labels=df.columns,whis=1.5)
plt.show()

#用pandas自带的画图工具更快
df.boxplot()
plt.show()

好了!今天的箱形图就总结这里了。下次记得拿到数据的时候,要记得分析数据的分布以及数据间的关系哦,尤其是用可视化的手段去分析。


数据分析咨询请扫描二维码

客服在线
立即咨询