II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Математика\Statistics Toolbox"

Список функций Statistics Toolbox

В оглавление \ К следующему разделу \ К предыдущему разделу

Функции планирования эксперимента
DCOVARY
Генерация D-оптимального блочного плана

Синтаксис

settings = dcovary(nfactors,covariates)
[settings,X] = dcovary(nfactors,covariates)
[settings,X] = dcovary(nfactors,covariates,'model')
[settings,X] = dcovary(...,'param1',value1,'param2',value2,...)

Описание

settings = dcovary(nfactors,covariates) функция позволяет получить матрицу значений факторов settings D-оптимального плана разделенного на блоки covariates для заданного числа факторов nfactors. Количество опытов в плане эксперимента задается числом строк в матрице covariates. Матрица значений факторов settings формируется последовательно из двух матриц: матрицы значений факторов D-оптимального плана и матрицы, кодирующей блоки плана. Размерность матрицы settings равна nxm, где n - количество строк матрицы covariates, m=nfactors+k, где k - количество столбцов матрицы settings. Функция основана на алгоритме изменения координат.

[settings,X] = dcovary(nfactors,covariates) в отличии от первого варианта синтаксиса функция возвращает матрицу D-оптимального плана X.

[settings,X] = dcovary(nfactors,covariates,'model') функция позволяет получить матрицу значений факторов settings и матрицу D-оптимального плана эксперимента Х на основе на основе матрицы covariates, задающей блоки и количество опытов, заданного числа факторов nfactors, и вида уравнения регрессии 'model'. Возможны следующие модели регрессии

Значение 'model' Вид математической модели
'linear' Линейная модель с постоянным членом. Значение по умолчанию.
'interaction' Линейная модель с постоянным членом и эффектами взаимодействия.
'quadratic' Полная квадратическая модель, включающая линейные, квадратические эффекты, эффекты взаимодействий, постоянный член.
'purequadratic' Неполная квадратическая модель, включающая линейные, квадратические эффекты, постоянный член.

Кроме строкового значения входной аргумент model может быть задан как вектор или матрица согласно такому же аргументу функции x2fx. Функция x2fx позволяет выполнить преобразование матрицы значений факторов Х в матрицу плана эксперимента D. В случае, если X и model заданы как векторы, то матрица плана эксперимента формируется по правилу: каждый столбец D является последовательным возведением Х в степень элемента вектора model. Размерность матрицы D равна nxm, где n - число элементов вектора Х, m - число элементов вектора model. Т.е., вектор model является списком степеней полинома регрессионной модели для одного фактора Х. Если X и model заданы как матрицы, то столбец матрицы D формируются по формуле:

D(i,j)=prod(Х(i,:).^model(j,:)),

т.е., ij-й элемент матрицы D является произведением элементов i-й строки матрицы Х возведенных последовательно в степени j-й строки матрицы model. Таким образом, количество столбцов model должно быть равно числу столбцов матрицы Х.

[settings, X] = dcovary(...,'param1',value1,'param2',value2,...) дополнительные входные аргументы по отношению к предыдущим вариантам синтаксиса позволяют:

'display' Вывод значения счетчика итераций. Возможные значения 'display': 'on' - вывод в командное окно, 'off' - отмена отображения. Значение по умолчанию 'on'.
'init' Начальная матрица значений факторов с размерностью nruns x nfactors. По умолчанию предусматривается формирование начальной матрицы значений факторов случайным образом.
'maxiter' Максимальное число итераций. Значение по умолчанию - 10.

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

Примеры использования функции генерации D-оптимального блочного плана

Генерация матрицы значений факторов D-оптимального плана для 3 факторов разделенного на 2 блока по 4 опыта в каждом. Деление на блоки задается посредством векторной переменной covariates: "-1" кодирует первый блок, "1" кодирует второй блок. Четвертый столбец в матрице settings является блоковой переменной.

>> nfactors=3;
>> covariates=[-1 -1 -1 -1  1 1 1 1]'
covariates =
    -1
    -1
    -1
    -1
     1
     1
     1
     1
>> settings = dcovary(nfactors,covariates)
settings =
     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
         
Генерация матрицы значений факторов и матрицы D-оптимального плана для 4 факторов разделенного 
на 3 блока по 3 опыта в каждом. Деление на блоки задается посредством векторной переменной covariates.

>> nfactors=4;
>> covariates=[-1 -1 -1  1 1 1 2 2 2]'
covariates =
    -1
    -1
    -1
     1
     1
     1
     2
     2
     2
>> [settings,X] = dcovary(nfactors,covariates)
settings =
     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     2
     1     1    -1     1     2
     1    -1     1    -1     2
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     2
     1     1     1    -1     1     2
     1     1    -1     1    -1     2
         
Генерация матрицы значений факторов и матрицы D-оптимального плана для 2 факторов разделенного 
на 4 блока по 2 опыта в каждом. Деление на блоки задается посредством матрицы covariates. 
Матрица covariates формируется с помощью функции dummyvar преобразованием вектора [1 1 2 2 3 3 4 4].
В качестве уравнения регрессии принимается линейная модель.
 
>> covariates = dummyvar([1 1 2 2 3 3 4 4])
covariates =
     1     0     0     0
     1     0     0     0
     0     1     0     0
     0     1     0     0
     0     0     1     0
     0     0     1     0
     0     0     0     1
     0     0     0     1
>> nfactors=2;
>> [settings,X] = dcovary(nfactors,covariates(:,1:3),'linear')
settings =
    -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
X =
     1    -1     1     1     0     0
     1     1    -1     1     0     0
     1     1     1     0     1     0
     1    -1    -1     0     1     0
     1     1    -1     0     0     1
     1    -1     1     0     0     1
     1     1     1     0     0     0
     1    -1    -1     0     0     0
         
Генерация матрицы значений факторов и матрицы D-оптимального плана для 2 факторов разделенного 
на 4 блока по 2 опыта в каждом. Деление на блоки задается посредством вектора covariates. 
Модель регрессии задается как матрица model.

>> covariates=[1 1 2 2 3 3 4 4]';
>> nfactors=2;
>> model=[0 1 2; 0 1 2; 0 1 2]
model =
     0     1     2
     0     1     2
     0     1     2
>> [settings,X] = dcovary(nfactors,covariates, model)
settings =
   -0.9852   -1.0000    1.0000
    0.5776   -1.0000    1.0000
   -0.9644   -1.0000    2.0000
    0.7559   -1.0000    2.0000
   -0.2949   -1.0000    3.0000
    0.4443   -1.0000    3.0000
    0.9369   -1.0000    4.0000
   -0.6887   -1.0000    4.0000
X =
    -1    -1    -1
    -1    -1    -1
    -4    -4    -4
    -4    -4    -4
    -9    -9    -9
    -9    -9    -9
   -16   -16   -16
   -16   -16   -16
   
Генерация матрицы значений факторов и матрицы D-оптимального плана для 3 факторов разделенного 
на 3 блока по 3 опыта в каждом. Деление на блоки задает вектор covariates. 
В качестве дрполнительного параметра используется матрица начального приближения А.

>> nfactors=3;
>> covariates=[-1 -1 -1  1 1 1 2 2 2]';
>> A=[ 0 0 0; 1 0 0; 0 1 0; -1 0 0; -1 -1 0; 0 0 -1; 1 -1 1; -1 -1 1; 1 -1 -1]
A =
     0     0     0
     1     0     0
     0     1     0
    -1     0     0
    -1    -1     0
     0     0    -1
     1    -1     1
    -1    -1     1
     1    -1    -1
>> [settings,X] = dcovary(nfactors,covariates,'purequadratic')
settings =
     1    -1    -1    -1
    -1     0     1    -1
     0     1     0    -1
    -1    -1     1     1
     1     0     0     1
     0     0    -1     1
    -1     1    -1     2
     0    -1     0     2
     1     1     1     2
X =
     1     1    -1    -1    -1     1     1     1     1
     1    -1     0     1    -1     1     0     1     1
     1     0     1     0    -1     0     1     0     1
     1    -1    -1     1     1     1     1     1     1
     1     1     0     0     1     1     0     0     1
     1     0     0    -1     1     0     0     1     1
     1    -1     1    -1     2     1     1     1     4
     1     0    -1     0     2     0     1     0     4
     1     1     1     1     2     1     1     1     4
         
Графическое представление матрицы D-оптимального плана эксперимента для 3 факторов, разделенного 
на 2 блока по 5 опытов в каждом. Матрица D-оптимального плана рассчитывается для неполной
квадратической модели.

>> nfactors=3;
>> covariates=[0 0 0 0 0 1 1 1 1 1]';
>> settings = dcovary(nfactors,covariates,'purequadratic')
settings =
    -1     1     0     0
    -1     0     1     0
     1    -1     1     0
     1     1    -1     0
     0     0    -1     0
     0     1     1     1
     1     0     0     1
     0    -1     0     1
    -1     1    -1     1
    -1    -1    -1     1
Первый блок
>> x= settings (1:5,1);
>> y= settings (1:5,2);
>> z= settings (1:5,3);
>> subplot(1,3,1)
>> plot3(x,y,z,'o')
>> grid on
Второй блок
>> x1= settings (6:10,1);
>> y1= settings (6:10,2);
>> z1= settings (6:10,3);
>> subplot(1,3,2)
>> plot3(x1,y1,z1,'dr')
>> grid on
Общий график
>> subplot(1,3,3)
>> plot3(x,y,z,'o',x1,y1,z1,'dr')
>> grid on

В оглавление \ К следующему разделу \ К предыдущему разделу


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры