二、MATLAB的双因素有交互效应的方差分析在两个因素的试验中,不但每一个因素单独对试验结果起作用,往往两个因素的不同水平组合还会产生一定的合作效应,在方差分析中称为交互效应。交互效应在对因素方差分析中,通常是当成一个新因素来处理。设因素A
有 r 个不同的水平:A1,A2,…,Ar;因素B 有 s
个不同的水平:B1,B2,…,Bs;现对因素A、B的每一种不同的水平组合(Ai,Bj)(i=1,2,…,r;j=1,2,…,s)都安排t(t≥2)次试验(等重复试验),且各次试验相互独立。
利用Matlab作方差分析课堂例题
例1(单因素方差分析)一位教师想要检查3种不同的教学方法的效果,为此随机地选取水平相当的15位学生。把他们分为3组,每组5人,每一组用一种方法教学,一段时间以后,这位教师给15位学生进行统考,成绩见下表1。问这3种教学方法的效果有没有显著差异。表1 学生统考成绩表
方法
成绩
甲
75
62
71
58
73
乙
71
85
68
92
90
丙
73
79
60
75
81
Matlab中可用函数anova1(…)函数进行单因子方差分析。
调用格式:p=anova1(X)含义:比较样本
m×n的矩阵X中两列或多列数据的均值。其中,每一列表示一个具有m个相互独立测量的独立样本。
返回:它返回X中所有样本取自同一总体(或者取自均值相等的不同总体)的零假设成立的概率p。//置信区间5%
显著性水平就是变量落在置信区间以外的可能性,“显著”就是与设想的置信区间不一样,用α表示。
显然,显著性水平与置信水平的和为1。
显著性水平为0.05时,α=0.05,1-α=0.95
如果置信区间为(-1,1),即代表变量x在(-1,1)之间的可能性为0.95。
0.05和0.01是比较常用的,但换个数也是可以的,计算方法还是不变。
总之,置信度越高,显著性水平越低,代表假设的可靠性越高,越好。//置信度越低,显著性越高,越显著,假设越不可靠
解释
:若p值接近0(接近程度有解释这自己设定),则认为零假设可疑并认为至少有一个样本均值与其它样本均值存在显著差异。 Matlab程序:
Score=[75 62 71 58 73;81 85 68 92 90;73 79 60 75 81]’;
P=anova1(Score) 输出结果:方差分析表和箱形图 ANOVA Table
Source SS df MS F
Prob>F
Columns 604.9333 2 302.4667 4.2561 0.040088 Error
852.8 12 71.0667 Total 1457.7333 14 由于p值小于0.05,拒绝零假设,认为3种教学方法存在显著差异。
例2(双因素方差分析)为了考察4种不同燃料与3种不同型号的推进器对火箭射程(单位:海里)的影响,做了12次试验,得数据如表2所示。表2 燃料-推进器-射程数据表
推进器1
推进器2
推进器3
燃料1
58.2
56.2
65.3
燃料2
49.1
54.1
51.6
燃料3
60.1
70.9
39.2
燃料4
75.8
58.2
48.7
在Matlab中利用函数 anova2函数进行双因素方差分析。
调用格式:p=anova2(X,reps)含义:比较样本X中两列或两列以上和两行或两行以上数据的均值。不同列的数据代表因素A的变化,不同行的数据代表因素B的变化。若在每个行-列匹配点上有一个以上的观测量,则参数reps指示每个单元中观测量的个数。
返回:当
reps=1(默认值)时,anova2将两个p值返回到向量p中。
H0A:因素A的所有样本(X中的所有列样本)取自相同的总体;
H0B:因素B的所有样本(X中的所有行样本)取自相同的总体。
当reps>1时,anova2还返回第三个p值:
H0AB:因素A与因素B没有交互效应。
解释:如果任意一个p值接近于0,则认为相关的零假设不成立。 Matlab程序:
disp1=[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=anova2(disp1,1)
输出结果:方差分析表 ANOVA Table
Source SS df MS
F Prob>F Columns 157.59 3 52.53 0.43059 0.73875 Rows 223.8467 2 111.9233
0.91743 0.44912 Error 731.98 6 12 1.9967 Total 1113.4167 11 由于燃料和推进器对应的p值均大于0.05,所以可以接受零假设H0A和H0B,认为燃料和推进器对火箭的射程没有显著影响。