SAS统计分析学习笔记(八)——T检验和非参数比较

来源:互联网 发布:淘宝买家退货率高 编辑:程序博客网 时间:2024/05/14 06:26

1.简介

假设检验的第一个重要话题是两组比较。当满足一些假设时,我们采用T检验;不满足时,我们采用非参数比较。

2.T检验:两个平均数间的差异检验

实施T检验之前,需要满足一些假设:第一,两组必须是独立的;第二,样本平均数理论分布应该是正态的;第三,两个组的方差必须要大致相同。第3个假设在进行T检验时会自动检查。
通常实验设计都是将被试随机分配到处理组或者控制组,零假设H0表示,如果我们大量重复试验,处理组和控制组的均值一样,并且每一次实验中的差异可归因于随机将被试分配到处理组和控制组。还有一种假设H1:认为某个均值比另一个大(单侧检验),或者两个均值不同但不知道谁大(双侧检验)。
例子:学生被随机分配到控制或处理组(给予药物),他们对某个刺激的反应时间如下:
控制组处理组80 1009310383104899998102
DATA RESPONSE;  INPUT GROUP $ TIME @@;DATALINES;C 80 C 93 C 83 C 89 C 98T 100 T 103 T 104 T 99 T 102;PROC TTEST DATA=RESPONSE;  TITLE "T-test Example";  CLASS GROUP;  VAR TIME;RUN;
VAR语句之后的变量是因变量,当VAR后列出多个因变量时,程序会分别对每个因变量进行T检验。



最后一行给出了方差齐性的检验结果,通常采用规则:如果概率小于0.05,就拒绝方差相等的假设。因此采用标记着"Unequal"的T检验结果。如果p>F的值大于0.05,就采用方差齐性时的T检验结果。
但是T检验也有缺陷,但样本量很小时,方差齐性有可能不能拒绝方差齐性的零假设,但样本量很大时,方差齐性的零假设也通常会被拒绝。

3.被试的随机分配

函数RANUNI(seed)将生成区间0到1之间的伪随机数。函数自变量成为seed,可以是0或者任何数字。如果采用零种子,每次程序运行时都将得到完全不同的随机数序列,如果想生成自己的种子,可以使用任何其他数,每次运行自己的种子都能得到完全相同的随机数序列。
DATA ASSIGN;  DO SUBJ=1 TO 50;    IF RANUNI(123) LE .5 THEN GROUP='A';ELSE GROUP='B';OUTPUT;*在DO循环每次重复时输出一个观测值;  END;*使循环回到最顶端SUBJ加1;RUN;OPTIONS PS=16 LS=72;PROC REPORT DATA=ASSIGN  PANELS=16 NOWD;  TITLE "Simple Random Assignment";  COLUMNS SUBJ GROUP;*显示输出的变量;  DEFINE SUBJ/WIDTH=4;  DEFINE GROUP/WIDTH=5;RUN;
这一程序并不能保证将两组被试的数量控制得完全相同。
确保每组被试相同数量的办法是:首先使用sas生成数据集中每个被试的随机数。然后将中位数一下分配到A,以上分配到B。如果需要两组以上,则可以用GROUPS=option将随机数分割为需要的组数。
PROC FORMAT;  VALUE GRPFMT 0='CONTROL' 1='TREATMENT';RUN;DATA RANDOM;  DO SUBJ =1 TO 20;    GROUP=RANUNI(0);OUTPUT;  END;RUN;PROC RANK DATA=RANDOM GROUPS=2 OUT=SPLIT ;  VAR  GROUP;RUN;PROC PRINT DATA=SPLIT NOOBS;    TITLE "SUBJECT GROUP ASSIGNMENTS";VAR  SUBJ GROUP;    FORMAT GROUP GRPFMT.;RUN;
PROC RANK中的GROUPS=2选项根据随机变量GROUP的值将被试分为两组(0和1)。通过改变PROC RANK中“GROUPS=”这一选项,可以将被试随机分为若干组。

4.两组独立样本:自由分布T检验

当数据不是正态分布,且样本量很小时,采用非参数检验。这里主要介绍wilcoxon秩和检验。
DATA TUMOR;  INPUT GROUP $ MASS @@;DATALINES;A 3.1 A 2.2 A 1.7 A 2.7 A 2.5B 0.0 B 0.0 B 1.0 B 2.3;PROC NPAR1WAY DATA=TUMOR WILCOXON;     TITLE "Nonparametric Test to Compare Tumor Masses";   CLASS GROUP;   VAR MASS;   EXACT WILCOXON;RUN;
PROC NPAR1WAY执行非参数检验,wilcoxon选项要求执行wilcoxon秩和检验。EXACT语句要求程序计算语句之后所列检验的精确p值,样本量小时建议加入EXACT语句。

5.配对T检验

上述T检验的例子是将被试随机分配到控制组或处理组,因此可以看成是独立的。但也有每个被试接受两种处理的实验情景,这时控制组和处理组是相关的,通常使用t 检验的变式,配对T检验来计算每个被试在处理和控制情境下的反应时差异。

DATA PAIRED;  INPUT CTIME TTIME;DATALINES;90 9587 92100 10480 8995 10190 105;PROC TTEST DATA=PAIRED;  TITLE "Demonstrating a Paired T-test";  PAIRED CTIME*TTIME;RUN;
PAIRED语句中我们用这两个变量表示配对数据,之间放置一个星号。如果配对的值多余一组,如有BEFORE1 AFTER1 BEFORE2 AFTER2,想比较每组BEFORE 和AFTER是否有差异,则写成:
PAIRED BEFORE1*AFTER1 BEFORE2*AFTER2;
配对检验结果如下:
在本例中,平均差异为负,由于几率得到这一差异的概率是0.0074,可以得到结论,处理后反应时间更长。


阅读全文
0 0
原创粉丝点击