Matlab结果性能评价---boxplot函数(用箱线图可视化汇总统计量)

实例1:创建一个表示车辆每加仑英里数(MPG)数据的箱线图

实例2:为多个分组数据创建箱线图

实例3:随机生成数据并创建带缺口的箱线图

实例4:随机生成数据并创建指定虚线长度的带缺口的箱线图

实例5:随机生成数据并创建默认和紧凑型箱线图

实例6:随机生成数据并创建可变长度向量的箱线图

本例程配套完整源码下载

 

语法描述:

boxplot(x)  创建 x 中数据的箱线图。如果 x 是向量,boxplot 绘制一个箱子。如果 x 是矩阵,boxplot 为 x 的每列绘制一个箱子。在每个箱子上,中心标记表示中位数,箱子的底边和顶边分别表示第 25 个和 75 个百分位数。须线会延伸到不是离群值的最远端数据点,离群值会以 '+' 符号单独绘制。

boxplot(x,g) 使用 g 中包含的一个或多个分组变量创建箱线图。boxplot 为具有相同的一个或多个 g 值的各组 x 值创建一个单独的箱子

boxplot(ax,___) 使用坐标区图形对象 ax 指定的坐标区和任何上述语法创建箱线图。

boxplot(___,Name,Value) 使用由一个或多个 Name,Value 对组参数指定的附加选项创建箱线图。例如,您可以指定箱子样式或顺序。

 

实例1:创建一个表示车辆每加仑英里数(MPG)数据的箱线图

close all;clear;%关闭所有窗口,清空变量
load carsmall %加载样本数据
%创建一个表示每加仑汽油车辆能跑的英里数 (MPG)数据的箱线图
boxplot(MPG)
xlabel('所有车辆')%为X坐标区加标签。
ylabel('每加仑汽油能跑的英里数')%为Y坐标区加标签
title('所有车辆每加仑汽油能跑的英里数')%添加标题

             

    

注:MPG具体数据在程序运行后见 打开变量——>MPG

结论:由上图箱线图显示,MPG样本数据中所有车辆的每加仑汽油能跑的英里数的:

1、总数据个数为100,组数为1

2、中位数为 24 英里

3、最小值为 9,最大值为 44

4、NaN或Inf数据个数为6

5、数据中,从小到大在25%位置的数据是16.5,在75%位置的数据是29(此百分比计算是除掉6个NaN或Inf数计算的)

实例2:为多个分组数据创建箱线图

close all;clear;%关闭所有窗口,清空变量
load carsmall %加载样本数据
%根据车辆的原产国分组创建表示每加仑汽油车辆能跑的英里数 (MPG)数据的箱线图
boxplot(MPG,Origin)%Origin(原产国)
xlabel('原产国国家')%为X坐标区加标签。
ylabel('每加仑汽油能跑的英里数(MPG)')%为Y坐标区加标签
title('原产国国家每加仑汽油能跑的英里数')%添加标题

  

结论:每个箱子直观地表示来自指定国家汽车的 MPG 数据。意大利的“箱子”显示为一条线,因为样本数据只包含该组的一个观测值(即MPG数据中只有第36个数据28是意大利的数据)

实例3:随机生成数据并创建带缺口的箱线图

close all;clear;%关闭所有窗口,清空变量
rng default  % For reproducibility 再现性
%生成两组样本数据,normrnd()是可以自己指定均数和标准差的正态分布
%样本x1包含从mu(均值) = 5 和sigma(标准差) = 1生成的100*1矩阵形式的
%正态分布的100个随机数
x1 = normrnd(5,1,100,1);
%样本x2包含从mu(均值) = 6 和sigma(标准差) = 1生成的100*1矩阵形式的
%正态分布的100个随机数
x2 = normrnd(6,1,100,1);

figure
%创建x1和x2的带缺口的箱线图,用对应的 mu(均值) 值对每个箱子加标签
boxplot([x1,x2],'Notch','on','Labels',{'mu(均值) = 5','mu(均值) = 6'})
%添加标题
title('比较不同正态分布的随机数据')

   

结论:箱线图显示两个组的中位数之间的差值约为 1。由于箱线图中的缺口不重叠,可以有 95% 的置信度认为真实的中位数不同。

实例4:随机生成数据并创建指定虚线长度的带缺口的箱线图

close all;clear;%关闭所有窗口,清空变量
rng default  % For reproducibility 再现性
%生成两组样本数据,normrnd()是可以自己指定均数和标准差的正态分布
%样本x1包含从mu(均值) = 5 和sigma(标准差) = 1生成的100*1矩阵形式的
%正态分布的100个随机数
x1 = normrnd(5,1,100,1);
%样本x2包含从mu(均值) = 6 和sigma(标准差) = 1生成的100*1矩阵形式的
%正态分布的100个随机数
x2 = normrnd(6,1,100,1);

figure
%创建x1和x2的带缺口的箱线图,用对应的 mu(均值) 值对每个箱子加标签
%其中最大须线长度指定为四分位差的 1.0 倍,虚线以外的数据点使用 + 显示
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'},'Whisker',1)
title('比较不同正态分布的随机数据')%添加标题

下图显示了相同数据的箱线图,其中最大虚线长度指定为四分位差的 1.0 倍。虚线以外的数据点使用 + 显示

实例5:随机生成数据并创建默认和紧凑型箱线图

close all;clear;%关闭所有窗口,清空变量
%使用的随机数生成函数的设置重置为其默认值
rng default  % For reproducibility 可再现性
%创建从标准正态分布生成的一个 100×25 随机数矩阵,用作样本数据
x = randn(100,25);
%在同一张显示图上为 x 中的数据创建两个箱线图
%顶部图使用默认格式,底部图使用紧凑格式
figure
subplot(2,1,1)
boxplot(x)%创建默认格式箱线图
xlabel('分组号')%为X坐标区加标签。
ylabel('具体数值大小')%为X坐标区加标签。
subplot(2,1,2)
boxplot(x,'PlotStyle','compact')%创建紧凑格式箱线图
xlabel('分组号')%为X坐标区加标签。
ylabel('具体数值大小')%为X坐标区加标签。

结论:每个图显示相同的数据,但紧凑格式可以提高具有多个箱子的图的可读性

实例6:随机生成数据并创建可变长度向量的箱线图

close all;clear;%关闭所有窗口,清空变量
%使用的随机数生成函数的设置重置为其默认值
rng default  % For reproducibility 可再现性
%通过使用分组变量为不同长度的数据向量创建箱线图。
%随机生成三个不同长度的列向量x1、x2、x3:长度分别为 5、10 和 15。
x1 = rand(5,1);%随机生成列向量x1
x2 = rand(10,1);%随机生成列向量x2
x3 = rand(15,1);%随机生成列向量x3
x = [x1; x2; x3];%将x1、x2、x3合并为一个长度为 30 的列向量x
%创建一个分组变量,将同一值赋给 x 中来自于同一向量的行。
%例如,g 的前五行具有相同的值 First,因为 x 的前五行都来自同一个向量 x1
g1 = repmat({'First'},5,1);
g2 = repmat({'Second'},10,1);
g3 = repmat({'Third'},15,1);
g = [g1; g2; g3];
%创建箱线图
boxplot(x,g)
xlabel('向量组号')%为X坐标区加标签。
ylabel('具体数值大小')%为Y坐标区加标签

   

参考文献:

[1] McGill, R., J. W. Tukey, and W. A. Larsen. “Variations of Boxplots.” The American Statistician. Vol. 32, No. 1, 1978, pp. 12–16.

[2] Velleman, P.F., and D.C. Hoaglin. Applications, Basics, and Computing of Exploratory Data Analysis. Pacific Grove, CA: Duxbury Press, 1981.

[3] Nelson, L. S. “Evaluating Overlapping Confidence Intervals.” Journal of Quality Technology. Vol. 21, 1989, pp. 140–141.

[4] Langford, E. “Quartiles in Elementary Statistics”, Journal of Statistics Education. Vol. 14, No. 3, 2006.

参考链接

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦我飞也

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值