楼主: patac_chong
10068 40

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

21
patac_chong 发表于 2010-11-5 12:42:15
高手再来关注一下吧

22
情迷仲夏夜 发表于 2010-11-6 02:56:04
对这个正交设计列表程序运算问题,我最近察看了不少东西,发现有如下事项值得关注:
1。固定(fixed)和混合(mixed)之分。
2。平衡(balanced)和不平衡(unbalanced)之分。
3。对称的(symmetrical)或不对称的(asymmetrical)之分。
4。还有引入区组(block),水平(level)和强度(strength)之别。
5。还有一个更主要的问题,充要运次(N或runs)。正交设计这个问题谜就谜在这个充要运次上。因为样品多,自然多多益善。但却致使任务量繁大,常常不可能实现和满足,但统计的本身主要是随机,最忌讳偏差,随机不好,偏差大几乎就等于无效。

因此,根据以上几点所述,现在就产生正交表的名称表达上就有如下各种表示方法:
1。对于固定的:oa.4.2.2 或L4(2^2),就是说运行次数为4,因素数为2,水平数为2。但是对于L(3x3^2),我就不知道用oa的方式应该如何表达,因为这种表达方式不是我发明的。而且,像oa.256.17.4.3,按照L型的表达方式,我觉得应该是L256(17^4x3^1),但察看其结果的却是:L256(4^17),而3却是指strength,4为水平数,17为因素数。所以,当具体用到哪种正交表,一定要从名称看结果,不然就会误解!

2。另外,何以见得应该是(3x3^2)应该是L48次,还只需L12次就足以?或(2^15 3^40 6^4  9^1)为L288?而不是256或更少,还是高于356或更大?甚至,同样运次,却可以有很多不同样的设计方案?这就涉及到充要运次这个问题上,运次与水平数和因素数之间到底有什么样的关系?我想如果能够真正搞清这三者之间的关系,这个正交设计问题立刻就可以迎刃而解!但这正是许多人对其感兴趣,但却无固定模式可循的关键所在而导致这个正交设计难度相对较大。

所以,到目前为止,研究的人很多,说法也很多,表达以及所得结果的花样就更多,实际每个学者研究的角度,方式,层次都各有差别,不一而论,比想象的还要错综复杂。特别是对于更高层次,更高水平的正交设计,因为更复杂,阐述不易,用数学的方式表达及其证明验证就更加困难,特别是对于充要运次何谓必要,何谓足够?

当然,我觉得具体问题还需要具体解决,万变最终还是不离其宗,所以,要想得到高水平多因素混合复杂的正交设计表,首先还是要从简单入手:先搞清简单固定的,然后再去解决混合复杂的。比如说:对于L288(2^15 3^40 6^4  9^1),现将其分解成4种:2^15,3^40,6^4和9^1。最简单的是9^1,其次是2^15。而3^40和6^4算是较复杂的,当得到了这4种简单的正交设计结果后,再将这4种正交表放在一起综合考虑,选出288次充要运次!

23
情迷仲夏夜 发表于 2010-11-6 05:20:33
上传一个3-22水平固定型正交设计多方案(170多个)列表供各位感兴趣的人士参阅,使用和设计。

我想:如果可能通过这个方法:在各种水平下相应的正交列表中,是否可以选出适当固定列表,然后再进行相应互配以求得混合复杂列表:注:列表名称解释:D(运行数,因素数,水平数)
。。。
D(48,48,3)
D(51,24,3)
D(54,54,3)
D(57,27,3)
D(60,30,3)
D(63,36,3)
D(66,30,3)
D(69,24,3)
D(72,72,3)
D(75,27,3)
D(78,30,3)
D(81,81,3)
D(84,42,3)
D(87,27,3)
D(90,90,3)
D(93,30,3)
D(96,96,3)
D(99,39,3)
D(102,48,3)
D(105,29,3)
D(108,108,3)
D(111,36,3)
D(114,30,3)
D(117,39,3)
D(120,48,3)
D(123,30,3)
D(126,72,3)
D(129,48,3)
D(132,132,3)
D(135,81,3)
D(138,48,3)
D(141,30,3)
D(144,144,3)
D(147,42,3)
D(150,150,3)
D(153,72,3)
D(156,48,3)
D(159,36,3)
D(162,162,3)
D(165,42,3)
D(168,84,3)
D(171,81,3)
D(4,4,4)
D(8,8,4)
D(12,12,4)
D(16,16,4)
D(20,10,4)
D(24,20,4)
D(28,12,4)
D(32,32,4)
D(36,36,4)
D(40,16,4)
D(44,12,4)
D(48,48,4)
D(52,16,4)
D(56,56,4)
D(60,20,4)
D(64,64,4)
D(68,32,4)
D(72,36,4)
D(76,16,4)
D(80,40,4)
D(84,36,4)
D(88,32,4)
D(92,36,4)
D(96,96,4)
D(100,36,4)
D(104,48,4)
D(108,108,4)
D(112,56,4)
D(116,36,4)
D(120,56,4)
D(124,20,4)
D(128,128,4)
。。。
D(50,50,5)
D(55,11,5)
D(60,20,5)
D(65,20,5)
D(70,20,5)
D(75,40,5)
D(80,80,5)
D(85,20,5)
D(90,90,5)
D(95,20,5)
D(100,100,5)
D(6,2,6)
D(12,6,6)
D(18,2,6)
D(24,6,6)
D(30,2,6)
D(36,7,6)
D(42,2,6)
D(48,10,6)
D(54,2,6)
D(60,8,6)
D(66,2,6)
D(72,12,6)
D(78,2,6)
D(84,8,6)
D(7,7,7)
D(14,14,7)
D(21,9,7)
D(28,28,7)
D(35,10,7)
D(42,18,7)
D(49,49,7)
D(56,28,7)
D(63,14,7)
D(70,18,7)
D(8,8,8)
D(16,16,8)
D(24,8,8)
D(32,32,8)
D(40,10,8)
D(48,16,8)
D(56,56,8)
D(64,64,8)
D(9,9,9)
D(18,18,9)
D(27,27,9)
D(36,36,9)
D(45,18,9)
D(54,54,9)
。。。
如果有兴趣,请查看附件!

oa.txt
下载链接: https://bbs.pinggu.org/a-787619.html

494.8 KB

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

24
情迷仲夏夜 发表于 2010-11-8 11:00:25
上传一个SAS macro程序,我觉得这应该是用SAS程序解决正交设计列表的最佳方案,可以轻松解决像L288(2^15 3^40 6^4 9^1)这样复杂的混合型正交设计表,欲知详情,请查看附件(内附原始程序及运行举例)!

oa.zip

135.89 KB

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

25
patac_chong 发表于 2010-11-12 22:09:51
非常感谢你的帮助,让我对这个问题有了更全面的了解。
适当的正交矩阵是我的追求。没想到碰触到这一领域的一个难题。
再次感谢,让我受益匪浅。

26
patac_chong 发表于 2010-11-12 22:14:34
SAS程序运行,系统提示ERROR: The keyword parameter MAXLEV was not defined with the macro.
不知是何故?
还望情迷继续指教,非常感谢。

27
patac_chong 发表于 2010-11-15 14:33:02
情迷仲夏夜,你还能再来看看吗

28
情迷仲夏夜 发表于 2010-11-16 01:21:31
对不起,这两天忙了一些,没上网!我很高兴最终能能帮你解决这个问题,而且,从中,我自己对这个问题也有了更深一步的了解!我觉得这个问题很有意思。据我运行SAS程序在寻找正交设计时,发现如果仅仅是从理论上,而不是针对这具体的变量或研究对象的实际情况来寻找相互匹配,那各水平和各因素相互之间的匹配数量是很大的,特别是你所要求的至少60个变量以上,充要运次希望在200以上这样的正交表所产生的相互匹配关系就更大,因此如何确定充要运次就是个很重要的议题,但是我觉得首先这本身还需要和你研究的这60个变量联系来看,特别是要看你这60个变量之间交互关系中,究竟哪些因素和水平之间有着不可分割的联系需要进一步澄清。其次,你可以选用不同的n来进行比较。我不知道你是如何或哪里得知(2^15 3^40 6^4 9^1)充要运次需要288,但就正交设计本身,我想这个数字应该不是绝对的,而是相对的。也就是说:要想得到(2^15 3^40 6^4 9^1)正交表,256运次,行不行?或是356可不可以?这可能需要决定于两个方面:第一,你在实际实验上最大可以承受多大的运次,就抽样检验来讲,样品量当然是越大越好,如果可能你最好能用整体或总体,但当很多时候做不到时,才需要找到一个可以代表总体但又尽量存在很小误差的一个样本量,而我想相对于一个很大匹配数(几十万队或几百万对)的一个具体实验设计,对于256或356或288,这几种运次之间的产生变化或影响应该是不大。总之,我想如果你对n取值多少存在疑问,不妨作个检验:
就是用这个SAS macro分别输入256,356,和你最初需要的288,然后得到3种正交设计表,初步看看得到的这三个表之间有何差异?然后看看从理论上能不能粗略算一算,有无必要在具体实验上进一步澄清。如果真有差异,我想你不妨再做一次稍大运次的正交设计,比如说:2560 甚至25600。。。但我想:第一,差异不会很大,第二,2560 或25600对你来说大概是很难做到的!也就是:充要运次要以满足你具体的试验要求为第一条件,充要运次只是个相对的,切莫在“应该是256,还是288或是356”上寻找你认为更精确的运次,实际上,这是没有具体意义的争议,这也就是为什么这段SAS macro让你自己来决定和输入你自己想输入n值并给予你更具有灵活选择的设计初衷吧?
另外,我觉得这个SAS macro应该更适合用于像你需要的那种较为复杂的正交设计,所以,如果你想输入一些简单的正交设计来印证这段SAS macro的可行性和合理性,那你本身就用不着使用这个SAS macro了!杀鸡何用宰牛刀?
还有我上传的那段SAS macro只是针对这类问题23个macro的其中之一,当时只是想为你解决你想要解决的问题而已,而没有上传所有的SAS macro,以免混淆你真正的需要。所以,当你用maxlev可能会出现问题,也许是call到另一段macro而你没有。如果你愿对这所有的23个macro都感兴趣,我当然不妨可以上传!请看附件!

mkt2010.zip

378.41 KB

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

本附件包括:

  • plotit.sas
  • choiceff.sas
  • mktallo.sas
  • mktbal.sas
  • mktbibd.sas
  • mktblock.sas
  • mktbsize.sas
  • mktdes.sas
  • mktdups.sas
  • mkteval.sas
  • mktex.sas
  • mkthelp.sas
  • mktkey.sas
  • mktlab.sas
  • mktmdiff.sas
  • mktmerge.sas
  • mktorth.sas
  • mktppro.sas
  • mktroll.sas
  • mktruns.sas
  • paint.sas
  • phchoice.sas
  • readme.txt

29
patac_chong 发表于 2010-11-16 14:12:41
也许是我之前给的假设产生了误导,L288只是我的构想
我是根据实际需求和分析能力以及一些强度的概念,推测288是一个可能。我也不知道是不是正好就是充要运次,我就是希望能够不需要我人为输入n的值,由系统设计出的矩阵满足最小充要运次,并且系统能够比较智能化的给出修正意见,比如假设2^15 3^40 6^4 9^1无法得到300以内的矩阵,但是变量数稍作调整为2^22 3^33 6^4 9^1,则可以得到300以内的矩阵,而变量总数仍然不变。
我发现一个efficiency概念,也就是我在26楼提到的第一个问题,或许SAS总能给出一个实验设计,但是如果是完全orth,那么efficiency=100%,反之<100%,不知道我的理解对不对。
这个问题衍生开来就是你上面提到的,对于一个实际优化问题,100%的ORTH试验设计,和97%的会有多少差别,这样的差别工程上能够接受吗?如果回答是肯定的话,那么这个问题也可以完美解决。

30
patac_chong 发表于 2010-11-16 14:33:37
非常感谢你提供的附件,不知道你在论坛外的角色是什么,你在这个方面的理解程度很专业了。我想这个内容是任何领域需要做优化分析都要涉及的。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 06:14