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-by- nfactors матрица. В качестве альтернативы это значение может быть массивом ячеек, содержащим nfactors элементы, каждый элемент, задающий вектор допустимых значений для соответствующего фактора.

'categorical'

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

'display'

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

'excludefun'

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

'init'

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

'levels'

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

'maxiter'

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

'options'

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

  • 'UseParallel' - Если true и если установлен Parallel Computing Toolbox™, вычислите параллельно. Если Parallel Computing Toolbox не установлен, то расчеты происходят в последовательном режиме. По умолчанию это 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