一Matlab作方差分析方差分析是分析试验(或观测)数据的一种统计方法。
在工农业生产和科学研究中,经常要分析各种因素及因素之间的交互作用对研究对象某些指标值的影响。
在方差分析中,把试验数据的总波动(总变差或总方差)分解为由所考虑因素引起的波动(各因素的变差)和随机因素引起的波动(误差的变差),然后通过分析比较这些变差来推断哪些因素对所考察指标的影响是显著的,哪些是不显著的。
【例1】(单因素方差分析)一位教师想要检查3种不同的教学方法的效果,为此随机地选取水平相当的15位学生。
把他们分为3组,每组5人,每一组用一种方法教学,一段时间以后,这位教师给15位学生进行统考,成绩见下表1。
问这3种教学方法的效果有没有显著差异。
表1 学生统考成绩表方法成绩甲75 62 71 58 73乙71 85 68 92 90丙73 79 60 75 81Matlab中可用函数anova1(…)函数进行单因子方差分析。
调用格式:p=anova1(X)含义:比较样本m×n的矩阵X中两列或多列数据的均值。
其中,每一列表示一个具有m 个相互独立测量的独立样本。
返回:它返回X中所有样本取自同一总体(或者取自均值相等的不同总体)的零假设成立的概率p。
解释:若p值接近0(接近程度有解释这自己设定),则认为零假设可疑并认为至少有一个样本均值与其它样本均值存在显著差异。
Matlab程序:Score=[75 62 71 58 73;81 85 68 92 90;73 79 60 75 81]’;P=anova1(Score)输出结果:方差分析表和箱形图ANOVA TableSource SS df MS F Prob>FColumns 604.9333 2 302.4667 4.2561 0.040088Error 852.8 12 71.0667Total 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 TableSource SS df MS F Prob>FColumns 157.59 3 52.53 0.43059 0.73875Rows 223.8467 2 111.9233 0.91743 0.44912Error 731.98 6 12 1.9967Total 1113.4167 11由于燃料和推进器对应的p值均大于0.05,所以可以接受零假设H0A和H0B,认为燃料和推进器对火箭的射程没有显著影响。
例3(双因素方差分析)设火箭的射程在其它条件基本相同时与燃料种类及推进器型号有关。
现在考虑4种不同的燃料及3种不同型号的推进器,对于每种搭配个发射了火箭两次,得数据见表3。
问各自变量和自变量的交互效应是否对火箭的射程有显著影响?表3 燃料-推进器-射程数据表推进器1 推进器2 推进器3燃料1 58.252.6 56.241.265.360.8燃料2 49.142.8 54.150.551.648.4燃料3 60.158.3 70.973.239.240.7燃料4 75.871.5 58.251.048.741.4Matlab程序: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]’;p=anova2(disp2,2)输出结果:方差分析表ANOVA TableSource SS df MS F Prob>FColumns 370.9808 2 185.4904 9.3939 0.003506Rows 261.675 3 87.225 4.4174 0.025969Interaction 1768.6925 6 294.7821 14.9288 6.1511e-005Error 236.95 12 19.7458Total 2638.2983 23显著。
方差分析上机练习为研究广告的效果,考察4种广告方式:当地报纸(paper)、当地广播(radio)、店内销售员(people)和店内展示(display)的效果。
共设有144个销售点,每种广告随机抽取36个销售点记录销售额,分布在6个地区的144个销售点的销售情况生成的数据集ADS见下表。
数据集ADS中有3个变量:AD表示广告的类型、AREA表示地区、SALES表示销售额(单位:千元)。
请完成以下练习:(1) 概括下列数据:用箱形图、条形图直观地呈现四种广告方式下销售量的分布情况;计算四种广告方式下销售量的均值、方差、标准差、最大和最小值;(2) 进行单因素方差分析:检验四种广告方式下销售量数据是否服从正态分α=);布,方差是否相等;检验四种广告方式下的销售量是否有显著差异(0.01若四种广告方式下的销售量有显著差异,指出哪些类型的广告效果有显著的不同?(3) 在设计广告效果的试验时,虽然地区差异对销售量的影响并不是我们感兴趣的,但希望排除这一因素的影响。
数据集ADS记录了各个销售点所在的地区AREA。
试用双因素方差分析方法分析销售数据,并指出广告方式和地区对销α=)?广告方式(AD)与地区(AREA)之间有无交售量是否有显著影响(0.01,0.1互效应?表ADS数据集中的数据广告方式(变量:AD)销售额(单位:千元)(变量SALES)地区1 地区2 地区3 地区4 地区5 地区6当地报纸(paper) 75 57 7668 75 8377 757266 667676 816370 866294 54 7088 56 8687 656584 777879 627580 6270当地广播(radio)69 5110054 78 7990 776083 746933 797368 7565100 616870 53 7368 638379 666576 737481 5765店内销售员(people)63 67 8558 82 7880 876287 707770 754068 615564 40 6776 70 7751 617542 716564 506278 3783店内展示(display)52 61 6141 44 8676 575275 756333 696052 614361 66 4169 43 5165 585060 525544 455852 4560参考答案(1)箱形图:boxplot(ads) 结果:有异常值。
(其它:略)(2)正态性检验Paper:Hist(X1,6)频数直方图分布的正态性检验:normplot(X1)均服从正态分布。
单因素方差分析ANOVA TableSource SS df MS F Prob>FColumns 5866.0833 3 1955.3611 13.4831 8.8495e-008 Error 20303.2222 140 145.023Total 26169.3056 143P=8.8495e-008<0.01,四种广告方式下的销售量是否有显著差异。
对应的箱形图为:当地媒体和电台广播与点内展示有显著不同。
(3)ANOVA TableSource SS df MS F Prob>FColumns 1444.2222 5 288.8444 1.9582 0.089763Rows 5866.0833 3 1955.3611 13.2559 1.5637e-007Interaction 1158 15 77.2 0.52336 0.92341Error 17701 120 147.5083Total 26169.3056 143从以上分析结果可知:0.05<P1=0.089763<0.1,地区对检验水平有一定影响,但不显著。
P2=1.5637e-007<0.01<0.1,无论哪种检验水平,广告方式对销售量都有显著影响;P3=0.92341>0.1,地区和广告方式对销售量无交互效应。
二Matlab作回归分析回归分析的相关数学理论可以参见《概率论与数理统计教程》,下面仅以示例说明如何利用matlab处理回归分析。
1.一元线性回归分析【例1】为了了解百货商店销售额x与流通费率(反映商业活动的一个质量指标,指每元商品流转额所分摊的流通费用)y之间的关系,收集了九个商店的有关数据,见下表1.试建立流通费率y与销售额x的回归方程。
样本点销售额x(万元) 流通费率y1 1.5 7.02 4.5 4.83 7.5 3.64 10.5 3.15 13.5 2.76 16.5 2.57 19.5 2.48 22.5 2.39 25.5 2.2【分析】域的知识和经验进行,有时可能需要多种尝试。
选定目标函数后进行线性化变换,针对变换后的线性目标函数进行回归建模与评价,然后还原为非线性回归方程。
【Matlab数据处理】:【Step1】:绘制散点图以直观地选择拟合曲线x=[1.5 4.5 7.5 10.5 13.5 16.5 19.5 22.5 25.5];y=[7.0 4.8 3.6 3.1 2.7 2.5 2.4 2.3 2.2];plot(x,y,'-o')输出图形见图1。