Как создать дробный факторный дизайн в R?

Я изо всех сил пытаюсь создать довольно продуманный фракционный факториал с использованием R.

(см. http://en.wikipedia.org/wiki/Fractional_factorial_design)

Я искал Google и R-списки и проверил несколько многообещающих пакетов (AlgDesign, DoE.base, acepack)

Но я не нашел ничего, что может обрабатывать дробный дизайн (только интересующийся основными эффектами) с 8 факторами, которые имеют либо 3, 4, 6, либо 11 уровней каждый!

Может ли кто-нибудь указать мне в правильном направлении?

Спасибо!

Ответ 1

Я использовал пакет AlgDesign для генерации дробных факториалов:

  • Сгенерируйте полный факториал с помощью функции gen.factorial().
  • Передайте результаты на optFederov() - это попытается найти оптимальный дробный дизайн, используя алгоритм Федерова.

Следующий код занимает около 3 минут для работы на моем ноутбуке Windows. Пример показывает приблизительную оптимальную фракционную факториальную конструкцию с 8 коэффициентами с 3, 4, 6 или 11 уровнями, как вы указали.

Обратите внимание, что я использую optFederov(..., approximate=TRUE) - это находит приблизительное решение. На моей машине, когда я устанавливал approximate=FALSE, код занимает слишком много времени, и Windows бросает строп. Вы можете поэкспериментировать с разными настройками.

library(AlgDesign)

levels.design = c(3,4,6,11,3,4,6,11)
f.design <- gen.factorial(levels.design)

fract.design <- optFederov(
        data=f.design,
        nTrials=sum(levels.design),
        approximate=TRUE)

И вывод:

head(f.design)

  X1 X2 X3 X4 X5 X6 X7 X8
1 -1 -3 -5 -5 -1 -3 -5 -5
2  0 -3 -5 -5 -1 -3 -5 -5
3  1 -3 -5 -5 -1 -3 -5 -5
4 -1 -1 -5 -5 -1 -3 -5 -5
5  0 -1 -5 -5 -1 -3 -5 -5
6  1 -1 -5 -5 -1 -3 -5 -5


fract.design
$D
[1] 6.813321

$A
[1] 0.375804

$Ge
[1] 0.998

$Dea
[1] 0.998

$design
       Rep.. X1 X2 X3 X4 X5 X6 X7 X8
1          1 -1 -3 -5 -5 -1 -3 -5 -5
10         1 -1  3 -5 -5 -1 -3 -5 -5
...
626475     1  1 -3 -5 -5  1  3  5  5
627253     1 -1 -3  5  5  1  3  5  5

$rows
 [1]      1     10     61    723    790   1596   2307   2314   2365   2374
[11]   2376   7129   7140   7198   7849   7911   7918   7920   8713   8724
[21]   9433   9504  48252  48301  48303  49105  49107  49114  49174  54660
[31]  54711  56233  56304 570241 570963 571834 571836 572556 578151 579015
[41] 617821 617823 619414 620127 620134 625618 626475 627253

Ответ 2

Просто добавьте к Андри ответ. Вот как мы интерпретируем силу оптимального дизайна.

Эффективность проектирования оценивается Ge. Это должно быть 1 или близко к 1. Ниже ссылки имеют некоторое объяснение, и я назвал книгу "Дизайн и анализ экспериментов с R". Думал, что это может быть полезно для тех, кто ищет ответ. Ниже приведен источник, из которого я получил эту информацию.

https://stat.ethz.ch/pipermail/r-help/2007-October/143217.html

Ошибка в иерархическом байесе в R: пакет Байеса