exponenta event banner

cordexch

Обмен координатами

Синтаксис

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 runs (строки 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. Линейные члены порядка 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 указывает постоянный член, который может быть опущен.

[dCE,X] = cordexch(...,'name',value) указывает одну или несколько дополнительных пар имя/значение для проекта. Допустимые параметры и их значения перечислены в следующей таблице. Определить name внутри одиночных кавычек.

имяСтоимость
bounds

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

categorical

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

display

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

excludefun

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

init

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

levels

Вектор количества уровней для каждого фактора. Не используется, когда bounds указывается как массив ячеек.

maxiter

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

tries

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

options

Структура, определяющая параллельный запуск и определяющая случайный поток или потоки. Для этого параметра требуется Toolbox™ параллельных вычислений.

Создать options структура с statset. Поля структуры:

  • UseParallel - Установить на true для параллельного вычисления. По умолчанию: false.

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

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

    • UseParallel является true

    • UseSubstreams является false

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

Примеры

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

y = β0 + β1x + 1β2x + 2β3x + 3β12xx1 + 2β13xx1 + 3β23xx2 + 3

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

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

См. также

| |

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