exponenta event banner

dcovary

D-оптимальный дизайн с фиксированными ковариатами

Синтаксис

dCV = dcovary(nfactors,fixed)
[dCV,X] = dcovary(nfactors,fixed)
[dCV,X] = dcovary(nfactors,fixed,model)
[dCV,X] = daugment(...,param1,val1,param2,val2,...)

Описание

dCV = dcovary(nfactors,fixed) использует алгоритм обмена координатами для генерации D-оптимальной конструкции для линейной аддитивной модели с nfactors факторы, с учетом ограничения, что модель включает фиксированные ковариатные факторы в fixed. Число прогонов в конструкции - это количество строк в fixed. Дизайн dCV увеличения fixed с начальными столбцами для обработки терминов модели.

[dCV,X] = dcovary(nfactors,fixed) также возвращает матрицу проектирования X связанные с проектом.

[dCV,X] = dcovary(nfactors,fixed,model) использует модель линейной регрессии, указанную в model. model является одним из следующих:

  • 'linear' - Постоянный и линейный члены. Это значение по умолчанию.

  • 'interaction' - Постоянные, линейные и интерактивные термины

  • 'quadratic' - постоянные, линейные, интерактивные и квадратные члены;

  • 'purequadratic' - Постоянные, линейные и квадратные члены

Порядок столбцов X для полной квадратичной модели с n членами:

  1. Постоянный член

  2. Линейные члены порядка 1, 2,..., n

  3. Члены взаимодействия в порядке (1, 2), (1, 3),..., (1, n), (2, 3),..., (n - 1, n)

  4. Квадратные члены в порядке 1, 2,..., n

Другие модели используют подмножество этих терминов в том же порядке.

В качестве альтернативы, model может быть матрицей, задающей многочлены произвольного порядка. В этом случае model должен иметь один столбец для каждого фактора и одну строку для каждого термина в модели. Записи в любой строке model являются полномочиями для факторов в столбцах. Например, если модель имеет коэффициенты X1, X2, и X3, затем ряд [0 1 2] в model задает термин (X1.^0).*(X2.^1).*(X3.^2). Строка всех нулей в model указывает постоянный член, который может быть опущен.

[dCV,X] = daugment(...,param1,val1,param2,val2,...) задает дополнительные пары параметр/значение для проекта. Допустимые параметры и их значения перечислены в следующей таблице.

ПараметрСтоимость
'bounds'

Нижняя и верхняя границы для каждого коэффициента, указанного как 2около-nfactors матрица. Альтернативно, это значение может быть массивом ячеек, содержащим nfactors каждый элемент задает вектор допустимых значений для соответствующего коэффициента.

'categorical'

Индексы категориальных предикторов.

'display'

Также 'on' или 'off' для управления отображением счетчика итераций. Значение по умолчанию: 'on'.

'excludefun'

Дескриптор функции, исключающей нежелательные прогоны. Если функция f, она должна поддерживать синтаксис b = f (S), где S - матрица обработок сnfactors столбцы и b - вектор логических значений с тем же числом строк, что и S. b (i), является истинным, если i-я строка S должна быть исключена.

'init'

Первоначальный проект как mrunsоколо-nfactors матрица. По умолчанию выбирается случайный набор точек.

'levels'

Вектор количества уровней для каждого фактора.

'maxiter'

Максимальное число итераций. Значение по умолчанию: 10.

'options'

Значение представляет собой структуру, которая содержит опции, указывающие, следует ли вычислять несколько попыток параллельно, и указывающие, как использовать случайные числа при формировании начальных точек для попыток. Создание структуры опций с помощью statset. Применимый statset параметры:

  • 'UseParallel' - если true и если установлен Toolbox™ Parallel Computing, вычислять параллельно. Если панель инструментов параллельных вычислений не установлена, то вычисления выполняются в последовательном режиме. По умолчанию: false, что означает последовательное вычисление.

  • UseSubstreams - Установить на true вычислять параллельно воспроизводимым образом. По умолчанию: false. Для воспроизводимого вычисления установите Streams к типу, допускающему субпотоки: 'mlfg6331_64' или 'mrg32k3a'.

  • Streams - A RandStream объект или массив ячеек таких объектов. Если не указать Streams, dcovary использует поток или потоки по умолчанию. Если вы решили указать Streams, использовать один объект, за исключением случая

    • UseParallel является true

    • UseSubstreams является false

    В этом случае используйте массив ячеек того же размера, что и пул Parallel.

'tries'

Число попыток создания конструкции из новой начальной точки. Алгоритм использует случайные точки для каждой попытки, за исключением, возможно, первой. Значение по умолчанию: 1.

Примеры

Пример 1

Предположим, что проект должен оценивать параметры в трехфакторной линейной аддитивной модели с восемью прогонами, которые обязательно происходят в разное время. Если процесс испытывает временной линейный дрейф, может потребоваться включить время выполнения в качестве переменной в модель. Изготовить конструкцию следующим образом:

time = linspace(-1,1,8)';
[dCV1,X] = dcovary(3,time,'linear')
dCV1 =
   -1.0000    1.0000    1.0000   -1.0000
    1.0000   -1.0000   -1.0000   -0.7143
   -1.0000   -1.0000   -1.0000   -0.4286
    1.0000   -1.0000    1.0000   -0.1429
    1.0000    1.0000   -1.0000    0.1429
   -1.0000    1.0000   -1.0000    0.4286
    1.0000    1.0000    1.0000    0.7143
   -1.0000   -1.0000    1.0000    1.0000
X =
    1.0000   -1.0000    1.0000    1.0000   -1.0000
    1.0000    1.0000   -1.0000   -1.0000   -0.7143
    1.0000   -1.0000   -1.0000   -1.0000   -0.4286
    1.0000    1.0000   -1.0000    1.0000   -0.1429
    1.0000    1.0000    1.0000   -1.0000    0.1429
    1.0000   -1.0000    1.0000   -1.0000    0.4286
    1.0000    1.0000    1.0000    1.0000    0.7143
    1.0000   -1.0000   -1.0000    1.0000    1.0000

Вектор столбца time - фиксированный коэффициент, нормированный к значениям между ±1. Количество строк в фиксированном коэффициенте определяет количество прогонов в конструкции. Результирующая конструкция dCV дает настройки коэффициентов для трех контролируемых коэффициентов модели в каждый момент времени.

Пример 2

В следующем примере используется dummyvar функция блокирования восьмиэтапного эксперимента на 4 блока размера 2 для оценки линейной аддитивной модели с двумя факторами:

fixed = dummyvar([1 1 2 2 3 3 4 4]);
dCV2 = dcovary(2,fixed(:,1:3),'linear')
dCV2 =
   1   1   1   0   0
  -1  -1   1   0   0
  -1   1   0   1   0
   1  -1   0   1   0
   1   1   0   0   1
  -1  -1   0   0   1
  -1   1   0   0   0
   1  -1   0   0   0

Первые два столбца dCV2 содержат параметры настройки для двух факторов; последние три столбца являются фиктивными переменными кодировками для четырех блоков.

Расширенные возможности

См. также

| |

Представлен до R2006a