SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 9555|回复: 12
打印 上一主题 下一主题

常见试验设计的SAS实现

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 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过程可进行试验优化设计。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2006-5-20 23:36:43 | 只看该作者

试验设计

楼上这位,我也是主要学习SAS中的试验设计这一块,想和你多交流。QQ:309637822 请加我
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2006-5-20 23:51:28 | 只看该作者

回复试验设计

我们可以用E_mail或在论坛里交流,时间的关系我从不涉足网聊,故没有QQ。谢谢你的邀请!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2006-5-21 00:31:46 | 只看该作者

回复

请楼上的这位给我留下你的email,我联系你。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2006-5-21 09:16:02 | 只看该作者

回复

我的E_mail地址:wysandws@126.com
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2006-5-23 19:55:49 | 只看该作者

00

很好的帖子,是楼主总结的吗?是不是出书了,我要买一本,最好书中除了实验设计程序外,相应的数据处理程序和事例.
   斑竹要给楼主加分啊!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2006-5-23 22:49:14 | 只看该作者

回复sxlion

谢谢sxlion的鼓励。帖子是我所写“试验设计与统计分析_SAS上机指导”中的1个实验,相应设计的试验资料实例和SAS分析写在另外一个实验里,上机指导已内部出版,服务了3届本科。写这个帖子旨在抛砖引玉,与大家交流,了解方方面面的问题,吸收全国朋友的智慧,至于出书,相信明年有结果。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2006-5-24 21:49:21 | 只看该作者

to wangyushun

非常感谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2006-6-9 16:05:01 | 只看该作者

非常感谢

非常感谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2006-8-16 16:41:39 | 只看该作者

非常感谢

非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-6 04:34 , Processed in 0.071489 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表