本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

统计假设检验的SAS程序_sas假设检验_sas培训

sas培训 cdadata 3988℃

统计假设检验的SAS程序_sas假设检验_sas培训

2.2  统计假设检验SAS程序

在阅读以下内容之前,请先阅读第一章“SAS软件基本操作”。

2.2.1  单个样本的t检验 

对于课本5.1.4所介绍的单个样本t检验,可以使用PROC MEANS过程计算。PROC MEANS过程在2.1.1中已经做过介绍。这里只以课本中例5.5的数据为例,说明如何使用PROC MEANS过程进行检验。在这里数据采用在作业流中输入,因此不必建立外部数据文件。

options  linesize=76;

data  maize;

input  weight  @@;

diff=weight-300;

cards;

308       305  311  298  315  300  321  294  320

proc  means  n  t  prt;

var  diff;

run;

在PROC MEANS语句中的t是在H0:μ=0 假设下所得到的统计量,在这里H0:μ=300,因此在INPUT语句后,用赋值语句建立一个新变量diff,diff是每一观测值与300之差,检验这个差值的期望是否为0,输出结果如下:

2单个样本t检验的输出结果

                                                                                                  

The SAS System

Analysis Variable : DIFF

N T Prob>|T|
9 2.4954012 0.0372

                                                                                                  

2.2.2  配对数据t检验 

配对数据t检验的SAS程序与2.2.1节中的程序基本相同,不同点只是在INPUT语句中包含三个变量,在赋值语句中的新变量是两个变量的差而不是变量与一个常量的差。以课本中表5-3的数据为例,SAS程序如下:

options  linesize=76;

data  matdat;

input  id  prepro  postpro  @@;

diff=prepro-postpro;

cards;

proc  means  n  mean  stderr  t  prt;

var  diff;

run;

输出结果见表2-9

2配对数据t检验的输出结果

1 8.478 7.994 2 7.512 7.141 3 7.222 8.267
4 8.053 8.280 5 7.689 6.740 6 8.528 7.632
7 6.972 5.913 8 7.371 8.169 9 5.760 7.570
10 7.930 7.569 11 7.255 6.322 12 6.795 6.417

                                                                                  

The SAS System

Analysis Variable : DIFF

N Mean Std Error T Prob>|T|
12 0.1292500 0.2639513 0.4896736 0.6340


2.2.3
  成组数据t检验     

可以使用PROC TTEST过程做成组数据t检验。以课本中例5.9的数据为例,说明成组数据t检验的SAS程序。

options  linesize=76;

data  wheat;

input  strain  days  @@;

cards;

proc  ttest;

class  strain;

var  days;

run;

上述的CLASS语句称为分类语句,在t检验中的分类变量(品种),应在CLASS语句中给予说明,以便PROC TTEST过程按不同类别(品种)进行检验。输出结果见表2-10。

1 101 1 100 1 99 1 99 1 98 1 100 1 98
1 99 1 99 1 99 2 100 2 98 2 100 2 99
2 98 2 99 2 98 2 98 2 99 2 100

210  成组数据t检验的输出结果

The SAS System

TTEST PROCEDURE

Variable: DAYS

STRAIN N Mean Std Dev Std Error
1 10 99.20000000 0.91893658 0.29059326
2 10 98.90000000 0.87559504 0.27688746
Variances T DF Prob>|T|
Unequal 0.7474 18.0 0.4645
Equal 0.7474 18.0 0.4645

For H0: Variances are equal, F’ = 1.10    DF = (9,9)    Prob>F’ = 0.887

                                                                             

表2-10中给出了方差齐性检验和t检验结果以及方差不具齐性时,用Satterthwaite方法计算的近似t统计量的自由度。从表的最后一行得知,方差具齐性,因此只选用Equal行的结果即可。Prob>|T|的含义是变量T大于统计量t的概率,P(T>t)。(参考课本“小概率原理”一节)。不论是单侧检验还是双侧检验,该概率值都是一样的。做单侧检验时P<0.05差异显著,在做双侧检验时P<0.025时差异显著。

  • 2.3 χ2检验的SAS程序

在阅读以下内容之前,请先阅读第一章“SAS软件基本操作”。 

使用PROC FREQ过程(见2.1.2)进行χ2检验,首先应使用TABLE语句生成一个两向表。在TABLE语句的“/”后,可供使用的选项共有24个,其中的几个基本选项如下:

CHISQ:χ2检验及2´2列联表的Fisher精确检验。

EXACT:对大于2´2列联表进行Fisher精确检验。

ALPHA=(p):设置置信区间时使用的显著水平,缺省时a=0.05。

MISSIN:要求FREQ把缺失值当做非缺失值看待,在计算百分数或其它统计量时包括它们。

2.7   以课本中例7.3的数据为例,说明χ2检验的SAS程序。

  记符号“o”为口服,“i”为注射,“e”为有效,“n”为无效。

options  linesize=76;

data  medicine;

input  way  $  effect  $;

cards;

o  e

o  n

i  e

i  n

:

:

proc  freq  formchar(1,2,7)=’|-+’;

table  way * effect / chisq;

run;

在TABLE语句中way * effect将形成一个两向表,第一个变量形成表的行,第二个变量形成表的列。在PROC FREQ语句中的选项formchar(1,2,7),是输出表格线的形状。输出结果如下。

2-11  2.7输出的结果

                                                                           

The SAS System

TABLE OF WAY BY EFFECT

WAY         EFFECT

Frequeny
Percent
Row Pct
Col Pct e n Total
o 58 40 98
30.05 20.73 50.78
59.18 40.82
47.54 56.34
i 64 31 95
33.16 16.06 49.22
67.37 32.63
52.46 43.66
Total 122 71 193
  63.21 36.79 100.00

STATISTICS FOR TABLE OF WAY BY EFFECT

Statistic DF Value Prob
Chi-Square 1 1.390 0.238
Likelihood Ratio Chi-Square 1 1.392 0.238
Continuity Adj. Chi-Square 1 1.060 0.303
Mantel-Haenszel Chi-Square 1 1.382 0.240
Fisher’s Exact Test (Left) 0.908
               (Right) 0.152
               (2-Tail) 0.296
Phi Coefficient 0.085 0
Contingency Coefficient 0.085 0
Cramer’s V 0.085 0

Sample Size = 193

                                                                              

表2-11给出χ2值,连续性矫正χ2值和精确检验χ2值。

该例如果使用以下程序,在数据步中数据的输入变得很简单了。

options linesize=76;

data;

do way=1 to 2;

do effect=1 to 2;

input case @@;

output;

end;

end;

cards;

58 40

64 31

;

proc freq formchar(1,2,7)=’|-+’;

weight case;

tables way*effect;

run;

在数据步中使用了一个DO语句,这是一个循环语句。“way=1 to 2”表示“方式”有两个水平,“effect=1 to 2”表示“效果”有两个水平,如果实验是一个高阶的列联表,那么TO后面的数字也应做相应的改变。在程序步中的WEIGHT语句是一个权数语句,它的值是这些观测相应的权数。

输出的结果如下,因为在TABLE语句中没有规定统计分析选项,所以只输出列联表:

                                                                             

The SAS System

TABLE OF WAY BY EFFECT

WAY         EFFECT

Frequeny
Percent
Row Pct
Col Pct 1 2 Total
1 58 40 98
30.05 20.73 50.78
59.18 40.82
47.54 56.34
2 64 31 95
33.16 16.06 49.22
67.37 32.63
52.46 43.66
Total 122 71 193
  63.21 36.79 100.00

                                                                             

比较前面的两个列联表,只是表的形式有些不同,其它结果没有任何变化。

在输出的列联表中还有一些选项可供使用,如:

EXPECTED:在独立性假设下,要求输出单元频数的期望值。

NOCOL:不输出交叉表里的单元列百分数。

NOROW:不输出交叉表里的单元行百分数。

CELLCHI2:要求该过程输出每个单元对总χ2统计量的贡献。

NOPERCENT:不输出交叉表的单元百分数和累计百分数。

如果在TABLE语句中加入上述选项,输出的结果更接近教材中列联表的格式。

options linesize=76;

data;

do way=1 to 2;

do effect=1 to 2;

input case @@;

output;

end;

end;

cards;

64 31

58 40

;

proc freq formchar(1,2,7)=’|-+’;

weight case;

tables way*effect/cellch2 expected nocol norow nopercent;

run;

输出结果如下表:

                                                                             

The SAS System

TABLE OF WAY BY EFFECT

WAY         EFFECT

Frequeny
Expected
Cell Chi-
Square 1 2 Total
1 58 40 98
61.948 36.052
0.2516 0.4324
2 64 31 95
60.052 34.948
0.2596 0.446
Total 122 71 193

                                                                             

2.8  计算课本中例7.5的精确χ2

  记A饲料为1,B饲料为2;未增重为1,增重为2。SAS程序如下:

options  linesize=76;

data  mouse;

input  feed  weight  @@;

cards;

1  1  1  1  1  1  1  1  1  2

2         2  2  2  2  2  2  2  2  2  2  2

proc  freq  formchar(1,2,7)=’|-+’;

table  feed * weight / chisq  missing;

run;

输出结果如下:

212  2.8输出的结果

                                                                              

The SAS System

TABLE OF FEED BY WEIGHT

FEED        WEIGHT

Frequeny
Percent
Row Pct
Col Pct 1 2 Total
1 4 1 5
36.36 9.09 45.45
80.00 20.00
100.00 14.29
2 0 6 6
0.00 54.55 54.55
0.00 100.00
0.00 85.71
Total 4 7 11
  36.36 63.64 100.00

STATISTICS FOR TABLE OF FEED BY WEIGHT

Statistic DF Value Prob
Chi-Square 1 7.543 0.006
Likelihood Ratio Chi-Square 1 9.417 0.002
Continuity Adj. Chi-Square 1 4.482 0.034
Mantel-Haenszel Chi-Square 1 6.857 0.009
Fisher’s Exact Test (Left) 1.000
               (Right) 0.015
               (2-Tail) 0.015
Phi Coefficient 0.828 0
Contingency Coefficient 0.638 0
Cramer’s V 0.828 0

Sample Size = 11

WARNING: 100% of the cells have expected counts less

than 5. Chi-Square may not be a valid test.

转载请注明:数据分析 » 统计假设检验的SAS程序_sas假设检验_sas培训

喜欢 (1)or分享 (0)