Обмен строки
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
подбирать модель, как описано в Линейной регрессии, к данным об ответе, измеренным в проекте, указывает в dRE
.
Оба cordexch
и rowexch
используйте итеративные алгоритмы поиска. Они действуют путем инкрементного изменения начальной матрицы проекта X, чтобы увеличить D = |XTX | на каждом шаге. В обоих алгоритмах существует случайность, встроенная в выбор первоначального проекта и в выбор инкрементных изменений. В результате оба алгоритма могут возвратиться локально, но не глобально, D - оптимальные проекты. Запустите каждый алгоритм многократно и выберите лучший результат для вашего итогового проекта. Обе функции имеют 'tries'
параметр, который автоматизирует это повторение и сравнение.
На каждом шаге обменный строкой алгоритм обменивается целой строкой X со строкой из матрицы проекта C, оцененный в наборе кандидата выполнимых обработок. rowexch
функция автоматически генерирует C, подходящий для заданной модели, действующей на двух шагах путем вызова candgen
и candexch
функции в последовательности. Обеспечьте свой собственный C путем вызова candexch
непосредственно. В любом случае, если C является большим, его статическое присутствие в памяти может влиять на расчет.