您的位置:首页 > 其它

箱线图在软件管理中的应用

2010-05-31 09:06 211 查看
箱线图(Box plot)也称箱须图(Box-whisker Plot),是利用数据中的三个统计量:第一四分位数、中位数、第三四分位数来描述数据的一种方法,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息。作为一种数据分析的手段,箱线图简单易用,适合于:

(1) 建立过程性能基准

(2) 识别异常点。




在画箱线图时用到的基本概念:

(1)四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数。

(2) 第一四分位数 (Q1),又称“四分之一位数”或”下四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。

(3第二四分位数 (Q2),又称中位数(Median)将数据排序(从大到小或从小到大)后,位置在最中间的数值。当样本数为奇数时,中位数=第(N+1)/2个数据;当样本数为偶数时,中位数为第N/2个数据与第N/2+1个数据的算术平均值 。它是一组数据中间位置上的代表值,不受数据极端值的影响。因此某些数据的变动对它的中位数影响不大。当一组数据中的个别数据变动较大时,可用它来描述其集中趋势。:

(4)第三四分位数 (Q3),又称“四分之三位数”或”上四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

(5) 四分位数间距(IQR,interquartile range),又称”内距”,是上四分位数与下四分位数之差,用四分位数间距可反映变异程度的大小。

(6) 内限:Q1-1.5I*QR,Q3+1.5*IQR称为内限。

(7) 异常点(outliers):超出内限的值称为异常点。

画箱线图时,上须线的终点为在min(Q3+1.5*IQR,最大值),下须线的终点为max(Q1-1.5*IQR,最小值)

通过箱线图我们可以不管样本数据的分布类型,基于中位数、内限建立历史数据的性能基线。凡是超出内限的数据则认为是异常点。

在EXCEL中有2个函数可以计算四分位数:QUARTILE(array,quart)和PERCENTILE(array,k)。

举例如下:

有10个数如下:2,3,5,10,12,13,14,34,34,36。置于单元格A1到A10中。

采用QUARTILE函数分别计算如下:

下四分位数:QUARTILE(A1:A10,1)=6.25

中位数:QUARTILE(A1:A10,2)=12.5

上四分位数:QUARTILE(A1:A10,3)=29

采用PERCENTILE函数分别计算如下:

下四分位数:PERCENTILE (A1:A10,0.25)=6.25

中位数:PERCENTILE (A1:A10,0.5)=12.5

上四分位数:PERCENTILE (A1:A10,0.75)=29

中位数还可以采用median()函数计算之。

计算四分位数的方法有多种,在EXCEL中,求四分位数的算法如下:

找到第k小的数值,k=(quart/4)*(n-1))+1 ,quart为0到4之间的一个整数,即第quart四分位数。n位这组数中数值的个数。如果k不是整数,则下取整,并记录截去的小数位f。在数组中找到第k,k+1个整数,按下列公式计算:

Output = a[k]+(f*(a[k+1]-a[k]))

a[k] = 第k小的数值;

a[k+1] = 第k+1小的数值;

对于上面给出的序列,如果求下四分位数,则按上述的算法,计算结果如下:

k=trunk(1/4*(10-1)+1)=3

f=1/4*(10-1)+1-k=0.25

下四分位数=5+(10-5)*f=6.25

注意:在MINITAB中计算四分位数的算法与EXCEL的算法不同,因此结果也是不同的。为简单的目的,我们在实际中可以采用EXCEL的结果。

对于2-3级的企业,采用箱线图建立过程性能基线与采用控制图建立过程性能基线相比,箱线图法不需要判断数据的分布类型,不需要将数据点按时间排序,不需要计算标准差,简单易行,具有很强的实用性。如某企业积累了18个项目的系统测试的缺陷密度,得到如下的数据:

编号

缺陷密度(个/KLOC)

1

1.37

2

1.57

3

0.70

4

0.47

5

0.89

6

0.67

7

0.21

8

0.67

9

0.89

10

0.25

11

0.63

12

0.60

13

0.13

14

0.47

15

2.38

16

0.33

17

1.11

18

0.00

采用箱线图法建立基线,在EXCEL中计算结果如下:

Q1=0.37

Q2=0.65

Q3=0.89

IQR=0.52

于是建立基线如下:

下限:0 (负数无意义,故取值为0)

中值:0.65

上限:1.67
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: