郭 萍
(青岛理工大学琴岛学院 基础部, 山东 青岛 266106)
方差分析是科学试验及数据统计分析中的重要方法之一,它主要用于对试验结果数据变动的分析,了解哪些因素对指标产生显著影响[1].文献[1-5]中给出了单因素、双因素及三因素方差分析的原理,本文简化了文献[5]中有交互影响的三因素方差分析的计算方法, 同时利用简化方法编程计算了具体的数学建模案例,并通过MATLAB实现了该案例的求解.
设有3个因素A、B、C,因素A取r个水平,分别记为A1,A2,…,Ar,因素B取s个水平,分别记为B1,B2,…,Bs,因素C取t个水平,分别记为C1,C2,…,Ct,在水平组合(Ai,Bj,Ck)下样本相互独立[4]且Xijk~N(μijk,σ2),i=1,2,…,r,j=1,2,…,s,k=1,2,…,t.
数学模型为:
故检验假设为:
有交互影响的三因素方差分析表见表1.
表1 有交互影响的三因素方差分析表[5]Table 1 Three-factor variance analysis with interaction
检验规则为:
(1) 若FA>Fα(r-1,rst(m-1)),则拒绝H01,认为因素A对指标值的影响显著;
(2)若FB>Fα(s-1,rst(m-1)),则拒绝H02,认为因素B对指标值的影响显著;
(3)若FC>Fα(t-1,rst(m-1)),则拒绝H03,认为因素C对指标值的影响显著;
(4)若FAB>Fα((r-1)(s-1),rst(m-1)),则拒绝H04,认为因素A与B交互作用显著;
(5)若FAC>Fα((r-1)(t-1),rst(m-1)),则拒绝H05,认为因素A与C交互作用显著;
(6)若FBC>Fα((s-1)(t-1),rst(m-1)),则拒绝H06,认为因素B与C交互作用显著;
(7)若FABC>Fα((r-1)(s-1)(t-1),rst(m-1)),则拒绝H07,认为因素A、因素B与因素C交互作用显著.
为了简化数据输入的工作量,同时也为了计算的简便,可以将初始数据进行“归整变换”,变换后再参与运算,即将初始数据减去一个常数,该常数为平均数附近的数值,然后乘上10的幂次,将小数点移去,即Y=10k(X-a).此变换后,数据是一些具有较少位数的整数,而且F值不变,这使得计算过程得到了很大的简化.
某集团为了研究商品销售点所在的地理位置、销售点处的广告和销售点的装潢这3个因素对商品的影响程度,选了3个位置(如市中心黄金地段、非中心的地段、城乡结合部),两种广告形式,两种装潢档次在某个城市进行了搭配试验.表2是销售量的数据,在显著水平0.05下,检验不同地理位置、不同广告、不同装潢下的销售量是否有显著差异[6].
表2 销售量数据Table 2 Sales data
MATLAB[7]统计工具箱中用ANOVAN作多因素方差分析.有交互影响的三因素方差分析命令为[p,t]=anovan(x,group,model,sstype,gnames),返回值p,当p>α时接受H0,说明因素对指标值无显著影响,当p<α时拒绝H0,说明因素对指标值有显著影响,t为方差分析表.
编写程序如下:
clc,clear
x1=[957 939 920 860 850 832 865 850 880 820 863 812];
group={[′A1′;′A1′;′A1′;′A1′;′A2′;′A2′;′A2′;′A2′;′A3′;′A3′;′A3′;′A3′;];
[′B1′;′B1′;′B2′;′B2′;′B1′;′B1′;′B2′;′B2′;′B1′;′B1′;′B2′;′B2′;];
[′C1′;′C2′;′C1′;′C2′;′C1′;′C2′;′C1′;′C2′;′C1′;′C2′;′C1′;′C2′;]};
[p1,t1]=anovan(x1,group,2,3,{′A′;′B′;′C′})
求得p1=0.026 9,0.154 8,0.044 2,0.121 1,0.336 4,0.597 7,方差分析表,如表3.
表3 MATLAB实现的方差分析表
由于ANOVAN只能解决在3个因素影响下一组数据中两两因素的交互作用,无法实现3个因素的交互作用,故由表3知,第一组数据下地理位置,装潢影响下得到的两个p值均小于0.05,故拒绝原假设,说明地理位置,装潢对该商品的销售量有显著影响.而广告及3个因素两两的交互作用对销售量没有显著的影响.综上所述,为了制定该商品更好的销售计划,地理位置、装潢都需要进行合理的选择.
由于MATLAB中已有的函数只能解决在3个因素影响下一组数据中两两因素的交互作用,无法实现3个因素的交互作用,故采用简化算法求解两组数据下3个因素的交互作用.
按照销售数据1、销售数据2及简化的算法X-870,原始数据依次变为:
87,69,50,-10,-20,-38,-5,-20,10,-50,-7-58,90,53,50,0,-36,-30,0,-38,24,-30,-17,-60.
按照有交互影响的三因素方差分析原理及偏差平方和分解式, 编写程序如下:
clc,clear
x1=[87 69 50 -10 -20 -38 -5 -20 10 -50 -7 -58 90 53 50 0 -36 -30 0 -38 24 -30 -17 -60];
t2=[sum(x1)]^2/24;
st=(87^2+69^2+50^2+(-10)^2+(-20)^2+(-38)^2+(-5)^2+(-20)^2+10^2+(-50)^2+(-7)^2+(-58)^2+ 90^2+53^2+50^2+0^2+(-36)^2+(-30)^2+ 0^2+(-38)^2+ 24^2+(-30)^2+(-17)^2+(-60)^2)-t2
a1=[87 69 50 -10 90 53 50 0];sum(a1);
a2=[-20 -38 -5 -20 -36 -30 0 -38]; sum(a2);
a3=[ 10 -50 -7 -58 24 -30 -17 -60]; sum(a3);
sa=(sum(a1)^2+ sum(a2)^2+ sum(a3)^2)/8- t2
b1=[87 69 -20 -38 10 -50 90 53 -36 -30 24 -30];sum(b1);
b2=[50 -10 -5 -20 -7 -58 50 0 0 -38 -17 -60]; sum(b2);
sb=(sum(b1)^2+ sum(b2)^2)/12-t2
c1=[87 50 -20 -5 10 -7 90 50 -36 0 24 -17];sum(c1);
c2=[69 -10 -38 -20 -50 -58 53 0 -30 -38 -30 -60]; sum(c2);
sc=(sum(c1)^2+ sum(c2)^2)/12-t2
ab1=[87 69 90 53]; sum(ab1);
ab2=[50 -10 50 0]; sum(ab2);
ab3=[-20 -38 -36 -30]; sum(ab3);
ab4=[-5 -20 0 -38]; sum(ab4);
ab5=[10 -50 24 -30]; sum(ab5);
ab6=[-7 -58 -17 -60]; sum(ab6);
sab=(sum(ab1)^2+ sum(ab2)^2+ sum(ab3)^2+ sum(ab4)^2+ sum(ab5)^2+ sum(ab6)^2)/4-t2-sa-sb
ac1=[87 50 90 50]; sum(ac1);
ac2=[69 -10 53 0]; sum(ac2);
ac3=[-20 -5 -36 0]; sum(ac3);
ac4=[-38 -20 -30 -38]; sum(ac4);
ac5=[10 -7 24 -17]; sum(ac5);
ac6=[-50 -58 -30 -60]; sum(ac6);
sac=(sum(ac1)^2+ sum(ac2)^2+ sum(ac3)^2+ sum(ac4)^2+ sum(ac5)^2+ sum(ac6)^2)/4-t2-sa-sc
bc1=[87 -20 10 90 -36 24]; sum(bc1);
bc2=[69 -38 -50 53 -30 -30]; sum(bc2);
bc3=[50 -5 -7 50 0 -17]; sum(bc3);
bc4=[-10 -20 -58 0 -38 -60]; sum(bc4);
sbc=(sum(bc1)^2+ sum(bc2)^2+ sum(bc3)^2+ sum(bc4)^2)/6-t2-sb-sc
abc=(87+90)^2+(69+53)^2+(50+50)^2+(-10)^2+[(-20)+(-36)]^2+[(-38)+(-30)]^2+(-5)^2+[(-20)+(-38)]^2+(10+24)^2+[(-50)+(-30)]^2+[(-7)+(-17)]^2+[(-58)+(-60)]^2;
sabc=abc/2-sab-sac-sbc-sa-sb-sc-t2
se=st-sa-sb-sc-sab-sac-sbc-sabc
msa=sa/2;msb=sb/1;msc=sc/1;msab=sab/2;msac=sac/2;msbc=sbc/1;msabc=sabc/2;mse=se/12;
fa=msa/mse
fb=msb/mse
fc=msc/mse
fab=msab/mse
fac=msac/mse
fbc=msbc/mse
fabc=msabc/mse
计算求得方差分析表,见表4.
表4 方差分析表Table 4 The variance analysis results
由于FA=191.67>F0.05(2,12)=3.89,FB=34.33>F0.05(1,12)=4.75,FC=110.64>F0.05(1,12)=4.75,FAB=31.81>F0.05(2,12)=3.89,FAC=9.31>F0.05(2,12)=3.89,所以在α=0.05显著性水平下,因素A、因素B和因素C的不同水平都对该商品的销售量有非常显著的影响, 因素A,B和因素A,C两两的交互作用对该商品的销售量有显著影响.又由于FB C=3.33 本文基于有交互影响的三因素方差分析原理,针对地理位置、销售点处的广告和销售点的装潢这3个因素对商品的影响程度,采用MATLAB进行求解,但MATLAB中的函数具有一定的局限性.故对算法进行了简化,并利用简化算法对该案例进行求解.结果表明该算法具有实用性和可行性.4 结 语