Обмен строками
dRE = rowexch(nfactors,nruns)
[dRE,X] = rowexch(nfactors,nruns)
[dRE,X] = rowexch(nfactors,nruns,model)
[dRE,X] = rowexch(...,param1,val1,param2,val2,...)
dRE = rowexch(nfactors,nruns) использует алгоритм обмена строками, чтобы сгенерировать D -оптимальный проект dRE с nruns запуски (строки dRE) для линейной аддитивной модели с nfactors факторы (столбцы dRE). Модель включает в себя постоянный член.
[dRE,X] = rowexch(nfactors,nruns) также возвращает связанную матрицу проекта X, столбцы которого являются терминами модели, оцениваемыми при каждом лечении (строка) dRE.
[dRE,X] = rowexch(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 задает постоянный термин, который может быть опущен.
[dRE,X] = rowexch(..., задает дополнительные пары параметр/значение для проекта. Действительные параметры и их значения перечислены в следующей таблице.param1,val1,param2,val2,...)
| Параметр | Значение |
|---|---|
'bounds' | Нижняя и верхняя границы для каждого фактора, заданные как |
'categorical' | Индексы категориальных предикторов. |
'display' | Либо |
'excludefun' | Указатель на функцию, которая исключает нежелательные запусков. Если функция f, она должна поддерживать синтаксис b = f (S), где S является матрицей обработок с |
'init' | Первоначальный проект как |
'levels' | Вектор количества уровней для каждого фактора. |
'maxiter' | Максимальное количество итераций. Значение по умолчанию является |
options | Структура, которая задает, запускать ли параллельно, и задает случайный поток или потоки. Создайте
|
'tries' | Количество попыток сгенерировать проект из новой начальной точки. Алгоритм использует случайные точки для каждой попытки, кроме, возможно, первой. Значение по умолчанию является |
Предположим, что вы хотите, чтобы проект оценил параметры в следующей трехфакторной, семитермовой модели взаимодействия:
Использовать rowexch чтобы сгенерировать D -оптимальный проект с семью запусками:
nfactors = 3;
nruns = 7;
[dRE,X] = rowexch(nfactors,nruns,'interaction','tries',10)
dRE =
-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 оцениваются ли условия модели в каждой строке проекта dRE. Условия появляются в порядке слева направо: постоянный термин, линейные условия (1, 2, 3), условия взаимодействия (12, 13, 23). Использование X для соответствия модели, как описано в Linear Regression, данным отклика, измеренным в проектных точках в dRE.
Оба cordexch и rowexch использовать итерационные алгоритмы поиска. Они работают путем пошагового изменения начальной матрицы проекта X чтобы увеличить D = |<reservedrangesplaceholder0>TX | на каждом шаге. В обоих алгоритмах существует случайность, встроенная в выбор исходного проекта и в выбор инкрементных изменений. В результате оба алгоритма могут вернуться локально, но не глобально, D -оптимальные проекты. Запустите каждый алгоритм несколько раз и выберите лучший результат для вашего окончательного проекта. Обе функции имеют 'tries' параметр, который автоматизирует это повторение и сравнение.
На каждом шаге алгоритм обмена строками обменивается целой строкой X с строкой из матрицы проекта C оценивается на наборе возможных обработок. rowexch функция автоматически генерирует C, подходящую для заданной модели, работая в два шага, вызывая candgen и candexch функции в последовательности. Предоставьте свои C по телефону candexch непосредственно. В любом случае, если C большая, его статическое присутствие в памяти может повлиять на расчеты.