楼主: patac_chong
10115 40

SAS可以做复杂试验设计吗? [推广有奖]

11
patac_chong 发表于 2010-11-3 13:05:22
附件没上传完整吧,只有1-2百K,没有什么安装的东西啊

12
sxlion 发表于 2010-11-3 19:25:09
既然你对交互式很熟悉 ,为什么不试试JMP, JMP很多设计遵照工业标准的。

用SAS编程设计固然没有问题,分析结果也没什么问题,但是复杂的代码和分析结果会让人头疼的。JMP是一条龙服务,到位。 再者, JMP9可以调用R, 这样强大的功能,怎么能无视之。


ps1: JMP也有自己独特的编程语言。既然SAS没试都没试过,何必先从JMP开始。
ps2: 满眼都是复制粘贴的东西。

13
情迷仲夏夜 发表于 2010-11-4 01:51:44
我再上传一个附件有现成的正交表可供选择以下(有很多都是在L200以上)复杂的正交设计,不知道对你有无帮助?

Two levels and strength 3
oa.200.100.2.3.will
oa.208.104.2.3.pal
oa.216.108.2.3.pal
oa.216.108.2.3.pal2
oa.216.108.2.3.will
oa.224.112.2.3.ttpal2
oa.224.112.2.3.ttwill
oa.232.116.2.3.will
oa.240.120.2.3.tpal
oa.240.120.2.3.tpal2
oa.240.120.2.3.twill
oa.248.124.2.3.pal2
oa.248.124.2.3.will
oa.256.128.2.3.syl
oa.264.132.2.3.pal
oa.264.132.2.3.will
oa.272.136.2.3.tpal
oa.272.136.2.3.twill
oa.280.140.2.3.pal
oa.288.144.2.3.tpal
oa.296.148.2.3.pal2
oa.296.148.2.3.will
oa.304.152.2.3.pal
oa.312.156.2.3.will
oa.320.160.2.3.tpal
oa.328.164.2.3.pal
oa.336.168.2.3.pal
oa.344.172.2.3.will
oa.352.176.2.3.ttpal
oa.352.176.2.3.ttwill
oa.360.180.2.3.pal
oa.368.184.2.3.twill
oa.376.188.2.3
oa.384.192.2.3.pal
oa.392.196.2.3.pal2
oa.400.200.2.3.pal
oa.512.256.2.3.syl

Two levels and strength greater than 3
oa.256.16.2.5
oa.1024.24.2.5
oa.2048.32.2.5
oa.1024.12.2.7
oa.2048.16.2.7
oa.4096.12.2.7

Three levels and strength greater than 2
oa.243.20.3.3
oa.729.14.3.4
oa.729.12.3.5

Fixed-level arrays with more than three levels
oa.256.17.4.3
oa.4096.12.4.5
oa.242.23.11.2
oa.256.17.16.2
oa.512.33.16.2
oa.289.18.17.2

如感兴趣,请看附件!

LOA.pdf
下载链接: https://bbs.pinggu.org/a-786620.html

253.42 KB

需要: 2 个论坛币  [购买]

14
情迷仲夏夜 发表于 2010-11-4 03:04:10
回答4楼的问题:
一开始,我觉得打印正交设计表这个问题很简单:只要用SAS中的proc plan;就可以解决了。但过后细一想,并非可以一步到位,因为在SAS的proc plan中的factors a b c并非就是指正交设计表中的水平数,要想真正用SAS运算出所需要的正交表还需要附加很多其他步骤,我觉得只要对我上面所写的SAS程序深入仔细的研究一下,就可以根据每个个人的需要写出相应所需要的正交设计表。
但问题的关键还在于对正交表中相互交配的思考:也就是对data rep1-rep4设计,只要这几个data算出来了,相互搭配自然就出来了!
比如说:楼主想要生成“L288=(2^15 3^40 6^4  9^1)”就是要想:
1。在水平2(1或2)做出15个列数(也就是因素数),
2。在3(1,2,3)的水平数上列出40个因素数。
3。在6(1,2,3,4,5,6)的水平数上列出4个因素数
4。在9(1,2,3,4,5,6,7,8,9)的水平数上列出1组因素
然后再从上1-4种水平的各种因素上里随机相互搭配,选出必要的实验运行次数。所以从这一个思路出发,并非可以轻易写出一个固定模式的SAS macro就可以一劳永逸的。因为这是一个非常灵活,富具很大的伸缩弹性的程序写作!

用我上面那个SAS程序生成3x2^2(a=3(水平数是0,1,2),因素数只有一组, b or c 的水平数都是2(即0或1),^之后的2为列数或因素数或变量数)正交设计表的结果是:
runs a b c rep bloc
  1 2 1 0 1 1
  2 2 0 1 1 1
  3 0 0 0 1 1
  4 1 1 1 1 1
  5 2 1 1 1 2
  6 0 1 0 1 2
  7 0 0 1 1 2
  8 1 0 0 1 2
  9 2 0 0 1 3
10 0 1 1 1 3
11 1 0 1 1 3
12 1 1 0 1 3
13 2 0 1 2 1
14 0 1 1 2 1
15 0 0 0 2 1
16 1 1 0 2 1
17 2 1 0 2 2
18 0 0 1 2 2
19 1 0 0 2 2
20 1 1 1 2 2
21 2 1 1 2 3
22 2 0 0 2 3
23 0 1 0 2 3
24 1 0 1 2 3
25 2 1 0 3 1
26 0 1 1 3 1
27 0 0 0 3 1
28 1 0 1 3 1
29 2 0 1 3 2
30 0 1 0 3 2
31 1 0 0 3 2
32 1 1 1 3 2
33 2 1 1 3 3
34 2 0 0 3 3
35 0 0 1 3 3
36 1 1 0 3 3
37 2 1 1 4 1
38 0 0 0 4 1
39 1 0 1 4 1
40 1 1 0 4 1
41 2 1 0 4 2
42 2 0 1 4 2
43 0 1 1 4 2
44 1 0 0 4 2
45 2 0 0 4 3
46 0 1 0 4 3
47 0 0 1 4 3
48 1 1 1 4 3
至于rep和bloc都是用于对具体试验进行划分分组用的。

回答11楼:附件不大,都是现成写好的模式,安装说明在附件的install里,一共介绍了三种安装方法。按照说明安装好,就可以从12模式中任选一种运行了!

15
patac_chong 发表于 2010-11-4 09:09:24
sxlion
JMP是什么啊?SAS的另一个模块吗?

16
patac_chong 发表于 2010-11-4 09:24:46
非常感谢情迷仲夏夜,
Fixed-level arrays with more than three levels
oa.256.17.4.3
这个表达式是什么意思啊,L256=(4^17),强度是3吗??

17
patac_chong 发表于 2010-11-4 10:10:24
13楼中提供的大正交表,可惜不是混合水平的。且多是2水平的
我常用到的水平2,4,6,8,希望4水平的变量可以多一点谢谢啊

18
patac_chong 发表于 2010-11-4 11:31:09
proc plan;
   factors A=3 b=3 c=3;
   output out=fact A nvals=(0 1 2)
   b nvals=(0 1 2)
   c nvals=(0 1 2);
data rep1; set fact; rep=1; block=mod(A+b+c,3)+1;
data rep2; set fact; rep=2; block=mod(A+2*b+c,3)+1;
data rep3; set fact; rep=3; block=mod(A+b+2*c,3)+1;
data rep4; set fact; rep=4; block=mod(A+2*b+2*c,3)+1;
data bdesign; set rep1 rep2 rep3 rep4;
   if b<2 and c<2;
proc sort data=bdesign; by rep block;
proc print data=bdesign; run;

我好根据这个程序改一改试一试。
非常感谢。

19
patac_chong 发表于 2010-11-4 12:51:08
SAS 的solution菜单analysis下,有design of experiment,不知道这个功能能不能做正交试验设计。

简单试了一下,好像只支持2、3的混合水平,且变量总数不超过23.,最大样本数为36。

20
patac_chong 发表于 2010-11-4 15:21:27
18楼的SAS程序有几个问题:
1.利用SAS程序生成L(3^1,2^2)的正交表,为什么b,c定义=3?
2.nvals是定义水平的吧?
3.data rep1之后的语句是做什么用的啊?
4.不知道那个语句起到设计正交试验计算的
5.结果为什么是48个样本点,即使是全因子也只有12啊?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-18 02:42