Matlab 方差分析(T检验)
在工农业生产和科学研究中,经常遇到这样的问题:影响产品产量、质量的因素很多,我们需要了解在这众多的因素中,哪些因素对影响产品产量、质量有显著影响.为此,要先做试验,然后对测试的结果进行分析.方差分析就是分析测试结果的一种方法.在方差分析中,把在试验中变化的因素称为因子,用A、B、C、…表示;因子在试验中所取的不同状态称为水平,因子A的r个不同水平用A1、A2、…、Ar表示.
方差分析需要满足的条件
样本独立的服从同方差正态分布,方差分析的目的就是检验样本间均值是否相同。在建模时,注意写出0假设, 模型方程式以及方差齐次性检验结果。
单因素方差分析
设在某试验中,因子A有r个不同水平A1,A2,…,Ar,在Ai水平下的试验结果Xi服从正态分布N(μi,σ2),i=1,2,…,r,且X1,X2,…,Xr间相互独立.现在水平Ai下做了ni次试验,获得了ni个试验结果Xij,j=1,2,…,ni这可以看成是取自Xi的一个容量为ni的样本,i=1,2,…,r.

例:为寻求适应本地区的高产油菜品种,今选了五种不同品种进行试验,每一品种在四块试验田上得到在每一块田上的亩产量如下:

我们要研究的问题是诸不同品种的平均亩产量是否有显著差异。
在本例中只考虑品种这一因子对亩产量的影响,五个不同品种就是该因子的五个不同水平.由于同一品种在不同田块上的亩产量不同,我们可以认为一个品种的亩产量就是一个总体,在方差分析中总假定各总体独立地服从同方差正态分布,即第i个品种的亩产量是一个随机变量,它服从分布N(μi,σ2), i=1,2,3,4,5.
试验的目的就是要检验假设
———————————-H0:μ1=μ2=μ3=μ4=μ5———————
是否成立.若是拒绝 ,那么我们就认为这五种品种的平均亩产量之间有显著差异;反之,就认为各品种间产量的不同是由随机因素引起的.方差分析就是检验假设的一种方法.
在实际问题中影响总体均值的因素可能不止一个.我们按试验中因子的个数,可以有单因子方差分析,双因子分析,多因子分析等.例中是一个单因子方差分析问题.
单因素方差分析的Matlab实现
A=[31.9 27.9 31.8 28.4 35.9 24.8 25.7 26.8 27.9 26.2 22.1 23.6 27.3 24.9 25.8 ]; %原始数据输入 B=A';% 将矩阵转置,Matlab中要求各列为不同水平 p=anova1(B)
A=[164 190 203 205 206 214 228 257 185 197 201 231 187 212 215 220 248 265 281]; group=[ones(1,8),2*ones(1,4),3*ones(1,7)]; p=anova1(A, group)
多重比较的matlab实现
A=[38.7,41.5,43.8,44.5,45.5,46,47.7,58 39.2,39.3,39.7,41.4,41.8,42.9,43.3,45.8 34,35,39,40,43,43,44,45 34,34.8,34.8,35.4,37.2,37.8,41.2,42.8]; %输入数据 B=A’; % MATLAB只对各列进行分析 [p,c,s]=anova1(b); % 方差分析 c=multcompare(s) % 多重比较
双因子方差分析
clc,clear x0=[58.2,52.6 56.2,41.2 65.3,60.8 49.1,42.8 54.1,50.5 51.6,48.4 60.1,58.3 70.9,73.2 39.2,40.7 75.8,71.5 58.2,51.0 48.7,41.4]; x1=x0(:,1:2:5);x2=x0(:,2:2:6); for i=1:4 x(2*i-1,:)=x1(i,:); x(2*i,:)=x2(i,:); end p=anova2(x,2)
x=[62 48 63 57 69 57 45 39 54 44 59 53 67 66 47 51 57 45 50 30 61 58 70 66 51 55 58 50 69 49 59 65 55 52 70 58 63 70 53 60 47 56 51 44 50]; p=anova2(x',5);

方差分析的SPSS实现
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216359.html原文链接:https://javaforall.net
