|
|
楼主

楼主 |
发表于 2006-5-19 22:01:14
|
只看该作者
常见试验设计的SAS实现
目的:掌握试验设计的SAS实现方法,根据统计模型和效应分析要求选择合理的试验设计类型。熟悉SAS编程格式、过程选项、语句和语句选项,了解SAS输出的内容、特点和意义。学以致用,能解决实际问题。
内容:(1)利用plan过程进行完全随机设计、随机区组设计、裂区设计、拉丁方设计和巢式设计;(2)利用factex过程进行析因设计;(3)利用ADX界面进行响应面设计。
1 完全随机设计(Completely Randomized Design)
1.1 单因素完全随机设计
示例:编制单因素9水平试验的完全随机设计方案。
■试验设计程序
title '单因素试验的完全随机设计';
proc plan seed=12345;
factors cells=9 ordered;
treatments treats=9;
run;
quit;
■程序注释
plan 过程选项seed=12345中的数字可随意设定,它决定随机数发生器的一组输出,无此选项程序使用缺省值。语句factors及表达式cells=9命名变量cells并赋值9,其含义是设置9个试验单元,选项ordered指定cells的水平顺序排列。语句treatmentss及表达式treats=9,命名变量treats并赋值9,其含义是安排9个处理,注意treats与cells的水平数匹配。
■程序输出
-------------------------------------------------------------------------------------
The PLAN Procedure
Plot Factors
Factor Select Levels Order
cells 9 9 Ordered
Treatment Factors
Factor Select Levels Order
treats 9 9 Random
------cells------ ------treats-----
1 2 3 4 5 6 7 8 9 4 7 8 5 1 3 2 9 6
-------------------------------------------------------------------------------------
1.2 二因素完全随机设计
示例:编制二因素3×4试验的完全随机设计方案。
■试验设计程序
title '二因素3×4试验(12处理)的完全随机设计';
proc plan seed=45698;
factors cells=12 ordered;
treatments treats=12;
run;
quit;
■程序注释
计算二因素3×4试验的处理数得12,先利用语句factors及表达式cells=12命名变量cells并赋值12,设置12个试验单元,再利用语句treatmentss及表达式treats=12,命名变量treats并赋值12,安排12个处理,注意treats与cells的水平数匹配。
■程序输出
-------------------------------------------------------------------------------------
The PLAN Procedure
Plot Factors
Factor Select Levels Order
cells 12 12 Ordered
Treatment Factors
Factor Select Levels Order
treats 12 12 Random
---------------cells--------------- ---------------treats--------------
1 2 3 4 5 6 7 8 9 10 11 12 6 3 4 12 8 1 7 9 10 2 11 5
-------------------------------------------------------------------------------------
2 随机区组设计(Randomized Blocks Design)
2.1 单因素完全随机区组设计
示例:编制单因素9水平试验的随机区组设计方案,要求三个区组。
■试验设计程序
title '单因素完全随机区组设计';
proc plan seed=2005;
factors blocks=3 ordered cells=9 ordered;
treatments treats=9;
run;
quit;
■程序注释
语句factors及表达式blacks=3和cells=9命名两个变量blacks和cells并分别赋值3和9,其含义是设置3个区组并每区组9个试验单元。语句treatments及表达式treats=9,命名变量treats并赋值9,其含义是安排9个处理,注意treats与factors语句最后一个变量cells的水平数匹配。
■程序输出
-------------------------------------------------------------------------------------
The PLAN Procedure
Plot Factors
Factor Select Levels Order
blocks 3 3 Ordered
cells 9 9 Ordered
Treatment Factors
Factor Select Levels Order
treats 9 9 Random
blocks ------cells------ ------treats-----
1 1 2 3 4 5 6 7 8 9 8 2 7 4 9 3 5 1 6
2 1 2 3 4 5 6 7 8 9 5 7 1 4 8 9 6 2 3
3 1 2 3 4 5 6 7 8 9 4 3 9 7 2 5 6 8 1
-------------------------------------------------------------------------------------
2.2 二因素完全随机区组设计
示例:编制二因素2×4试验的完全随机区组设计方案,要求三个区组。
■试验设计程序
title '二因素完全随机区组设计';
proc plan seed=23457;
factors blocks=3 ordered cells=8 ordered;
treatments treats=8;
run;
quit;
■程序注释
计算二因素2×4试验的处理数得8。先利用语句factors及表达式blacks=3和cells=8命名两个变量blacks和cells并分别赋值3和8,设置3个区组并每区组8个试验单元。再利用语句treatments及表达式treats=8,命名变量treats并赋值8,安排8个处理,注意treats与factors语句最后一个变量cells的水平数匹配。
■程序输出
-------------------------------------------------------------------------------------
The PLAN Procedure
Plot Factors
Factor Select Levels Order
blocks 3 3 Ordered
cells 8 8 Ordered
Treatment Factors
Factor Select Levels Order
treats 8 8 Random
blocks -----cells----- -----treats----
1 1 2 3 4 5 6 7 8 6 4 7 3 5 2 8 1
2 1 2 3 4 5 6 7 8 1 5 7 6 2 8 4 3
3 1 2 3 4 5 6 7 8 6 1 8 4 3 2 7 5
-------------------------------------------------------------------------------------
3 裂区设计(Split Plot Design)
示例:编制两因素3×4水平试验的裂区设计方案,三个区组。
■试验设计程序
title '二因素3×4水平试验裂区设计';
proc plan seed=37430;
factors blocks=3 ordered A_plots=3 B_plots=4;
run;
quit;
■程序注释
语句factors中,变量blocks选项ordered指定顺序排列,变量A_plot和B_plot后无选项,则使用缺省选项Random指定随机排列。
■程序输出
-------------------------------------------------------------------------------------
blocks A_plots -B_plots-
1 1 2 3 1 4
2 3 2 4 1
3 2 3 4 1
2 3 4 2 3 1
1 4 1 2 3
2 1 3 2 4
3 2 1 2 4 3
1 3 2 4 1
3 2 4 1 3
-------------------------------------------------------------------------------------
4 拉丁方设计(Graeco-Latin Square Design)
示例:编制单因素4水平试验的4×4拉丁方设计方案。
■试验设计程序
proc plan;
factors row=4 ordered column=4 ordered;
treatments design_1=4 cyclic design_2=4 cyclic 3;
output out=design;
run;
proc plan;
quit;
■程序注释
语句factors及表达式row=4和column=4生成4×4方,语句treatments 及表达式design_1=4 和design_2=4 分别给定两个设计各4个处理,选项cyclic 3指定间隔为3的循环排列,缺省间隔1。程序输出为两个拉丁方设计design_1和design_2。
■程序输出
-------------------------------------------------------------------------------------
The PLAN Procedure
Plot Factors
Factor Select Levels Order
row 4 4 Ordered
column 4 4 Ordered
Treatment Factors
Initial Block
Factor Select Levels Order / Increment
design_1 4 4 Cyclic (1 2 3 4) / 1
design_2 4 4 Cyclic (1 2 3 4) / 3
row --column-- -design_1- -design_2-
1 1 2 3 4 1 2 3 4 1 2 3 4
2 1 2 3 4 2 3 4 1 4 1 2 3
3 1 2 3 4 3 4 1 2 3 4 1 2
4 1 2 3 4 4 1 2 3 2 3 4 1
-------------------------------------------------------------------------------------
5 巢式(等级嵌套)设计(Hierarchical Nested Design)
示例:编制三因素2×3×3试验的巢式设计方案。
■试验设计程序
title 'Hierarchical Design';
proc plan seed=17431;
factors Houses=2 Pots=3 Plants=3 / noprint;
output out=nested;
proc print data=nested;
run;
■程序输出
-------------------------------------------------------------------------------------Obs Houses Pots Plants
1 1 2 2
2 1 2 3
3 1 2 1
4 1 1 3
5 1 1 1
6 1 1 2
7 1 3 2
8 1 3 3
9 1 3 1
10 2 3 2
11 2 3 3
12 2 3 1
13 2 1 1
14 2 1 3
15 2 1 2
16 2 2 2
17 2 2 1
18 2 2 3
-------------------------------------------------------------------------------------
6 析因设计(Factorial Designs)
多因素所有水平组合作设计点的设计称作析因设计,可完全实施、部分实施或分块实施,可有重复或无重复。完全实施的析因设计可满足分析全部主效应和交互效应的要求。
6.1 完全实施的析因设计(Completely Factorial Designs)
示例:编制3因素2水平2重复试验的析因设计方案。
■试验设计程序
options ps=32;
proc factex;
factors seat_ht pressure generatr / nlev=2;
size design=16;
examine design;
run;
■程序注释
语句options ps=32设置32行页面输出。语句factors指定3个因素seat_ht pressure generatr,选项nlev=2指定水平数2。语句size design=16指定试验次数16(2重复23水平组合共16次)。语句examine design指定design输出特征,即输出标准编码(-1和1)的设计点,design可简写为d。
■程序输出
-------------------------------------------------------------------------------------The FACTEX Procedure
Design Points
Experiment Number seat_ht pressure generatr
1 -1 -1 -1
2 -1 -1 1
3 -1 1 -1
4 -1 1 1
5 1 -1 -1
6 1 -1 1
7 1 1 -1
8 1 1 1
9 -1 -1 -1
10 -1 -1 1
11 -1 1 -1
12 -1 1 1
13 1 -1 -1
14 1 -1 1
15 1 1 -1
16 1 1 1
-------------------------------------------------------------------------------------■试验设计程序
options ps=32;
proc factex;
factors seat_ht pressure generatr;
size design=16;
output out=design seat_ht nvals=(26 30)
pressure nvals=(40 55)
generatr cvals=('on' 'off');
run;
proc print;
run;
■程序注释
语句output out=design指定输出数据集design ,选项seat_ht nvals=(26 30)指定变量seat_ht值为数值20和30,选项generatr cvals=('on' 'off') 指定变量generatr值为字符on和of。注意关键词nvals和cvals分别指定赋值数值和字符。
■程序输出
-------------------------------------------------------------------------------------The FACTEX Procedure
Obs seat_ht pressure generatr
1 26 40 on
2 26 40 off
3 26 55 on
4 26 55 off
5 30 40 on
6 30 40 off
7 30 55 on
8 30 55 off
9 26 40 on
10 26 40 off
11 26 55 on
12 26 55 off
13 30 40 on
14 30 40 off
15 30 55 on
16 30 55 off
-------------------------------------------------------------------------------------
6.2 部分实施的析因设计(Fractional Factorial Designs)
示例:编制3因素2水平2重复试验的部分实施析因设计方案。
■试验设计程序(1/2实施)
options ps=60;
proc factex;
factors fact01 fact02 fact03 fact04 fact05;
size design=16;
model resolution=5;
examine aliasing design;
output out=design fact01 nvals=(10 15)
fact02 nvals=(1 2)
fact03 nvals=(25 50)
fact04 nvals=(30 70)
fact05 nvals=(100 120);
run;
proc print; run; quit;
■程序注释
语句examine aliasing design指定aliasing和design输出特征,前者输出设计的混淆结构,aliasing和design可分别简写为a和d。
■程序输出
------------------------------------------------------------------------------------- The FACTEX Procedure
Design Points
Experiment Number fact01 fact02 fact03 fact04 fact05
1 -1 -1 -1 -1 1
2 -1 -1 -1 1 -1
3 -1 -1 1 -1 -1
4 -1 -1 1 1 1
5 -1 1 -1 -1 -1
6 -1 1 -1 1 1
7 -1 1 1 -1 1
8 -1 1 1 1 -1
9 1 -1 -1 -1 -1
10 1 -1 -1 1 1
11 1 -1 1 -1 1
12 1 -1 1 1 -1
13 1 1 -1 -1 1
14 1 1 -1 1 -1
15 1 1 1 -1 -1
16 1 1 1 1 1
-------------------------------------------------------------------------------------Aliasing Structure
fact01
fact02
fact03
fact04
fact05
fact01*fact02 = fact03*fact04*fact05
fact01*fact03 = fact02*fact04*fact05
fact01*fact04 = fact02*fact03*fact05
fact01*fact05 = fact02*fact03*fact04
fact02*fact03 = fact01*fact04*fact05
fact02*fact04 = fact01*fact03*fact05
fact02*fact05 = fact01*fact03*fact04
fact03*fact04 = fact01*fact02*fact05
fact03*fact05 = fact01*fact02*fact04
fact04*fact05 = fact01*fact02*fact03
------------------------------------------------------------------------------------- Obs fact01 fact02 fact03 fact04 fact05
1 10 1 25 30 120
2 10 1 25 70 100
3 10 1 50 30 100
4 10 1 50 70 120
5 10 2 25 30 100
6 10 2 25 70 120
7 10 2 50 30 120
8 10 2 50 70 100
9 15 1 25 30 100
10 15 1 25 70 120
11 15 1 50 30 120
12 15 1 50 70 100
13 15 2 25 30 120
14 15 2 25 70 100
15 15 2 50 30 100
16 15 2 50 70 120
-------------------------------------------------------------------------------------■试验设计程序(1/4实施)
options ps=60;
proc factex;
factors fact01 fact02 fact03 fact04 fact05;
size design=8;
model resolution=3;
examine aliasing d;
output out=design fact01 nvals=(10 15)
fact02 nvals=(1 2)
fact03 nvals=(25 50)
fact04 nvals=(30 70)
fact05 nvals=(100 120);
run;
proc print;run;quit;
■程序注释
语句size design=8和model resolution=3需匹配,resolution赋值3指定主效应模型,与design赋值8是匹配的。resolution若赋值5则指定含一级交互效应的模型,design需赋值16或更高。
■程序输出
------------------------------------------------------------------------------------- The FACTEX Procedure
Design Points
Experiment Number fact01 fact02 fact03 fact04 fact05
1 -1 -1 -1 -1 1
2 -1 -1 1 1 -1
3 -1 1 -1 1 -1
4 -1 1 1 -1 1
5 1 -1 -1 1 1
6 1 -1 1 -1 -1
7 1 1 -1 -1 -1
8 1 1 1 1 1
-------------------------------------------------------------------------------------Aliasing Structure
fact01 = fact04*fact05
fact02 = fact03*fact05
fact03 = fact02*fact05
fact04 = fact01*fact05
fact05 = fact01*fact04 = fact02*fact03
fact01*fact02 = fact03*fact04
fact01*fact03 = fact02*fact04
------------------------------------------------------------------------------------- Obs fact01 fact02 fact03 fact04 fact05
1 10 1 25 30 120
2 10 1 50 70 100
3 10 2 25 70 100
4 10 2 50 30 120
5 15 1 25 70 120
6 15 1 50 30 100
7 15 2 25 30 100
8 15 2 50 70 120
-------------------------------------------------------------------------------------
7 响应面设计(Response Surface Designs)
描述响应变量与激励变量关系的统计模型为二次多项式,设计点由二水平析因点、中心点和主轴α点组成,按正交、旋转、精度均衡等准则进行的试验设计称作响应面设计。
SAS的响应面设计通过ADX界面人机交互完成。
7.1 中心组合正交旋转设计(Central Composite Orthogonal Rotatable Design)
示例:试做三因素(x1,x2,x3)试验的响应面设计,要求设计具有正交性和旋转性。
Step1:启动SAS,点击菜单Solutions子菜单Analysis菜单命令Design of Experiments。
Step1完成后出现如下的ADX窗口界面,操作窗口上方相应的命令按钮可完成二水平设计、响应面设计、混料设计、混合水平设计、最优设计和裂区设计,还可完成路径设置、打开、复制设计、更名、设计属性、参数选择、帮助和退出等操作。
Step2:点击命令按纽Response Surface Designs,出现下图所示的New Design窗口(设计窗口),窗口右侧是一列用于设计的命令按钮。
Step3:点击New Design窗口右侧的Define Varibles按钮出现下图所示的Factor设置页,点击Add按钮并在Number of rows对话框中选择3(本示例为3因素)。
Step4:Factor设置页窗口中出现Factor Name、Low Level、High Level等设置表列,表中缺省给出因素名及最低水平和最高水平的编码值(见下图)。用户可以修改设置自定义因素名和水平值。
Step5:点击设置页窗口下方的OK按钮,当出现问询是否保存的选择窗口时点击yes回到New Design窗口。点击Select Design按钮出现Design List Options(设计列表设置)页,在选项窗口中选择Central Composite: orthogonal选项确定期望的设计方法(中心组合正交,见下图)。点击Design Details按钮。
Step6:点击Design Details按钮后出现Design Information页(设计信息)和Design List 页(设计列表),点击相应页可浏览最终的设计信息和设计列表(见下图)。
Step7:关闭Design Details的设计信息及设计列表页,当出现问询是否保存的选择窗口时点击yes,会在New Design 窗口内显示设计好的试验方案(见下图)。至此设计完成。
Step8:关闭New Design窗口,当出现问询是否保存的选择窗口时点击yes,会出现要求命名的对话框,输入存盘名并点击OK,该设计方案将以自定义名称出现在ADX界面。
中心组合正交旋转设计方案(编码)
Run x1 x2 x3
1 -1 -1 -1
2 -1 -1 +1
3 -1 +1 -1
4 -1 +1 +1
5 +1 -1 -1
6 +1 -1 +1
7 +1 +1 -1
8 +1 +1 +1
9 -1.68179 0 0
10 +1.68179 0 0
11 0 -1.68179 0
12 0 +1.68179 0
13 0 0 -1.68179
14 0 0 +1.68179
15 0 0 0
16 0 0 0
17 0 0 0
18 0 0 0
19 0 0 0
20 0 0 0
21 0 0 0
22 0 0 0
23 0 0 0
7.2 小型中心组合旋转设计(Small Central Composite Rotatable Design)
示例:试做三因素(x1,x2,x3)试验的响应面设计,要求设计具有旋转性。
Step1:启动SAS,点击菜单Solutions子菜单Analysis菜单命令Design of Experiments。
Step2:点击命令按纽Response Surface Designs,出现New Design窗口(设计窗口)。
Step3:点击New Design窗口右侧的Define Varibles按钮出现Factor设置页,点击Add按钮并在Number of rows对话框中选择3(本示例为3因素)。
Step4:Factor设置页窗口中出现Factor Name、Low Level、High Level等设置表列,表中缺省给出因素名及最低水平和最高水平的编码值。
Step5:点击设置页窗口下方的OK按钮,当出现问询是否保存的选择窗口时点击yes回到New Design窗口。点击Select Design按钮出现Design List Options(设计列表设置)页,在选项窗口中选择Small Composite: Draper/Lin Method选项确定期望的设计方法(中心组合旋转)。点击Design Details按钮。
Step6:点击Design Details按钮后出现Design Information页(设计信息)和Design List 页(设计列表),点击相应页可浏览最终的设计信息和设计列表。
Step7:关闭Design Details的设计信息及设计列表页,当出现问询是否保存的选择窗口时点击yes,会在New Design 窗口内显示设计好的试验方案(见下图)。至此设计完成。
Step8:关闭New Design窗口,当出现问询是否保存的选择窗口时点击yes,会出现要求命名的对话框,输入存盘名并点击OK,该设计方案将以自定义名称出现在ADX界面。
小型中心组合旋转设计方案(编码)
Run x1 x2 x3
1 -1 -1 +1
2 -1 +1 -1
3 +1 -1 -1
4 +1 +1 +1
5 -1.41421 0 0
6 +1.41421 0 0
7 0 -1.41421 0
8 0 +1.41421 0
9 0 0 -1.41421
10 0 0 +1.41421
11 0 0 0
12 0 0 0
13 0 0 0
14 0 0 0
15 0 0 0
注释:利用ADX界面还可完成二水平设计、混料设计、混合水平设计、最优设计和裂区设计等。利用optex过程可进行试验优化设计。 |
|