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

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

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

Функции планирования эксперимента
FRACFACT
Генерация матрицы дробного факторного эксперимента для произвольного числа факторов изменяющихся на двух уровнях

Синтаксис

x = fracfact('gen') 
[x,conf] = fracfact('gen') 

Описание

x = fracfact('gen') служит для генерации матрицы x плана дробного факторного эксперимента согласно генератору 'gen'. Значения факторов в матрице плана эксперимента х равны 1 и -1. 1 соответствует максимальному уровню фактора, -1 - минимальному уровню. Генератор 'gen' является строковой переменной, состоящей из подстрок разделенных пробелами. Подстрока может состоять из одной и более букв латинского алфавита. В первую очередь задаются односимвольные подстроки, кодирующие факторы для матрицы полного факторного эксперимента. Эта матрица является основой дробного факторного плана. Правила определения значений остальных факторов в матрице дробного плана задаются в виде сочетаний символов, кодирующих факторы полного факторного эксперимента. Для этих факторов значения определяются как произведения значений кодированных переменных, соответствующих первой группе факторов. Например, для генератора 'gen'='a b ab' первые два фактора: a и b, образуют матрицу полного факторного плана вида:

>> x = ff2n(2)
x =
     0     0
     0     1
     1     0
     1     1
         
Подстрока ab определяет значение третьего фактора как построчное произведение a и b.

>> x = fracfact('a b ab')
x =
    -1    -1     1
    -1     1    -1
     1    -1    -1
     1     1     1

Для факторов второй группы комбинация символов в подстроке определяют вид смешивания их главных эффектов. Т.е., в предыдущем примере главный эффект третьего фактора β3 будет смешан с парным эффектом первых двух факторов β12 :

β3 -> β3 + β12

Матрица дробного факторного плана x является частью матрицы полного факторного плана эксперимента образованного всеми факторами. Число строк матрицы плана x равно 2n, где n - количество односимвольных подстрок в генераторе. Количество столбцов в матрице плана должно быть равно числу подстрок в генераторе. [x,conf] = fracfact('gen') этот вариант синтаксиса функции возвращает матрицу conf показывающую способ смешивания главных эффектов факторов и их парных взаимодействий.

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

Пример 1

Целью эксперимента является оценка величин главных (линейных) эффектов 4 факторов на функцию отклика при проведении восьми опытов. Каждый опыт проводится без повторений.

Проведение полного факторного эксперимента потребует 42=16 опытов. Однако, если на основании априорных данных предположить незначимость тройных взаимодействий, то можно оценить величины главных эффектов четырех факторов в восьми опытах.

Матрица планирования дробного факторного эксперимента x в этом случае примет вид

>> [x,conf] = fracfact('a b c abc')
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
conf = 
    'Term'     'Generator'    'Confounding'  
    'X1'         'a'                  'X1'           
    'X2'         'b'                  'X2'           
    'X3'         'c'                  'X3'           
    'X4'         'abc'              'X4'           
    'X1*X2'  'ab'                'X1*X2 + X3*X4'
    'X1*X3'  'ac'                'X1*X3 + X2*X4'
    'X1*X4'  'bc'                'X1*X4 + X2*X3'
    'X2*X3'  'bc'                'X1*X4 + X2*X3'
    'X2*X4'  'ac'                'X1*X3 + X2*X4'
    'X3*X4'  'ab'                'X1*X2 + X3*X4'

Первые 3 столбца матрицы х представляют матрицу полного факторного эксперимента для трех факторов a, b, c. Четвертый столбец получен построчным перемножением значений первых трех факторов. Матрица conf показывает, что такое планирование эксперимента позволяет оценить не смешанные главные эффекты для всех четырех факторов. Парные взаимодействия смешаны друг с другом. Например, эффект от парного взаимодействия первого и второго факторов смешан с эффектом парного взаимодействия третьего и четвертого факторов: X1*X2 + X3*X4. Это не позволяет раздельно оценить их эффекты.

В случае, если после проведения указанных восьми опытов выясниться что суммарный эффект от взаимодействия X1*X2+X3*X4 значим, то целесообразно определить какое парное взаимодействие значимо X1*X2 или X3*X4. Для этого дробную реплику из первых восьми опытов можно дополнить второй репликой до полного факторного эксперимента. Матрица второй реплики задается тем же генератором, но с обратным знаком для четвертого фактора:

>> fracfact('a b c -abc')
ans =
    -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

Необходимо оценить величины линейных эффектов восьми факторов. Поскольку в большинстве случаев парные эффекты взаимодействия больше эффектов взаимодействия высших порядков, то необходимо так составить дробную реплику, чтобы линейные эффекты не были смешаны с ними при минимальном количестве опытов. Поведение полного факторного эксперимента потребовало бы 82=256 опытов. Использование дробной реплики полного факторного эксперимента позволяет при 16 опытах получить оценки главных эффектов 8 факторов не смешанных с парными взаимодействиями. Реплику 16/256 для названных условий можно получить с использованием следующего генератора

>> [x, conf] = fracfact('a b c d abc acd abd bcd')
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     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    -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
conf = 
Term    Generator       Confounding
X1      a       X1
X2      b       X2
X3      c       X3
X4      d       X4
X5      abc     X5
X6      acd     X6
X7      abd     X7
X8      bcd     X8
X1*X2   ab      X1*X2 + X3*X5 + X4*X7 + X6*X8
X1*X3   ac      X1*X3 + X2*X5 + X4*X6 + X7*X8
X1*X4   ad      X1*X4 + X2*X7 + X3*X6 + X5*X8
X1*X5   bc      X1*X5 + X2*X3 + X4*X8 + X6*X7
X1*X6   cd      X1*X6 + X2*X8 + X3*X4 + X5*X7
X1*X7   bd      X1*X7 + X2*X4 + X3*X8 + X5*X6
X1*X8   abcd    X1*X8 + X2*X6 + X3*X7 + X4*X5
X2*X3   bc      X1*X5 + X2*X3 + X4*X8 + X6*X7
X2*X4   bd      X1*X7 + X2*X4 + X3*X8 + X5*X6
X2*X5   ac      X1*X3 + X2*X5 + X4*X6 + X7*X8
X2*X6   abcd    X1*X8 + X2*X6 + X3*X7 + X4*X5
X2*X7   ad      X1*X4 + X2*X7 + X3*X6 + X5*X8
X2*X8   cd      X1*X6 + X2*X8 + X3*X4 + X5*X7
X3*X4   cd      X1*X6 + X2*X8 + X3*X4 + X5*X7
X3*X5   ab      X1*X2 + X3*X5 + X4*X7 + X6*X8
X3*X6   ad      X1*X4 + X2*X7 + X3*X6 + X5*X8
X3*X7   abcd    X1*X8 + X2*X6 + X3*X7 + X4*X5
X3*X8   bd      X1*X7 + X2*X4 + X3*X8 + X5*X6
X4*X5   abcd    X1*X8 + X2*X6 + X3*X7 + X4*X5
X4*X6   ac      X1*X3 + X2*X5 + X4*X6 + X7*X8
X4*X7   ab      X1*X2 + X3*X5 + X4*X7 + X6*X8
X4*X8   bc      X1*X5 + X2*X3 + X4*X8 + X6*X7
X5*X6   bd      X1*X7 + X2*X4 + X3*X8 + X5*X6
X5*X7   cd      X1*X6 + X2*X8 + X3*X4 + X5*X7
X5*X8   ad      X1*X4 + X2*X7 + X3*X6 + X5*X8
X6*X7   bc      X1*X5 + X2*X3 + X4*X8 + X6*X7
X6*X8   ab      X1*X2 + X3*X5 + X4*X7 + X6*X8
X7*X8   ac      X1*X3 + X2*X5 + X4*X6 + X7*X8

Матрица conf показывает, что линейные эффекты восьми факторов не смешаны с парными взаимодействиями. Парные взаимодействия смешаны друг с другом. Применение других генераторов не всегда позволяет достичь такого смешивания, например

>> [x, conf] = fracfact('a b c d ab cd ad bc')
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     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    -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
conf =
    'Term'     'Generator'    'Confounding'          
    'X1'       'a'            'X1 + X2*X5 + X4*X7'   
    'X2'       'b'            'X2 + X1*X5 + X3*X8'   
    'X3'       'c'            'X3 + X2*X8 + X4*X6'   
    'X4'       'd'            'X4 + X1*X7 + X3*X6'   
    'X5'       'ab'           'X5 + X1*X2'           
    'X6'       'cd'           'X6 + X3*X4'           
    'X7'       'ad'           'X7 + X1*X4'           
    'X8'       'bc'           'X8 + X2*X3'           
    'X1*X2'    'ab'           'X5 + X1*X2'           
    'X1*X3'    'ac'           'X1*X3 + X5*X8 + X6*X7'
    'X1*X4'    'ad'           'X7 + X1*X4'           
    'X1*X5'    'b'            'X2 + X1*X5 + X3*X8'   
    'X1*X6'    'acd'          'X1*X6 + X3*X7'        
    'X1*X7'    'd'            'X4 + X1*X7 + X3*X6'   
    'X1*X8'    'abc'          'X1*X8 + X3*X5'        
    'X2*X3'    'bc'           'X8 + X2*X3'           
    'X2*X4'    'bd'           'X2*X4 + X5*X7 + X6*X8'
    'X2*X5'    'a'            'X1 + X2*X5 + X4*X7'   
    'X2*X6'    'bcd'          'X2*X6 + X4*X8'        
    'X2*X7'    'abd'          'X2*X7 + X4*X5'        
    'X2*X8'    'c'            'X3 + X2*X8 + X4*X6'   
    'X3*X4'    'cd'           'X6 + X3*X4'           
    'X3*X5'    'abc'          'X1*X8 + X3*X5'        
    'X3*X6'    'd'            'X4 + X1*X7 + X3*X6'   
    'X3*X7'    'acd'          'X1*X6 + X3*X7'        
    'X3*X8'    'b'            'X2 + X1*X5 + X3*X8'   
    'X4*X5'    'abd'          'X2*X7 + X4*X5'        
    'X4*X6'    'c'            'X3 + X2*X8 + X4*X6'   
    'X4*X7'    'a'            'X1 + X2*X5 + X4*X7'   
    'X4*X8'    'bcd'          'X2*X6 + X4*X8'        
    'X5*X6'    'abcd'         'X5*X6 + X7*X8'        
    'X5*X7'    'bd'           'X2*X4 + X5*X7 + X6*X8'
    'X5*X8'    'ac'           'X1*X3 + X5*X8 + X6*X7'
    'X6*X7'    'ac'           'X1*X3 + X5*X8 + X6*X7'
    'X6*X8'    'bd'           'X2*X4 + X5*X7 + X6*X8'
    'X7*X8'    'abcd'         'X5*X6 + X7*X8'    

Как следует из анализа матрицы conf использование генератора 'a b c d ab cd ad bc' приводит к получению главных эффектов смешанных с парными взаимодействиями.

Графическое сравнение планов дробного и полного факторных экспериментов для трех факторов изменяющихся на двух уровнях.

>> n=3;
>> X = fracfact('a b ab')
X =
    -1    -1     1
    -1     1    -1
     1    -1    -1
     1     1     1
>> X = (X +1)/2
X =
     0     0     1
     0     1     0
     1     0     0
     1     1     1
>> x=X(:,1);
>> y=X(:,2);
>> z=X(:,3);
>> subplot(1,2,1)
>> plot3(x,y,z,'o')
>> grid on
>> Y = ff2n(n)
Y =
     0     0     0
     0     0     1
     0     1     0
     0     1     1
     1     0     0
     1     0     1
     1     1     0
     1     1     1
>> x1= Y (:,1);
>> y1= Y (:,2);
>> z1= Y (:,3);
>> subplot(1,2,2)
>> plot3(x1,y1,z1,'dr')
>> grid on

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


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