文档介绍:matlab与统计回归分析
一 Matlab作方差分析
方差分析是分析试验(或观测)数据的一种统计方法。在工农业生产和科学研究中,经常要分析各种因素及因素之间的交互作用对研究对象某些指标值的影响。在方差分析中,把试验数据的总波动(总变差或总方差)分解为由所考虑因素引起的波动(各因素的变差)和随机因素引起的波动(误差的变差),然后通过分析比较这些变差来推断哪些因素对所考察指标的影响是显著的,哪些是不显著的。
【例1】(单因素方差分析)一位教师想要检查3种不同的教学方法的效果,为此随机地选取水平相当的15位学生。把他们分为3组,每组5人,每一组用一种方法教学,一段时间以后,这位教师给15位学生进行统考,成绩见下表1。问这3种教学方法的效果有没有显著差异。
Matlab中可用函数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 Table
Source SS df MS F Prob>F
Columns 2
Error 12
Total 14
90
85
80
Values
75
70
65
60
12
Column Number3
,拒绝零假设,认为3种教学方法存在显著差异。
例2(双因素方差分析)为了考察4种不同燃料与3种不同型号的推进器对火箭射程(单位:海里)的影响,做了12次试验,得数据如表2
所示。
在Matlab中利用函数调用格式: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=[ ; ; ; ]’;
p=anova2(disp1,1)
输出结果:方差分析表
ANOVA Table
Source SS df MS F Prob>F Columns 3
Rows 2 Error 6 12 Total 11
,所以可以接受零假设H0A和H0B,认为燃料和推进器对火箭的射程没有显著影响。例3(双因素方差分析)设火箭的射程在其它条件基本相同时与燃料种类及推进器型号有关。现在考虑4种不同的燃料及3种不同型号的推进器,对于每种搭配个发射了火箭两次,得数据见表3。问各自变量和自变量的交互效应是否对火箭的射程有显著影响?
Matlab程序:
disp2=[ ; ; ]’; p=anova2(disp2,2) 输出结果:方差分析表
ANOVA Table
Source SS df MS F Prob>F Columns 2