采用D高效平衡设计

时间:2013-05-15 14:48:35

标签: r

我想知道是否有任何用于生成D

高效平衡设计的软件包

我尝试了AlgDesign软件包,但我无法获得平衡设计。

不确定这是因为我正在考虑的属性和等级的小全因子(32)还是因为平衡设计超出了AlgDesign的范围。

我有3个属性:两个属性有四个级别,1个有2个级别

  • att 1:4 level
  • att 2:4 level
  • att 3:2 level

我使用以下R代码:

library(AlgDesign)
#-----------------------------
# define attributes and levels
#-----------------------------
desVarNames <- c("esource", "certified", "cost")
desLevels <- c(4,2, 4)
n <- 6       #number of choice sets
desOpt <- 4  #num option per choice set

set.seed(123456)
#generate full factorial
dat<-gen.factorial(desLevels,length(desLevels),varNames=desVarNames, center=TRUE)

destT <- optFederov(~., dat, nTrials = (n*(desOpt)), criterion="D")
destT

1 个答案:

答案 0 :(得分:1)

首先,当你说“平衡”设计时,我怀疑你的意思是每个因素水平在最终设计中应该出现相同的次数。 (实际上,上面的变量“dat”也是一个平衡设计,因为每个可能的组合只出现一次)。

optFederov的工作方式是使用Federov的交换算法随机选择和替换试验。因此,每次试验与另一个候选试验交换时,初始平衡的设计将变得不平衡,因为如果试验“平衡”设计,将其替换为任何其他试验将使设计失衡。如果算法在每一步都被迫保持平衡设计,那么就不可能进行替换,而且会被卡住。

不仅平衡设计与Feverov交换算法的工作方式不相容,从D效率的角度来看实际上并不可取。

例如,如果你有4个因子分别有2,3,5和7个级别,那么平衡设计的唯一方法是包括所有2 * 3 * 5 * 7 = 210个试验,而AlgDesign只建议19个

data = gen.factorial(c(2,3,5,7), factors = "all")
trials = optFederov(data = data, center = FALSE, criterion = "D")

简而言之,“平衡d效率”设计的概念在很大程度上是对立的。