Координатный обмен
dCE = cordexch(nfactors,nruns)
[dCE,X] = cordexch(nfactors,nruns)
[dCE,X] = cordexch(nfactors,nruns,'model
')
[dCE,X] = cordexch(...,'name
',value
)
dCE = cordexch(nfactors,nruns)
использует координатно-обменный алгоритм, чтобы сгенерировать D - оптимальный проект dCE
с выполнениями nruns
(строки dCE
) для линейной аддитивной модели с факторами nfactors
(столбцы dCE
). Модель включает постоянный термин.
[dCE,X] = cordexch(nfactors,nruns)
также возвращает связанную матрицу проекта X
, столбцы которого являются образцовыми условиями, оцененными при каждой обработке (строка) dCE
.
[dCE,X] = cordexch(nfactors,nruns,'
использует модель линейной регрессии, заданную в model
')model
. model
является одним из следующего:
'linear'
— Постоянные и линейные члены. Это значение по умолчанию.
'interaction'
— Постоянные, линейные, и периоды взаимодействия
'quadratic'
— Постоянный, линейный, взаимодействие и условия в квадрате
'purequadratic'
— Постоянные, линейные, и условия в квадрате
Порядок столбцов X
для полной квадратичной модели с условиями n:
Постоянный термин
Линейные члены в порядке 1, 2..., n
Периоды взаимодействия по порядку (1, 2), (1, 3)..., (1, n), (2, 3)..., (n – 1, n)
Условия в квадрате в порядке 1, 2..., n
Другие модели используют подмножество этих условий в том же порядке.
Также model
может быть матрицей, задающей полиномиальные условия произвольного порядка. В этом случае model
должен иметь один столбец для каждого фактора и одну строку для каждого члена в модели. Записи в любой строке model
являются степенями для факторов в столбцах. Например, если модель имеет факторы X1
, X2
и X3
, то строка [0 1 2]
в model
задает термин (X1.^0).*(X2.^1).*(X3.^2)
. Строка всех нулей в model
задает постоянный термин, который может быть не использован.
[dCE,X] = cordexch(...,'
задает одну или несколько дополнительных пар имя/значение для проекта. Допустимые параметры и их значения перечислены в следующей таблице. Задайте name
',value
)name
в одинарных кавычках.
имя | Значение |
---|---|
bounds | Нижние и верхние границы для каждого фактора, заданного как |
categorical | Индексы категориальных предикторов. |
display | Или |
excludefun | Обработайте к функции, которая исключает нежелательные выполнения. Если функцией является f, она должна поддержать синтаксис b = f (S), где S является матрицей обработок со столбцами |
init | Первоначальный проект как |
levels | Вектор количества уровней для каждого фактора. Не используемый, когда |
maxiter | Максимальное количество итераций. Значением по умолчанию является |
tries | Число раз, чтобы попытаться сгенерировать проект от новой отправной точки. Алгоритм использует случайные точки для каждой попытки, кроме возможно первого. Значением по умолчанию является |
options | Структура, которая задает, запуститься ли параллельно, и задает случайный поток или потоки. Эта опция требует Parallel Computing Toolbox™. Создайте структуру
|
Предположим, что вы хотите, чтобы проект оценил параметры в следующей модели взаимодействия с семью терминами, с тремя факторами:
Используйте cordexch
, чтобы сгенерировать D - оптимальный проект с семью выполнениями:
nfactors = 3; nruns = 7; [dCE,X] = cordexch(nfactors,nruns,'interaction','tries',10) dCE = -1 1 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1 1 X = 1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1
Столбцы матрицы проекта X
являются образцовыми условиями, оцененными в каждой строке проекта dCE
. Условия появляются по порядку слева направо: постоянный термин, линейные члены (1, 2, 3), периоды взаимодействия (12, 13, 23). Используйте X
, чтобы соответствовать модели, как описано в Линейной регрессии, к данным об ответе, измеренным в точках проекта в dCE
.
И cordexch
и rowexch
используют итеративные алгоритмы поиска. Они действуют путем инкрементного изменения начальной матрицы проекта X, чтобы увеличить D = |XTX | на каждом шаге. В обоих алгоритмах существует случайность, встроенная в выбор первоначального проекта и в выбор инкрементных изменений. В результате оба алгоритма могут возвратиться локально, но не глобально, D - оптимальные проекты. Запустите каждый алгоритм многократно и выберите лучший результат для вашего итогового проекта. Обе функции имеют параметр 'tries'
, который автоматизирует это повторение и сравнение.
В отличие от обменного строкой алгоритма, используемого rowexch
, cordexch
не использует набор кандидата. (Или скорее кандидат установил, целый пробел проекта.) На каждом шаге координатно-обменный алгоритм обменивается одним элементом X с новым элементом, оцененным в соседней точке на пробеле проекта. Отсутствие набора кандидата снижает спросы на памяти, но меньший масштаб поиска означает, что координатно-обменный алгоритм, более вероятно, станет захваченным в локальном минимуме.