单因素下的方差分析

来源:互联网 发布:正规淘宝客服 交押金吗 编辑:程序博客网 时间:2024/03/29 02:51

  在方差分析中,有三个基本的假设:
  (1) 正态假设。对于因素的每个水平,其观测值都是来自正态总体的随机样本;
  (2) 方差齐次假设。各个总体的方差相同;
  (3) 独立假设。观测值之间都是独立的。
  设试验中的因素A,有r个水平A1,A2,...,An,在每个水平下进行试验得到结果xi1,xi2,...,xinii=1,2,...,r,其被看作是来自第i个正态总体xiN(μi,σ2),其中参数未知且每个样本都独立。从而单因素分析的数学模型可以表示为一种线性模型。

  xij=μ+αi+Eiji=1,2,...,r,j=1,2,..,niEijN(0,σ2)ri=1niαi=0
 
  其中,μ是所有总体的均值,αi=μiμ称为第i个水平的效应,Eij是随机误差。
  1.正态性检验
  在R语言中,使用Shapiro.test(x)可以对数据x进行正态性检验,参数x是要检验的数据集,它是长度在3~5000之间的向量。
  2.方差齐次性检验
  该方法是要检验数据在不同水平下,其方差是否相等。在R语言中,使用Bartlett.test()来实现。
  方差分析的目的是,要比较因素Ar个水平下,试验结果是否有显著差异。以样本均值作为检验的标准,写出检验假设:
  
 H0:α1=α2=...=αr,H1:α1,α2,...,αr不全相等

  如果拒绝原假设H0,说明样本来自不同的正态总体,则由因素A的各个水平所造成均值的差异有统计意义;
  如果不能拒绝原假设H0,说明样本来自相同的正态总体,因素的不同水平之间无差异。
  案例1,某银行规定VIP客户的月均账户余额要达到100万元,并以此作为比较各个分行业绩的一项指标。这里的“分行”即为因子,账户余额是所要检验的指标,先从三个分行(对应三个水平A1A2A3)中,分别随机抽取7个VIP客户的账户,数据列在表(1)中。
这里写图片描述
表(1) 银行的三个分行A1A2A3

  (a)正态性检验
  //zheng.R  

x1=c(103,101,98,110,105,100,106)x2=c(113,107,108,116,114,110,115)x3=c(82,92,84,86,84,90,88)shapiro.test(x1)shapiro.test(x2)shapiro.test(x3)

  效果如下:

这里写图片描述
图(1) 正态性检验的结果

  由图(1)知,P(A1)=0.948 > 0.05,不能拒绝原假设,
   P(A2)=0.4607 > 0.05,不能拒绝原假设,
   P(A3)=0.7724 > 0.05,不能拒绝原假设,
  而原假设H0是变量x服从正态分布,即A1A2A3都服从正态分布。
  (b)方差齐次性检测
  //qi.R  

#方差齐性检验x=c(x1,x2,x3)account=data.frame(x,A=factor(rep(1:3,each=7)))bartlett.test(x~A,data=account)

  效果如下:

这里写图片描述
图(2) 方差齐次性检测

  由于P=0.9341 > 0.05,不能拒绝原假设,而原假设H0是样本是“齐次的”,即三个样都是等方差的。
  (c) 单因素分析
  当数据符合正态性,和方差齐次之后,使用aov()就可以进行方差分析了。
  //fen.R  

a.aov=aov(x~A,data=account)summary(a.aov)plot(account$x~account$A)

  如图(3)、图(4)所示:

这里写图片描述
图(3) 方差分析结果

这里写图片描述
图(4) 三个分行A1A2A3的箱线图

  在图(3)中,A表示因子,Residuals表示残差,
    Df 表示自由度
    SumSq 表示平方和
    Mean Sq 表示均方和
    F value F 表示F检验统计量的值
    Pr(>F) 表示概率。
  由于P=8.446e-10 < 0.05,说明拒绝原假设,即不同分行A1A2A3的经济业绩有显著差别。
  同样,在图(4)中,可以看到三个分行的Me(中位数,箱线图里最粗的黑线,就是中位数,记为Me)是明显不同的,其中分行A1Me=85,分行A2Me=103,分行A3Me=114,,也就是分行A1A2A3的经济业绩有显著差别。

1 0
原创粉丝点击