EDA365电子论坛网

标题: Matlab boxplot命令 [打印本页]

作者: thinkfunny    时间: 2020-4-14 09:49
标题: Matlab boxplot命令

* c3 q6 A! {! @) |* b  L, b2 l格式如下( V, b; y" k: W2 f
boxplot(X):产生矩阵X的每一列的盒图和“须”图,“须”是从盒的尾部延伸出来,并表示盒外数据长度的线,如果“须”的外面没有数据,则在“须”的底部有一个点。 www.iLoveMatlab.cn
3 Q. c, N; v: U' {/ \& ]boxplot(X,notch):当notch=1时,产生一凹盒图,notch=0时产生一矩箱图。1 ^7 [3 }0 @) g  K" ~1 s/ p
boxplot(X,notch,'sym'):sym表示图形符号,默认值为“+”。
6 m9 g- r4 N+ O3 ]  uboxplot(X,notch,'sym',vert) %当vert=0时,生成水平盒图,vert=1时,生成竖直盒图(默认值vert=1)。 Matlab中文论坛
2 D5 ^1 a9 `2 _) d$ `; qboxplot(X,notch,'sym',vert,whis) %whis定义“须”图的长度,默认值为1.5,若whis=0则boxplot函数通过绘制sym符号图来显示盒外的所有数据值。: q7 u( c% k6 g* q
=========================================================================================- j- _) [6 }, z% o

+ a: W1 i! A# A3 \& @箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法,它也可以粗略地看出数据是否具有有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。
" X: S+ \; A- a7 @: m8 W画图步骤:2 O% D; A. `% o2 x1 a
1、画数轴,度量单位大小和数据批的单位一致,起点比最小值稍小,长度比该数据批的全距稍长。% ~* q) r# e5 D& \7 Q: k; ~( y
2、画一个矩形盒,两端边的位置分别对应数据批的上下四分位数(Q1和Q3)。在矩形盒内部中位数(Xm)位置画一条线段为中位线。
( L3 j; i4 X7 ?( i: |# [3、在Q3+1.5IQR(四分位距)和Q1-1.5IQR处画两条与中位线一样的线段,这两条线段为异常值截断点,称其为内限;在F+3IQR和F-3IQR处画两条线段,称其为外限。处于内限以外位置的点表示的数据都是异常值,其中在内限与外限之间的异常值为温和的异常值(mild outliers),在外限以外的为极端的异常值(extreme outliers)。
7 G! a5 }( r+ c  Y4、从矩形盒两端边向外各画一条线段直到不是异常值的最远点,表示该批数据正常值的分布区间。
7 A- Z8 b7 Q- v3 J; @5、用“〇”标出温和的异常值,用“*”标出极端的异常值。相同值的数据点并列标出在同一数据
0 L' j0 X# E# u; W2 E$ v0 b+ J9 ]( m线位置上,不同值的数据点标在不同数据线位置上。至此一批数据的箱线图便绘出了。统计软件绘制的箱线图一般没有标出内限和外限。
. s5 {1 [' L% K9 A8 a箱线图的功能0 H. K+ q( h. P& N
箱线图作为描述统计的工具之一,其功能有独特之处,主要有以下几点:4 J( S# T- W3 x# Y7 `: u! ?7 b: @
1.直观明了地识别数据批中的异常值
" b$ J) q/ N- K! D, _: l! x
6 l: j6 ^! p# I6 f: W# @# B, _一批数据中的异常值值得关注,忽视异常值的存在是十分危险的,不加剔除地把异常值包括进数据的计算分析过程中,对结果会带来不良影响;重视异常值的出现,分析其产生的原因,常常成为发现问题进而改进决策的契机。箱线图为我们提供了识别异常值的一个标准:异常值被定义为小于Q1-1.5IQR或大于Q3+1.5IQR的值。虽然这种标准有点任意性,但它来源于经验判断,经验表明它在处理需要特别注意的数据方面表现不错。这与识别异常值的经典方法有些不同。众所周知,基于正态分布的3σ法则或z分数方法是以假定数据服从正态分布为前提的,但实际数据往往并不严格服从正态分布。它们判断异常值的标准是以计算数据批的均值和标准差为基础的,而均值和标准差的耐抗性极小,异常值本身会对它们产生较大影响,这样产生的异常值个数不会多于总数0.7%。显然,应用这种方法于非正态分布数据中判断异常值,其有效性是有限的。箱线图的绘制依靠实际数据,不需要事先假定数据服从特定的分布形式,没有对数据作任何限制性要求,它只是真实直观地表现数据形状的本来面貌;另一方面,箱线图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的耐抗性,多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不能对这个标准施加影响,箱线图识别异常值的结果比较客观。由此可见,箱线图在识别异常值方面有一定的优越性。6 Q7 Z! ^, J6 K- N1 H4 k
2.利用箱线图判断数据批的偏态和尾重
2 _) x$ U- f3 L# B( l8 h& @比较标准正态分布、不同自由度的t分布和非对称分布数据的箱线图的特征,可以发现:对于标准正, o. }* L7 X6 H, N+ e; c: X
态分布的大样本,只有 0.7%的值是异常值,中位数位于上下四分位数的中央,箱线图的方盒关于中位线对称。选取不同自由度的t分布的大样本,代表对称重尾分布,当t分布的自由度越小,尾部越重,就有越大的概率观察到异常值。以卡方分布作为非对称分布的例子进行分析,发现当卡方分布的自由度越小,异常值出现于一侧的概率越大,中位数也越偏离上下四分位数的中心位置,分布偏态性越强。异常值集中在较小值一侧,则分布呈现左偏态;;异常值集中在较大值一侧,则分布呈现右偏态。下表列出了几种分布的样本数据箱线图的特征(样本数据由SAS的随机数生成函数自动生成),验证了上述规律。这个规律揭示了数据批分布偏态和尾重的部分信息,尽管它们不能给出偏态和尾重程度的精确度量,但可作为我们粗略估计的依据。/ R( L' _3 F1 j0 w
3.利用箱线图比较几批数据的形状
) I# D+ b$ {' O: w5 k- c4 M1 `同一数轴上,几批数据的箱线图并行排列,几批数据的中位数、尾长、异常值、分布区间等形状信
# l, n; G3 n8 v" v0 b' ]息便昭然若揭。在一批数据中,哪几个数据点出类拔萃,哪些数据点表现不及一般,这些数据点放在同类其它群体中处于什么位置,可以通过比较各箱线图的异常值看出。各批数据的四分位距大小,正常值的分布是集中还是分散,观察各方盒和线段的长短便可明了。每批数据分布的偏态如何,分析中位线和异常值的位置也可估计出来。还有一些箱线图的变种,使数据批间的比较更加直观明白。例如有一种可变宽度的箱线图,使箱的宽度正比于批量的平方根,从而使批量大的数据批有面积大的箱,面积大的箱有适当的视觉效果。如果对同类群体的几批数据的箱线图进行比较,分析评价,便是常模参照解释方法的可视图示;如果把受测者数据批的箱线图与外在效标数据批的箱线图比较分析,便是效标参照解释的可视图示。箱线图结合这些分析方法用于质量管理、人事测评、探索性数据分析等统计分析活动中去,有助于分析过程的简便快捷,其作用显而易见。; \! d1 d( R* h* i) O
. f( d. B: B0 w; K$ W1 X% P9 z6 a* a
==========================================================================================
2 ]' c( i& N; F, A+ b+ W7 R/ J1 {! K
Matlab boxplot命令操作时,
* l0 G4 G7 G. j当画两列不同行数的向量时,默认无法操作。; }9 }, M8 u" F8 f' J7 `

+ Y7 z- M8 M( X9 l6 ?) u4 p
; A0 m) f  x6 S( U- q8 A9 x3 a% i! G* N2 _
网上google后,得出以下方法解决:
- B' i: m5 o- k  T
" o6 F) c1 H5 L5 t7 f
' f7 g' R! B  M2 m( x9 i. }& ?! `1 S! m3 Z' F+ ~) s% X
Make y the same size size as x and fill with NaN's:( _% y% R! j3 u5 `

6 s2 \- o7 n% o9 _8 a. s7 p! s/ [x=(1:200).';
" G. \- o& ?( N- E  M$ Xy=50*rand(100,1);5 P. f1 q$ m. s

1 b& R' `( Q  Q0 D3 d1 xyy = zeros(200,1);3 y3 U# a) K6 t) B: H' h9 S
+ k6 ^  i$ o/ D4 z( S
yy(:,:) = NaN;: j$ W( ~% w, i1 W. a
yy(1:numel(y))=y;
/ L7 g" {$ T4 r& o/ }6 A3 X) |boxplot([x yy])
作者: CCxiaom    时间: 2020-4-14 18:27
Matlab boxplot命令




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2