Kruskal-Wallis H检验(Kruskal-Wallis H Test)——SAS软件实现

发布于 2022年1月2日 星期日 21:02:13 浏览:4706
原创不易,转载请注明来源,感谢!
附件下载:
多样本Kruskal-Wallis H检验.zip 请勿重复点击,如无响应请耐心等待或稍后再试。

在前面文章中介绍了Kruskal-Wallis H检验(Kruskal-Wallis H Test)理论,本篇文章将使用实例演示在SAS软件中实现Kruskal-Wallis H检验(Kruskal-Wallis H Test)的操作步骤。

关键词:SAS; 非参数检验; 秩和检验; 多样本Kruskal-Wallis H检验; Kruskal-Wallis H检验; 多样本秩和检验; 事后检验

一、案例介绍

某医师对30名胆管癌患者的肿瘤直径进行了测定,其中9名患者肿瘤直径<2cm,11名患者肿瘤直径为2~3cm,10名患者肿瘤直径>3cm。同时该医生对所有患者血清中癌抗原19-9 (cancer antigens 19-9,CA19-9)水平(μg/L)进行了测定,问不同肿瘤直径的胆管癌患者CA19-9水平是否不同?

创建代表组别的数值型变量“group(组别)”,将胆管癌患者按肿瘤直径<2cm、2~3cm和>3cm分成3组,分别赋值为“1”、“2”、“3”。创建记录患者血清中CA19-9水平的数值型变量“CA”。部分数据见图1。本文案例可从“附件下载”处下载。

图1

二、问题分析

本案例的分析目的是比较三种不同肿瘤直径的胆管癌患者CA19-9水平是否不同。针对这种情况,可考虑使用Kruskal-Wallis H检验。Kruskal-Wallis H检验是基于秩次的非参数检验方法,用于检验多组间(也可以是两组)连续或有序分类变量是否存在差异。使用Kruskal-Wallis H检验,需要满足4个条件。

条件1:有一个观察变量和一个分组变量,在本案例中胆管癌患者CA19-9水平为观察变量,肿瘤直径分组为分组变量,该条件满足。

条件2:观察变量为非正态分布或方差不齐的连续变量或有序分类变量,变量的正态性或方差齐性需要通过软件分析进行判断。

条件3:存在多个分组(k≥2)。本研究中分为三组,该条件满足。

条件4:具有相互独立的观测值。本研究中各研究对象的CA19-9水平都是独立的,不存在互相干扰的情况,该条件满足。

三、软件操作及结果解读

(一) 导入数据

①利用LIBNAME语句建立SAS逻辑库关联,注意逻辑库名称要求,即最大长度8字符,必须以字母或下划线“_”开始,可以是字母、数字和下划线的任意组合。具体代码如下:

libname mydata 'D:\mydata';

通过这一步骤,SAS能够识别引号中的物理位置,将逻辑库建立在该目录下,同时在以下过程中新建的SAS表格便可以永久储存在该位置,便于反复读取和使用。先运行该代码使其生效。

②利用PROC IMPORT语句导入文件,代码如下:

proc import out= mydata.example
datafile=" D:\mydata\Kruskal-Wallis H检验.csv"
dbms=csv replace;
getnames=yes;
run;

该过程在mydata逻辑库中生成example数据集,数据文件由DATAFILE=选项指定,DBMS=选项指定其数据库类型。该案例中初始数据集为csv文件,故而使用“dbms=csv”指定。如果已经存在相同名称的SAS数据集,即可使用REPLACE选项进行覆盖。GERNAMES=YES选项指定从第2行开始读取数据,将数据集的首行变量名作为SAS数据集的变量名。

(二) 适用条件判断

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

(1) 软件操作

运用UNIVARIATE 过程进行正态性检验,示例代码如下:

proc univariate data= mydata.example plot normal;
class group;
var CA;
Histogram /normal kernel;
run;

其中“mydata.example”为上一步中导入的数据集名称,“CA”为分析变量名,即胆管癌患者CA19-9水平。选项PLOT产生了平行条状图,箱线图和正态概率图,肿瘤直径<2cm (group=1)、2~3cm (group=2)和>3cm (group=3)的患者结果分别如图2、图3和图4所示。

图2
图3
图4

选项NORMAL进行正态性检验,得到“Tests for Normality (正态性)”检验结果,肿瘤直径<2cm (group=1)、2~3cm (group=2)和>3cm (group=3)的患者结果分别如图5、图6和图7所示。

图5
图6
图7

HISTOGRAM语句可以针对指定变量“CA”绘制直方图,该语句中NORMAL选项可作正态分布的密度曲线,而KERNERL选项可作基于数据的核分布密度曲线,可直观展示变量的分布情况,如图8所示。

图8
(2) 结果解读

图9-1和图9-2 (group=1)、图10-1和图10-2 (group=2)、图11-1 和图11-2 (group=3) 分别是对三组数据的“Basic Statistical Measures (基本统计描述)”结果,包括变量“CA”的“N (样本量)”、“Mean(均值)”、“Median(中位数)”、“Std. Deviation(标准差)”、“Min(最小值)”、“Max(最大值)”、“25% Q1(第1四分位数)”、50% Median(中位数)和“75% Q3(第3四分位数)”等指标。

图9-1
图9-2
图10-1
图10-2
图11-1
图11-2

可知肿瘤直径<2cm、2~3cm和>3cm的三组患者的CA19-9水平的中位数(四分位间距)分别为34.00 (8.00) μg/L、367.00 (60.00) μg/L和828.00 (191.00) μg/L。

注意:计算四分位数间距时,通常将n个变量值从小到大排列。SAS中默认采用基于经验分布函数的平均,百分位次为n×P%=j+g,其中P指的是P百分位数,j为整数部分,g为小数部分,即当g=0时,该P百分位数Px=(Xj+Xj+1)/2,当g>0时,Px=Xj+1 (Xj为此数列中的第j个数)。

SPSS中存在计算结果不一致的情况,其原因是SPSS默认的计算方式为,以(n+1)×P%=j+g为百分位次,当g=0时,PxXj,当g>0时,Pxg×Xj+1+(1-g) Xj

正态性检验结果如图5、图6和图7所示,分别给出了四种正态性检验的结果,其中较为常用的为Shapiro-Wilk (夏皮罗-威尔克正态性,S-W)检验和Kolmogorov-Smirnov (柯尔莫哥洛夫-斯米诺夫,K-S)检验。K-S检验适用于大样本资料,本案查看S-W检验结果,三组P值分别为0.0228、0.0349和0.0165,均<0.1,提示三组数据均不服从正态分布。图2、图3和图4分别是三组数据的Q-Q图,散点都偏离对角线较远,也提示三组数据均不服从正态分布。且图8中三组数据的核分布密度曲线与正态分布密度曲线重合度较低,也可以认为数据为非正态分布。关于正态性检验的注意事项详见文章医学统计学核心概念及重要假设检验的软件实现(2/4)——正态性假设检验的SPSS实现

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

(1) 软件操作

通过ANOVA过程得到方差齐性检验结果(图12):

proc anova data = mydata.example;
	class group;
 model CA = group;
	means group / hovtest=levene(type=abs);
run;

该步骤中,CLASS语句指定分类变量,即“group”变量。MODEL语句指定分析因素与响应变量,即按照“group”分组对“CA”变量分析。MEANS语句计算均数和方差,其常见选项HOVTEST可指定分析方法,此处我们使用LEVENE检验,“(type=abs)”指定该过程计算绝对值(absolute value)进行分析。

该步骤也可得到“CA”变量的分布图(图13)

图12
图13
(2) 结果解读

图12是“The ANOVA Procedure (方差齐性检验)”结果,可知“Levene Statistic(Levene统计量)” F=7.19,P=0.0031<0.1,提示三组数据方差不齐。关于方差齐性检验的更多内容请阅读(医学统计学核心概念及重要假设检验的软件实现(4/4)——方差齐性检验及SPSS实现)。

综上,本案例中三组数据既不服从正态分布,也不满足方差齐性,可以考虑使用Kruskal-Wallis H检验。

(三) 整体检验

1. 软件操作

通过NPAR1WAY过程得到检验结果:

proc npar1way data=mydata.example Wilcoxon DSCF;
class group;
var TCHO;
exact;
run;

该过程默认输出多种检验方法,此处选择WILCOXON选项,即可得到所需结果。另外, DSCF选项将给出事后检验(两两比较)的结果。EXACT语句可计算精确P值。

注意:此处“NPAR1WAY”中为数字“1”,而非英文字母“I”或“L”。

2. 结果解读

(1) 统计描述

由前一步骤中三组数据的“Basic Statistical Measures (基本统计描述)”结果,以及图12的三组数据分布,可知肿瘤直径<2cm、2~3cm和>3cm的三组患者的CA19-9水平分别为34.00 (8.00) μg/L、367.00 (60.00) μg/L和828.00 (191.00) μg/L。三组的CA19-9水平看似存在差异,但还需要依据统计学检验的结果进行判断。

(2) 统计学推断

图14为“Kruskal-Wallis Test (Kruskal-Wallis检验)”,列出了本次检验的“Chi-Square (χ2统计量)”、“DF (自由度)”、“Asymptotic Pr (渐进P值)”和“Exact Pr (精确P值)”,结果为χ2=25.7477,P<0.0001,拒绝零假设,可以认为三组不同肿瘤直径的胆管癌患者的CA19-9水平不全相同(至少存在两组不相同)。

图14

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

虽然得到了“三种不同肿瘤直径的胆管癌患者的CA19-9水平不全相同”的结论,但若要清楚了解到底是哪些组别不同,则需要进一步进行两两比较。

1. 软件操作

整体检验的代码即可给出事后检验(两两比较)的结果 (如图15所示)。

图15

2. 结果解读

图15展示了”Pairwise Two-Sided Multiple Comparison Analysis (两两比较)”的结果。此处使用DSCF法进行组间比较,本研究共比较了3次,给出“1 vs. 2”、“1 vs. 3”和“2 vs. 3”三组比较结果,其P值分别为0.0005、0.0007和0.0003,均小于0.05,所以认为三种不同肿瘤直径的胆管癌患者的CA19-9水平均不相同。

四、结论

本研究采用Kruskal-Wallis H检验判断肿瘤直径<2cm、2~3cm和>3cm的胆管癌患者CA19-9含量是否不同。通过Q-Q图和Shapiro-Wilk检验,提示三组数据均不服从正态分布;通过Levene’s检验,提示三组数据总体方差不齐,符合使用Kruskal-Wallis H检验的条件。

统计结果显示,肿瘤直径<2cm、2~3cm和>3cm的胆管癌患者CA19-9水平分别为34.00 (8.00) μg/L、367.00 (60.00) μg/L和828.00 (191.00) μg/L。Kruskal-Wallis H检验结果显示,三种不同肿瘤直径的胆管癌患者的CA19-9水平不全相同(χ2=25.7477,P<0.001)。两两比较结果显示,三种不同肿瘤直径(<2cm、2~3cm和>3cm)的胆管癌患者CA19-9水平均不相同。

End
文章目录 沉浸式阅读