Matlab方差分析

为了使生产过程稳定,达到优质、高产,需要对影响产品质量的因素进 行分析,找出有显著影响的那些因素,除了从机理方面进行研究外,常常要作许多试验, 对结果作分析、比较,寻求规律。用数理统计分析试验结果、鉴别各因素对结果影响程 度的方法称为方差分析(Analysis Of Variance),记作 ANOVA。

试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子,因素所处的状态称为水平。根据因素个数可以分为:单因素方差分析和双因素方差分析。

目录

1.单因素方差分析

1.1数学模型

1.2 统计分析 

1.3 方差分析表 

 1.4 Matlab 实现

(1)均衡数据

(2)非均衡数据

 1.5 多重比较

2. 双因素方差分析 

2.1 数学模型

2.2 无交互影响的双因素方差分析 

​编辑 2.3 关于交互效应的双因素方差分析

2.4 Matlab 实现 


1.单因素方差分析

只考虑一个因素 A 对所关心的指标的影响, A 取几个水平,在每个水平上作若干个试验,试验过程中除 A 外其它影响指标的因素都保持不变(只有随机因素存在),我们的任务是从试验结果推断,因素 A 对指标有无显著影响,即当 A 取不同水平时指标有无显著差别。 A 取某个水平下的指标视为随机变量,判断 A 取不同水平时指标有无显著差别, 相当于检验若干总体的均值是否相等。

1.1数学模型

1.2 统计分析 

由卡方分布的可加性得:

1.3 方差分析表 

方差分析一般用的显著性水平是:取α = 0.01,拒绝 H0 ,称因素 A 的影响(或 A 各水平的差异)非常显著;取α = 0.01,不拒绝 H0 ,但取α = 0.05 ,拒绝 H0 ,称因 素 A 的影响显著;取α = 0.05 ,不拒绝 H0 ,称因素 A 无显著影响。 

 1.4 Matlab 实现

Matlab 统计工具箱中单因素方差分析的命令是 anoval。 若各组数据个数相等,称为均衡数据。若各组数据个数不等,称非均衡数据。

(1)均衡数据

处理均衡数据的用法为: p=anoval(x)

返回值 p 是一个概率,当 p > α 时接受 H0 ,x 为m× r 的数据矩阵,x 的每一列是一个 水平的数据(这里各个水平上的样本容量 ni = m )。另外,还输出一个方差表和一个 Box 图。

示例:

x=[256 254 250 248 236 
 242 330 277 280 252 
 280 290 230 305 220 
 298 295 302 289 252]; 
p=anova1(x) 

 得 p = 0.1109 >α = 0.05,故不能拒绝原假设,接受H0,即 5 名工人的生产率没有显著差异。

方差表对应于上面的单因素方差分析表的1 ~ 4 列,F = 2.262 是 F(4,15) 分布的1− p 分 位数,可以验证 fcdf(2.262,4,15)=0.8891=1-p。

 Box 图反映了5个工人生产率数据的特征。

(2)非均衡数据

处理非均衡数据的用法为: p=anova1(x,group)

x 为向量,从第 1 组到第 r 组数据依次排列;group 为与 x 同长度的向量,标志 x 中数 据的组别。

示例:

clc,clear;
x=[1620 1580 1460 1500 
 1670 1600 1540 1550 
 1700 1640 1620 1610 
 1750 1720 1680 1800]; 
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)]; 
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)]; 
p=anova1(x,g) 

求得:p=0.0331<0.05,所以几种工艺制成的灯泡寿命有显著差异。

 

 1.5 多重比较

在灯泡寿命问题中,为了确定哪几种工艺制成的灯泡寿命有显著差异,我们先算出各组数据的均值:

虽然 A1 的均值最大,但要判断它与其它几种有显著差异,还需做多重比较。一般多重比较要对所有 r 个总体作两两对比,分析相互间的差异。根据问题的具体情况可以减少对比次数。

clc,clear;
x=[1620 1580 1460 1500 
 1670 1600 1540 1550 
 1700 1640 1620 1610 
 1750 1720 1680 1800]; 
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)]; 
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)]; 
[p,t,st]=anova1(x,g) 
[c,m,h,nms] = multcompare(st); 
[nms num2cell(m)] 

2. 双因素方差分析 

如果要考虑两个因素 A,B 对指标的影响, A,B 各划分几个水平,对每一个水平组 合作若干次试验,对所得数据进行方差分析,检验两因素是否分别对指标有显著影响, 或者还要进一步检验两因素是否对指标有显著的交互影响。

2.1 数学模型

2.2 无交互影响的双因素方差分析 

如果根据经验或某种分析能够事先判定两因素之间没有交互影响,每组试验就不必重复,即可令

t = 1,过程大为简化。

 

无交互效应的两因素方差分析表:

 2.3 关于交互效应的双因素方差分析

 关于交互效应的两因素方差分析表:

2.4 Matlab 实现 

统计工具箱中用 anova2 作双因素方差分析。

命令为 :p=anova2(x,reps)

其中 x 不同列的数据表示单一因素的变化情况,不同行中的数据表示另一因素的变化情况。如果每种行—列对(“单元”)有不止一个的观测值,则用参数 reps 来表明每个“单元”多个观测值的不同标号,即 reps 给出重复试验的次数t 。

x=[58.2 56.2 65.3 
49.1 54.1 51.6 
60.1 70.9 39.2 
75.8 58.2 48.7]; 
[p,t,st]=anova2(x) 

求得p=0.4491  0.7387,表明各种燃料和各种推进器之间的差异对于火箭射程无显著影响。 

clc,clear 
x0=[58.2,52.6 56.2,41.2 65.3,60.8 
49.1,42.8 54.1,50.5 51.6,48.4 
60.1,58.3 70.9,73.2 39.2,40.7 
75.8,71.5 58.2,51.0 48.7,41.4]; 
x1=x0(:,1:2:5);x2=x0(:,2:2:6); 
for i=1:4 
 x(2*i-1,:)=x1(i,:); 
 x(2*i,:)=x2(i,:); 
end 
[p,t,st]=anova2(x,2)

 求得 p=0.0035 0.026 0.0001,均小于0.05,故可拒绝均值相等假设。即认为不同燃料(因素 A )、不同推进器(因素 B )下的射程有显著差异,交互作用也是显著的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Roy Teng

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

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

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

打赏作者

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

抵扣说明:

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

余额充值