APP下载

基于SAS软件的析因设计方案优化

2015-10-09张意松等

湖北农业科学 2015年17期

张意松等

摘要:利用SAS软件中的Factex过程进行析因试验方案的设计,通过Optex过程对方案进行了优化,并通过实例说明其具体应用方法。结果表明,通过Optex过程可减少70%的试验量,平均预期标准误也相对较小。

关键词:最优化方法;SAS软件;试验设计;析因试验

中图分类号:S-3 文献标识码:A 文章编号:0439-8114(2015)17-4309-03

DOI:10.14088/j.cnki.issn0439-8114.2015.17.053

析因试验是一种常用的重要试验设计方法,其理论基础是方差分析理论[1],将两个因素或多个因素进行交叉分组,若分别以每个水平组合进行试验,称为析因设计,也叫因子设计。通过析因设计试验得到的结果可以用来检验各因素内部不同水平间有无差异,还可检验两个因素或多个因素间是否存在交互作用。由于农业研究试验中涉及的影响因素往往较多,从而造成试验量较大[2,3],因此需要对试验方案做进一步优化,优选出部分试验设计点。本研究介绍了SAS软件QC模块中的Factex和Optex过程,并通过示例程序说明了如何使用该过程设计析因试验和对试验处理组做优化,以减少试验处理组的方法。

1 Factex过程的基本语法

SAS软件中的QC模块为全面质量管理提供了一系列工具,引导用户进行标准的统计过程以及试验设计,其中Plan和Factex过程用来完成各种试验方案的设计,Optex过程则用来优选试验设计点[4]。Factex过程的语法结构如下:

PROC Factex < options> ;

Factors factor-names < / option> ;

Size size-specification ;

Model model-specification>;

Blocks block-specification ;

Examine

Output Out=SAS-data-set

1)PROC Factex语句,有可选项,选项包括了变量名长度、搜索时间设定以及自动选择,一般使用nocheck选项,防止某些特殊情况搜索时间过长;

2)Factors语句,用于指定试验的因素名,多个用空格隔开,默认的水平是2,选项可指定水平数,通过nlev=n来指定;

3)Size语句,用于指定试验单元数,指定方式为design=ab×cd×L×n,其中b、d为因素个数,a、c为水平个数,n为重复次数。也可使用DESIGN=Mininum,自动确定最少处理数;

4)Model语句,用于指定搜寻设计方案的模式,可选项有:ESTIMATE=(effects)

5)Blocks语句,用于指定区组数及区组大小,当Factex过程用于析因设计时,一般不包括区组,则程序中无该语句;

6)Examine语句,用于指定输出特征,有ALIASING、CONFOUNDING、DESIG选项,分别输出设计的混淆结构、混淆规则以及标准编码设计试验点;

7)Output语句,用data=数据集.文件名,指定输出文件名和数据集,此语句也可用factor-name NVALS=(level1 level2...levelq)或factor-name CVALS=(′level1′′level2′...′levelq′)格式指定在输出设计方案中使用因素的实际水平值,使试验方案更加直观。

2 Optex过程的基本语法

Optex过程的语法结构如下所示:

PROC Optex < options > ;

Class class-variables ;

Model effects < / options> ;

Blocks block-specification

Examine

Generate

ID variables ;

Output Out= SAS-data-set

1)PROC Optex语句,有可选项,其中data=数据集.文件名,指定输出文件名和数据集,seed=s指定产生随机数的种子数s,可以是小于230的任意正整数,其他选项用于指定设计矩阵为奇异矩阵时,一般使用缺省设置;

2)Class语句,用于指定分类变量,即试验设计的因素;

3)Model语句,用于指定优化的模型,通过命令@sign指定可忽略的交互作用,通过条算符号“|”指定展开效应使用的因素;

4)Blocks语句,用于存在协变量或者协方差时寻找符合D最优准则的设计方案;

5)Examine语句,用于指定输出特征,同Factex过程的EXAMINE;

6)Generate语句,用于指定查找最优设计的方式,可选项主要有优化准则、搜索次数、搜索方法等。准则包括D、A、U、S等几种最优化准则。系统默认的是method=exchange,如果想找到更可靠的设计可以用method=m_fedorov;

7)ID语句,用于指定不参与建模的变量;

8)Output语句,用data=数据集.文件名,指定输出文件名和数据集。

3 实例应用

某县农委农业生态环保检验监测站建立榨菜测土配方施肥示范,在肥料田间试验中,需要建立3因素4水平试验方案,3因素是指氮(x1)、磷(x2)、钾(x3)3个研究因素;4水平是指氮、磷、钾肥料用量的4个水平,分别用1、2、3、4水平代替,1水平为不施用任何肥料,3水平为当地供试作物肥料最佳用量,2水平为3水平的1/2用量,4水平为3水平用量的1.5倍,析因设计方案见表1。全析因设计方案程序如下:

PROC Factex;

Factors x1 x2 x3/ nlev=4;

Size design=64;

Output out=aa x1 nvals=(1 2 3 4)

x2 nvals=(1 2 3 4)

x3 nvals=(1 2 3 4);

Run;

Factors x4 / nlev=3;

Size design=3;

Output out=bb pointrep=aa x4 nvals=(1 2 3);

Run;

PROC Print; Run; Quit;

由表1可以看到,按照析因设计的原则,有192个处理组,设计方案虽然能够实现,但是由于试验具体实施需要一定的人力、物力和财力,因此需要在保证数据有效分析的基础上对试验方案做优化,选取设计空间中更少的点满足分析。下面是Optex过程的应用举例,将Optex过程置于Factex过程之后,对Factex过程的设计结果做优化:

PROC Factex;

PROC Optex data=bb seed=1234567;

Class x1 x2 x3 x4;

Model x1|x2|x3|x4 @2;

Generate n=57 keep=10 iter=50 method=m_fedorov ;

Output Out=optdesign;

Run;

PROC Print; Run; Quit;

由表2最优设计评价表可知,按照D准则评价1号方案是最佳方案,且平均预期标准误也相对较小。析因设计方案经过优化以后处理数为57个,较之原来的192个处理组减少了70%的处理组(表3)。

4 小结与讨论

对SAS软件的Factex过程和Optex过程进行了详细地介绍,可以根据试验需求设置不同的参数,实现所需的析因设计方案。特别是使用Optex过程对析因设计点进行优化,在保证分析效果的情况下可得到试验量相对较小的设计方案,解决了农业试验中试验处理组过多不容易实施所致的数据缺失、经费不足等问题。

参考文献:

[1] 周振泉,刘顺玉.田间试验原理及其特点[J].黑龙江水利科技,2011,39(3):121-122.

[2] 张建方.关于试验设计的效率及有关问题[J].数理统计与管理,2007,26(5):792-801.

[3] 王怀胜.田间试验操作不当的原因与技术要点[J].现代农业科技,2007(23):161-165.

[4] 汪海波,罗 莉,吴 为,等.SAS统计分析从入门到精通[M].北京:人民邮电出版社,2013.endprint