单因素方差分析(One-Way ANOVA)——Stata软件实现

发布于 2022年1月9日 星期日 16:27:59 浏览:16521
原创不易,转载请注明来源,感谢!
附件下载:
单因素方差分析.zip 请勿重复点击,如无响应请耐心等待或稍后再试。

在前面文章中介绍了单因素方差分析(One-Way ANOVA)的假设检验理论,本篇文章将实例演示在Stata软件中实现单因素方差分析的操作步骤。

关键词:Stata; 单因素方差分析; F检验; Welch检验; 韦尔奇检验; 事后检验; 两两比较

一、案例介绍

某医生用1、2、3三种方案治疗血红蛋白低下的贫血患者,治疗两个月后,记录每名受试者血红蛋白的上升克数。问3种治疗方案对患者贫血的疗效是否有差别?部分数据见图1。本文案例可从“附件下载”处下载。

图1

二、问题分析

本案例的分析目的是比较3种治疗方案对患者贫血的疗效是否有差别,即判断3种治疗方案患者的血红蛋白上升克数是否存在差异。针对这种情况可以使用单因素方差分析。但需要满足6个条件:

条件1:观察变量为连续变量。本研究中的血红蛋白上升克数为连续变量,该条件满足。

条件2:观测值相互独立。本研究中各研究对象的观测值都是独立的,不存在互相干扰的情况,该条件满足。

条件3:观测值可分为多组(≥2)。本研究中分为A、B、C三组,该条件满足。

条件4:观察变量不存在显著的异常值,该条件需要通过软件分析后判断。

条件5:各组观测值为正态(或近似正态)分布,该条件需要通过软件分析后判断。

条件6:多组观测值的整体方差相等,该条件需要通过软件分析后判断。

三、软件操作及结果解读

(一) 适用条件判断

1. 条件4判断(异常值判断)

(1) 软件操作

①计算描述性统计量,结果如图2所示。

bysort group: summarize hb

图2

②绘制箱线图检查是否存在异常值,结果如图3所示。

graph box hb,over(group)

图3
(2) 结果解读

根据图2描述性分析结果,依据专业可判断血红蛋白的上升克数均可能存在0.1 g和3.7 g的情况;此外,图3中的箱线图也未提示任何异常值。综上,本案例未发现需要删除的异常值,满足条件4。

2. 条件5判断(正态性检验)

(1) 软件操作

单因素方差分析时,需要分别对每一组数据的正态性进行检验。

①绘制各组的正态分位图,结果如图4-1—图4-3所示。

qnorm hb if group==1
qnorm hb if group==2
qnorm hb if group==3
图4-1
图4-2
图4-3

②使用Shapiro-Wilk检验分别考察每组数据的正态性,结果如图5所示。

bysort group: swilk hb

图5
(2) 结果解读

图4-1—图4-3显示三组散点基本围绕对角线分布,提示三组数据呈正态分布;图5的正态性检验结果分别显示三组的P=0.307、0.546、0.565,均>0.1,也提示三组数据满足正态分布。综上,本案例满足条件5。

3. 条件6判断(方差齐性检验)

(1) 软件操作

①Levene’s方差齐性检验

robvar hb,by(group)

图6

②Bartlett’s方差齐性检验

oneway hb group

图7
(2) 结果解读

图6为Levene’s方差齐性检验结果,P=0.080<0.1;图7为Bartlett’s方差齐性检验结果,P=0.067<0.1;均提示三组数据方差不齐,不满足条件6。

(二) 统计描述及推断

1. 软件操作

本案例满足条件1-5,不满足方差齐性,但方差并非严重不齐,所以采用校正单因素方差分析(Welch’s)法进行分析。

(1) 安装“simanova包”

①输入命令“search simanova”,结果见图8-1。

图8-1

②点击图8-1 中方框标记部分, 结果见图8-2。

图8-2

③点击图8-2 中“click here to install”,完成安装,结果见图8-3。

图8-3
(2) 校正单因素方差分析(Welch’s)

simanova hb group, wtest

结果如图9所示。

图9

2. 结果解读

(1) 统计描述

由图2可知,1、2、3三组血红蛋白的上升克数分别为1.688±0.867、1.250±0.738和1.023±0.538 g。三组数值存在差异,但还需要依据统计学检验的结果进行判断。

(2) 统计学推断

图9显示了单因素方差分析(Fisher’s)和校正单因素方差分析(Welch’s)两种方法分析的结果。本案例满足条件1-5,不满足方差齐性,但方差并非严重不齐,所以采用校正单因素方差分析(Welch’s)法的结果,W=5.477,P=0.007;提示各组均数不全相等(至少有两组均数不相同)。

(三) 事后检验(两两比较)

通过上述分析得出了“各组均数不全相等”的结论,但具体是哪些组别之间存在差异尚不清楚,因此需要进行事后检验,开展两两比较。

1. 软件操作

当变量的分布不满足方差齐性的要求时,采用Welch检验更加稳妥。对观察变量(group)各组两两进行Welch检验,结果如图10-1—图10-3所示。

①组1和组2比较,结果见图10-1。

ttest hb if inlist(group,1,2), by(group) welch

图10-1

②组1和组3比较,结果见图10-2。

ttest hb if inlist(group,1,3), by(group) welch

图10-2

③组2和组3比较,结果见图10-3。

ttest hb if inlist(group,2,3), by(group) welch

图10-3

2. 结果解读

图10-1—图10-3显示了各组两两比较的检验结果,我们关心的是被比较的两组均数是否相等。可知第1组和第2组之间差异为0.438 g,但差异无统计学意义(t=1.963,P=0.055);第1组和第3组之间的差异为0.665 g,差异有统计学意义(t=3.324,P=0.002);第2组和第3组之间的差异为0.227 g,差异无统计学意义(t=1.266,P=0.212)。因此,可知第1组血红蛋白的上升克数比第3组高0.665 g,差异有统计学意义(t=3.324,P=0.001)。

四、结论

本研究采用单因素方差分析判断三种方案治疗患者贫血的血红蛋白上升克数是否存在差异。通过专业知识判断,三组数据不存在需要删除的异常值;通过绘制正态分位图和进行Shapiro-Wilk检验,提示三组数据满足正态分布;通过Levene’s检验和Bartlett’s检验,提示三组数据间方差不齐,采用校正单因素方差分析(Welch’s)法分析数据。

分析结果显示,1、2、3三组血红蛋白的上升克数分别为1.688±0.867、1.250±0.738和1.023±0.538 g,三组均数不全相等(F=5.477,P=0.007)。进一步采用Welch检验进行两两比较可知,第1组血红蛋白的上升克数比第3组高0.665 g,差异有统计学意义(t=3.324,P=0.002);第1组血红蛋白的上升克数比第2组高0.438 g,但差异无统计学意义(t=1.963,P=0.055);第2组血红蛋白的上升克数比第3组高0.227 g,但差异无统计学意义(t=1.266,P=0.212)。因此,三种治疗方案对治疗贫血患者疗效不一样,第1种方案疗效最好。

五、分析小技巧

(一) 正态性检验

  • 严格来讲,单因素方差分析时,需要分别对每一组数据的正态性进行检验。但方差分析对数据的分布具有一定的耐受力,如果数据不是严重偏态或者只有部分组别数据不满足正态性要求,鉴于参数检验的统计学效能优于非参数检验的角度,还是可以使用单因素方差分析方法,而不使用非参数检验。
  • 单因素方差分析时,也可考察整体数据的正态性情况。如上所述,单因素方差分析对数据分布具有一定的耐受力,如果数据满足整体正态分布,也是可以使用该种分析方法。但我们建议尽可能分组别检验数据的正态性。关于正态性检验的注意事项详见文章(医学统计学核心概念及重要假设检验的软件实现(2/4)——正态性假设检验的SPSS实现)。

(二) 方差齐性检验

  • 对于不是特别严重的方差不齐,单因素方差分析提供了校正检验方法(Welch’s),是考虑了方差差异之后的更为稳健的分析结果。但当组间方差差异较大时,校正结果也不一定可信,建议使用非参数检验(Kruskal-Wallis H检验)。如果数据正态性和方差齐性都不满足,最好使用非参数检验(Kruskal-Wallis H检验)。关于方差齐性检验的更多内容请阅读(医学统计学核心概念及重要假设检验的软件实现(4/4)——方差齐性检验及SPSS实现)。

(三) 事后检验(两两比较)

多重比较一般分为事前检验(Prior tests)和事后检验(Post hoc tests)。事前检验是指在数据收集之前便决定了要通过多重比较来考察多个组与某个特定组之间的差别,多根据专业意义设定比较的策略。如果是事前检验,不论整体分析的结果如何,均可进行比较,并且一般不需要对检验水准进行太多修正。事后检验只有在方差分析得到有统计学意义的F值后才有必要进行,是一种探索性分析。对于事先未计划的多重比较(即事后检验),各组间的差别只是一种提示,要确认这种差别最好重新设计实验。

End
文章目录 沉浸式阅读