用anova2函数可以进行双因子方差分析。[大谦MATLAB,dqmatlab点com]
\(\left[ \begin{matrix} {x}_{111} & {x}_{111} \\ {x}_{112} & {x}_{121} \\ {x}_{211} & {x}_{122} \\ {x}_{212} & {x}_{221} \\ {x}_{311} & {x}_{222} \\ {x}_{312} & {x}_{322} \end{matrix} \right]\)p = anova2(X, reps):进行平衡双因子方差分析,以比较样本X中两列或两列以上和两行或两行以上数据的均值。不同列中的数据代表一个因子A的变化。不同行中的数据代表因子B的变化。
若在每一个行-列匹配点上有一个以上的观测值,则变量reps指示每一个元胞中观测值的个数。下面的矩阵显示了一个列有两个水平,行有3个水平的构造格式,并且每个元胞中有两个观测值(即reps=2)。下标分别表示行、列和重复次数。
当reps=1(默认值)时,anova2函数返回两个p值到p向量中。
零假设H0A的p值:零假设为源于因子A的所有样本(如X中的所有列样本)取自相同的总体。
零假设H0B的p值:零假设为源于因子B的所有样本(如X中的所有行样本)取自相同的总体。
当reps>1时,anova2在p向量中返回第3个值。
零假设H0AB的p值:零假设为因子A和因子B之间没有交互效应。
如果任意一个p值接近于0,则认为相关的零假设不成立。对于零假设H0A,一个足够小的p值表示至少有一个列样本均值明显地不同于其他列样本均值,即因子A存在主效应。对于零假设H0B,一个足够小的p值表示至少有一个行样本均值明显地不同于其他行样本均值,即因子B存在主效应。对于零假设H0AB,一个足够小的p值表示因子A与因子B之间存在交互效应。
为了确定结果是否是“统计上显著的”,需要确定p值。该值由自己确定。一般地,当p值小于0.05或0.01时,认为结果是显著的。
anova2 函数还可以显示一个含标准方差分析表的图形,它将X中数据的误差根据reps的值分为3部分或4部分:
由列均值差异引起的误差;
由行均值差异引起的误差;
由行列交互作用引起的误差(如果reps大于它的默认值1);
剩下的误差为不能被任何系统因素解释的误差。
该方差分析表中包含6列:
第1列显示误差来源;
第2列显示源于每一个误差来源的平方和(SS);
第3列为与每一个误差来源相关的自由度(df);
第4列为均值平方(MS),它是误差平方和与自由度的比值,即SS/df;
第5列为F统计量,它是均值平方和的比值;
第6列为p值,它是F的函数(fcdf);当F增加时p值减小。
p = anova2(X, group, 'displayopt'):当'displayopt'被设置为'on'(默认设置)时,激活ANOVA表和箱形图的显示;当'displayopt'被设置为'off'时,不予显示。
[p, table] = anova2(...):返回元胞数组表中的ANOVA表(包含列标签和行标签)。(使用Edit菜单中的Copy Text选项可以将ANOVA表以文本形式复制到剪贴板中。)
[p, table, stats] = anova2(...):返回stats结构,用于进行多重比较检验。anova2可以检验评价所有行、列和交互效应相等的零假设和它们不等的备择假设。如果检验结果存在显著差异,很有必要确定是哪些总体两两之间存在差异,哪些没有。将stats结构作为输入,使用multcompare函数可以进行此项检验。
为了考察4种不同燃料与3种不同型号的推进器对火箭射程(单位:千米)的影响,下面做了12次试验,得到的数据如表1-14所示。
表1-14 燃料—推进器—射程数据表
| 推进器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 |
要求分析燃料种类和推进器型号是否对火箭的射程有显著影响。零假设为没有影响。
>> disp=[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(disp,1)
p =
0.4491 0.7387
由于燃料和推进器对应的p值均大于0.05,所以可以接受零假设H01和H02,认为燃料种类和推进器型号对火箭的射程没有显著影响。图1-10为本问题的方差分析表。
图1-10 双因素方差分析表
设火箭的射程在其他条件基本相同时与燃料种类及推进器型号有关。现在将4种不同的燃料及3种不同的推进器进行搭配,对于每种搭配各发射火箭两次,得到的数据如表1-15所示。
表1-15 燃料—推进器-射程数据表
| 推进器1 | 推进器2 | 推进器3 | |
|---|---|---|---|
| 燃料1 | 58.2 52.6 | 56.2 41.2 | 65.3 60.8 |
| 燃料2 | 49.1 42.8 | 54.1 50.5 | 51.6 48.4 |
| 燃料3 | 60.1 58.3 | 70.9 73.2 | 39.2 40.7 |
| 燃料4 | 75.8 71.5 | 58.2 51.0 | 48.7 41.4 |
下面要检验各自变量和自变量的交互效应是否对火箭的射程有显著影响。零假设为没有影响。
>> disp2=[58.2 52.6 49.1 42.8 60.1 58.3 75.8 71.5
56.2 41.2 54.1 50.5 70.9 73.2 58.2 51.0
65.3 60.8 51.6 48.4 39.2 40.7 48.7 41.4]';
>> anova2(disp2,2)
ans =
0.0035 0.0260 0.0001
由ans向量可知,燃料、推进器和二者交互效应对应的p值分别为0.0035、0.0260和0.0001。三者均小于 0.05,所以拒绝3个零假设,认为燃料、推进器和二者的交互效应对火箭的射程都是有显著影响的。图1-11为本问题的方差分析表。
图1-11 方差分析表