美文网首页
R action 9

R action 9

作者: KrisKC | 来源:发表于2019-04-22 10:45 被阅读0次

20180502(从有道迁移)

方差分析

当包含的因子是解释变量时,我们关注的重点通常会从预测转向组别差异的分析,这种分析法称作方差分析(ANOVA)

  1. 术语

    1. 在每种方案下观测数相等,这种设计也称为均衡设计(balanced design);若观测数不同,则称作非均衡设计(unbalanced design)
    2. 仅有一个类别型变量
      • 称为单因素方差分析(one-way ANOVA),或进一步称为单因素组间方差分析;
      • 在这种情况下,方差分析主要通过F检验来进行效果评测,若治疗方案的F检验显著,则说明方案的因变量均值不同,不同方案之间存在差异;
    3. 当同一方案在不同时间内进行比较时,时间(time)是两水平(统一方案下不同时间)的组内因子。
      • 因为对所有评估对象在所有水平下都进行了测量,所以这种统计设计称单因素组内方差分析,又由于每个评估对象都不止一次被测量,也称作重复测量方差分析。
      • 当时间的F检验显著时,说明测量对象的因变量在不同时间的测量下发生了改变
    4. 当设计包含两个甚至更多的因子时,便是因素方差分析设计,比如两因子时称作双因素方差分析,三因子时称作三因素方差分析,以此类推。若因子设计包括组内和组间因子,又称作混合模型方差分析
    5. 示例:随机分配五位患者到CBT,另外五位到EMDR,在五周和六个月后分别评价他们的STAI结果
      • 含组间和组内因子的双因素方差分析
      • 将做三次F检验:
        • 疗法因素一次,若疗法结果显著,说明CBT和EMDR对焦虑症的治疗效果不同
        • 时间因素一次,若时间结果显著,说明焦虑度从五周到六个月发生了变化
        • 两者交互因素一次,若两者交互效应显著,说明两种疗法随着时间变化对焦虑症治疗影响不同(也就是说,焦虑度从五周到六个月的改变程度在两种疗法间是不同的)
    6. 混淆因素(confounding factor),当对这个因素不感兴趣时,它也被称作干扰变数(nuisance variable)。
    7. 当存在协变量,该设计为协方差分析(ANCOVA)。
    8. 当因变量不止一个时,设计被称作多元方差分析(MANOVA),若协变量也存在,那么就叫多元协方差分析(MANCOVA)
  2. ANOVA 模型拟合

    1. aov()函数,语法为aov(formula, data=dataframe);

      • R表达式中的特殊符号

        符 号 用 法
        ~ 分隔符号,左边为响应变量,右边为解释变量。</br>例如,用 A、B 和 C 预测 y,代码为 y ~ A + B + C
        : 表示变量的交互项。</br>例如,用 A、B 和 A 与 B 的交互项来预测 y,代码为 y ~ A + B + A:B
        * 表示所有可能交互项。</br>代码 y ~ A * B * C 可展开为 y ~ A + B + C + A:B + A:C + B:C + A:B:C
        ^ 表示交互项达到某个次数。</br>代码 y ~ (A + B + C)^2 可展开为 y ~ A + B + C + A:B + A:C + B:C
        . 表示包含除因变量外的所有变量。</br>例如,若一个数据框包含变量 y、A、B 和 C,代码 y ~ .可展开为 y ~ A + B + C
      • 常见研究设计的表达式

        设 计 表 达 式
        单因素 ANOVA y ~ A
        含单个协变量的单因素 ANCOVA y ~ x + A
        双因素 ANOVA y ~ A * B
        含两个协变量的双因素 ANCOVA y ~ x1 + x2 + A*B
        随机化区组 y ~ B + A(B 是区组因子)
        单因素组内 ANOVA y ~ A + Error(Subject/A)
        含单个组内因子(W)和单个组间因子(B)的重复测量 ANOVA y ~ B * W + Error(Subject/W)
    2. 表达式中各项的顺序

      表达式中效应的顺序在两种情况下会造成影响:(a)因子不止一个,并且是非平衡设计;(b)存在协变量。出现任意一种情况时,等式右边的变量都与其他每个变量相关。

      image

      car包中的Anova()函数(不要与标准anova()函数混淆)提供了使用类型Ⅱ或类型Ⅲ方法的选项,而aov()函数使用的是类型I方法

  3. 单因素方差分析

    1. 单因素方差分析,是比较分类因子定义的两个或多个组别中的因变量均值,可以使用:
      • 各组均值:aggregate(response, by=list(trt), FUN=mean)
      • 各组标准差: aggregate(response, by=list(trt), FUN=sd)
      • 检验组间差异(ANOVA): fit <- aov(response ~ trt)
      • gplots包中的plotmeans()可以用来绘制带有置信区间的组均值图形
    2. 多重比较,ANOVA对各方案的F检验表明方案的效果不同,但是并没有说明哪种方案与其他疗法不同
      • TukeyHSD()函数提供了对各组均值差异的成对检验

      • multcomp包中的glht()函数提供了多重均值比较更为全面的方法,既适用于线性模型,也适用于广义线性模型。

        library(multcomp)
        par(mar=c(5,4,6,2))
        tuk <- glht(fit, linfct=mcp(trt="Tukey"))
        plot(cld(tuk, level=.05),col="lightgrey")
        par(opar)
        
    3. 评估检验的假设条件
      • 单因素方差分析中,我们假设因变量服从正态分布,各组方差相等。可以使用Q-Q图来检验正态性假设

        library(car)
        qqPlot(lm(response ~ trt, data=cholesterol), 
               simulate=TRUE, main="Q-Q Plot", labels=FALSE)
        
      • R提供了一些可用来做方差齐性检验的函数。例如,可以通过做Bartlett检验, Fligner-Killeen检验(fligner.test()函数)和Brown-Forsythe检验(HH包中的hov()函数

        bartlett.test(response ~ trt, data=cholesterol)
        
                Bartlett test of homogeneity of variances
        
        data:  cholesterol$response by cholesterol$trt
        Bartlett's K-squared = 0.57975, df = 4, p-value = 0.9653
        
        # Bartlett检验表明五组的方差并没有显著不同(p=0.97)
        
      • 方差齐性分析对离群点非常敏感。可利用car包中的outlierTest()函数来检测离群点

        library(car)
        outlierTest(fit)
        
                    No Studentized residuals with Bonferonni p < 0.05
        Largest |rstudent|:
           rstudent unadjusted p-value Bonferonni p
        19 2.251149           0.029422           NA
        
        # 从输出结果来看,并没有证据说明胆固醇数据中含有离群点(当p>1时将产生NA)
        
        
      • 因此根据Q-Q图、Bartlett检验和离群点检验,该数据似乎可以用ANOVA模型拟合得很好

  4. 单因素协方差分析

    单因素协方差分析(ANCOVA)扩展了单因素方差分析(ANOVA),包含一个或多个定量的协变量

    1. 分析:

      • 单因素协方差分析可以先对自变量进行table和mean的分析,接着对自变量和协变量使用aov进行F校验;
      • 使用了协变量,想要获取调整的组均值,即去除协变量效应后的组均值。可使用effects包中的effects()函数来计算调整的均值
      • 对用户定义的对照的多重比较
      # Listing 9.3 - One-way ANCOVA
      data(litter, package="multcomp")
      attach(litter)
      table(dose) 
      aggregate(weight, by=list(dose), FUN=mean)
      fit <- aov(weight ~ gesttime + dose)                             
      summary(fit)
      
      # Obtaining adjusted means
      library(effects)
      effect("dose", fit)
      
      
      #  Listing 9.4 - Multiple comparisons using user supplied contrasts
      library(multcomp)
      contrast <- rbind("no drug vs. drug" = c(3, -1, -1, -1))
      summary(glht(fit, linfct=mcp(dose=contrast)))
      
      Multiple Comparisons of Means: User-defined Contrasts
      Fit: aov(formula = weight ~ gesttime + dose)
      Linear Hypotheses:
       Estimate Std. Error t value Pr(>|t|)
      no drug vs. drug == 0 8.284 3.209 2.581 0.0120 *
      ---
      Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
      
      # 对照c(3, -1, -1, -1)设定第一组和其他三组的均值进行比较。假设检验的t统计量(2.581)在p<0.05水平下显著,因此,可以得出未用药组比其他用药条件下的出生体重高的结论
      
      
    2. 评估检验的假设条件

      • ANCOVA与ANOVA相同,都需要正态性和同方差性假设,另外,ANCOVA还假定回归斜率相同
    3. 结果可视化

      • HH包中的ancova()函数可以绘制因变量、协变量和因子之间的关系图

        library(HH) 
        ancova(weight ~ gesttime + dose, data=litter) 
        
  5. 双因素方差分析

    1. 需要关注样本是否是均衡设计的,如果不是均衡设计,则需要考虑因素间顺序的问题;
    2. 对双因素方差分析有几种可视化方法:
      • interaction.plot()函数来展示双因素方差分析的交互效应;
      • gplots包中的plotmeans()函数来展示交互效应;
      • HH包中的interaction2wt()。
    3. 模型假设检验和均值比较,双因素方差与单因素方差的分析相似。
  6. 重复测量方差分析

    1. 所谓重复测量方差分析,即受试者被测量不止一次;
    2. 传统的重复测量方差分析。该方法假设任意组内因子的协方差矩阵为球形,并且任意组内因子两水平间的方差之差都相等。但在现实中这种假设不可能满足,于是衍生了一系列备选方法:
      • 使用lme4包中的lmer()函数拟合线性混合模型(Bates,2005);
      • 使用car包中的Anova()函数调整传统检验统计量以弥补球形假设的不满足(例如Geisser-Greenhouse校正);
      • 使用nlme包中的gls()函数拟合给定方差-协方差结构的广义最小二乘模型(UCLA,2009);
      • 用多元方差分析对重复测量数据进行建模(Hand,1987)。
  7. 多元方差分析

    1. 当因变量(结果变量)不止一个时,可用多元方差分析(MANOVA)对它们同时进行分析
    2. 评估假设检验
    3. 稳健多元方差分析
  8. 用回归来做 ANOVA

相关文章

  • R action 9

    20180502(从有道迁移) 方差分析 当包含的因子是解释变量时,我们关注的重点通常会从预测转向组别差异的分析,...

  • R in action

    2.2.2 矩阵 矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。 可通过函数matr...

  • R action 1

    20171113(从有道迁移) 一.安装&基础概念 安装参见官网安装指南; 工作空间(workspace):类似j...

  • R action 2

    20171205(从有道迁移) 数据集 数据类型(模式)包括:数值型、字符型、逻辑型(TRUE/FALSE)、复数...

  • R action 5

    20171205(从有道迁移) 高级数据管理 示例问题:给所有学生确定一个单一的成绩衡量指标,需要将这些科目的成绩...

  • R action 10

    20180508(从有道迁移) 功效分析 假设检验速览研究目标是维持一个可接受的显著性水平,尽量使用较少的样本,然...

  • R action 6

    20171225(从有道迁移) 基本图形 条形图简单条形图:通过垂直的或水平的条形展示了类别型变量的分布(频数)语...

  • R action 7

    20180316(从有道迁移) 基本统计分析 描述性统计分析常用库:基础方法summary;summary()函数...

  • R action 8

    20180404(从有道迁移) 回归 回归的多面性回归分析的各种变体回归类型用 途简单线性用一个量化的解释变量预测...

  • R action 3

    20171122(从有道迁移) 图形初阶 图形参数图形参数的选项来自定义一幅图形的多个特征(字体、颜色、坐标轴、标...

网友评论

      本文标题:R action 9

      本文链接:https://www.haomeiwen.com/subject/isaegqtx.html