Главная страница
Навигация по странице:

  • 1. Что называется точечной оценкой параметров

  • 4. Что называется уравнением правдоподобия

  • Моделирование систем. Моделирование систем 2е издание, исправленное


    Скачать 5.72 Mb.
    НазваниеМоделирование систем 2е издание, исправленное
    АнкорМоделирование систем
    Дата24.02.2022
    Размер5.72 Mb.
    Формат файлаpdf
    Имя файлаМоделирование систем.pdf
    ТипАнализ
    #372763
    страница7 из 10
    1   2   3   4   5   6   7   8   9   10

    4. Проверьте, доставляет ли максимум функции правдоподобия найденная оценка параметра экспоненциального распределения?
    5. Напишите программу по оценке параметров нормального закона по
    методу максимального правдоподобия.
    2. Оценка параметра биномиального распределения
    Поставим задачу оценки параметра биномиального распределения
    методом максимального правдоподобия.
    Биномиальное распределение описывает схему Бернулли испытания случайной дискретной величины в соответствии со следующей формулой (формула Бернулли):
    (7.10)
    где
    ,
    биномиальные коэффициенты.
    Биномиальный закон распределения (7.10) представляет собой закон распределения числа наступлений события
    (удачного испытания) в независимых испытаниях, в каждом из которых оно может произойти с одной и той же вероятностью .
    Таким образом, параметром биномиального распределения выступает вероятность наступления события
    Характеристики биномиального распределения
    Математическое ожидание:
    (7.11)
    дисперсия:
    (7.12)
    Величину
    — неуспех испытания — часто обозначают через .

    Ряд распределения биномиального закона приводится в таблице 7.1
    Таблица 7.1.
    Распределение вероятностей биномиального закона


    Возможная программная реализация оценки параметра биномиального
    распределения методом максимального правдоподобия:
    clear,clc,close all try global n11
    close(n11);
    end try global k11
    close(k11);
    end try global Nk close(Nk)
    end try global r1
    close(r1);
    end
    % CВОЙСТВА ОКНА inputdlg options.Resize = 'on';
    options.WindowStyle = 'normal';
    options.Interpreter = 'tex';
    % ВВОД ЧИСЛА ИСПЫТАНИЙ
    N1 = inputdlg({'\bfВведите число испытаний:.......'},'Число испытаний N',1,{'13'},options);

    % ПРЕОБРАЗОВАНИЕ К ЧИСЛУ С ДВОЙНОЙ ТОЧНОСТЬЮ
    N = str2num(char(N1));
    if isempty(N)
    global n11
    n11 = errordlg('Число испытаний должно быть целым положительным числом','Ошибка ввода N');
    return end if

    isreal(N) | isfinite(N)
    global n11
    n11 = errordlg('Число испытаний должно быть целым положительным числом','Ошибка ввода N');
    return end
    % КОНТРОЛЬ ВВОДА ПАРАМЕТРА N
    if prod(size(N))=1| N < 0 | N = round(N)| isreal(N)
    n11 = errordlg('Число испытаний должно быть целым положительным числом','Ошибка ввода N');
    return end
    % ВВОД ЧИСЛА УСПЕШНЫХ ИСПЫТАНИЙ
    k1 = inputdlg({'\bfВведите число успешных испытаний:.......'},...
    'Число успешных испытаний k',1,{'9'}, options);
    % ПРЕОБРАЗОВАНИЕ К ЧИСЛУ С ДВОЙНОЙ ТОЧНОСТЬЮ
    k = str2num(char(k1));
    if isempty(k)
    global n11
    n11 = errordlg('Число успешных испытаний должно быть целым положительным числом','Ошибка ввода N');
    return end if isreal(k) | isfinite(k)
    global n11
    n11 = errordlg('Число успешных испытаний должно быть целым положительным числом','Ошибка ввода N');
    return end
    % КОНТРОЛЬ ВВОДА ПАРАМЕТРА k if prod(size(k)) = 1 | k < 0 | k = round(k)
    global k11
    k11 = errordlg('\bfЧисло успешных испытаний k должно быть положительным целым числом и меньше общего числа испытаний N','Ошибка ввода числа k');
    return end
    % КОНТРОЛЬ ВЕЛИЧИНЫ ЗНАЧЕНИЙ N и k nums = (N-k+1) : N;
    dens = 1 : k;
    nums = nums./dens;
    c = round(prod(nums));
    if c > 1e+015
    global Nk
    Nk = errordlg('\bfПроизведение N*k велико......','Ошибка');
    return end syms p
    % ФОРМИРОВАНИЕ ФУНКЦИИ
    % МАКСИМАЛЬНОГО ПРАВДОПОДОБИЯ
    % см. help nchoosek
    L = nchoosek(N,k)*p^k*(1-p)^(N-k);%m^(length(t))*exp(-m*sum(t));
    % ЛОГАРИФМИЧЕСКАЯ ФУНКЦИЯ МАКСИМАЛЬНОГО ПРАВДОПОДОБИЯ
    Lg = log(L);
    % ДИФФЕРЕНЦИРОВАНИЕ
    dLg = diff(Lg,p);
    % ПРЕОБРАЗОВАНИЕ СИМВОЛЬНОЙ ПЕРЕМЕННОЙ
    % К СТРОКОВОЙ dLg = char(dLg);
    % РЕШЕНИЕ УРАВНЕНИЯ ПРАВДОПОДОБИЯ
    ap1 = double(solve(dLg));
    % ВЫВОД РЕЗУЛЬТАТОВ В КОМАНДНОЕ ОКНО
    fprintf('\n\t БИНОМИАЛЬНОЕ РАСПРЕДЕЛЕНИЕ:\n')
    fprintf('\t Число испытаний N = %d\n',N)
    fprintf('\t Число успешных испытаний k = %d\n',k)
    fprintf('\t Оценка параметра биномиального распределения: p = %g\n',ap1)
    % РЯД РАСПРЕДЕЛЕНИЯ БИНОМИАЛЬНОГО ЗАКОНА
    m = 0;
    for J = 0:N
    m = m+1;
    P(m) = (factorial(N)/(factorial(J)*factorial(N-J)))*ap1^J*(1-ap1)^(N-J);
    end options.Resize = 'on';
    options.WindowStyle = 'normal';
    options.Interpreter = 'tex';
    global r1
    CreateStruct.WindowStyle = 'replace';
    CreateStruct.Interpreter = 'tex';
    r1 = msgbox('\bfРезультаты смотрите в командном окне...........','Help', CreateStruct);
    fprintf('\t Максимальное значение вероятности успеха в N испытаниях Pmax = %g\n', max(P))
    Pmax = find(P == max(P));
    % УСЛОВИЕ РАСПОЛОЖЕНИЯ НАДПИСИ
    if Pmax - 1 < N/2
    % ДИАГРАММА РАСПРЕДЕЛЕНИЯ ВЕРОЯТНОСТЕЙ
    stem(0:N,P,'filled','r'),
    hold on set(gca,'ygrid','on')
    title('\bf Эмпирическое биномиальное распределение')
    set(gcf,'color','w'),
    ylim([0 1.1*max(P)])
    promt = sprintf('p = %g',ap1);
    text(mean(0:N)+0.5*mean(0:N),0.95*max(P),['\bf',promt])
    elseif Pmax - 1 >= N/2
    stem(0:N,P,'filled','r'),
    set(gca,'ygrid','on')
    title('\bfЭмпирическое биномиальное распределение')
    promt = sprintf('p = %g',ap1);
    text(N/6,0.95*max(P),['\bf\fontsize{12}',promt])
    end xlabel('\bf Случайная величина')
    ylabel('\bf Вероятность')
    ylim([0 1.1*max(P)])
    set(gcf,'color','w')
    Задание 2 1. В соответствии с номером компьютера задайте следующие значения числа испытаний и число успешных испытаний :
    № 1: N = 10, k = 7;
    № 2: N = 22, k = 12;
    № 3: N = 23, k = 13;
    № 4: N = 24, k = 14;
    № 5: N = 35, k = 25;
    № 6: N = 36, k = 16;
    № 7: N = 37, k = 17;
    № 8: N = 38, k = 28;
    № 9: N = 29, k = 19;
    № 10: N = 40, k = 12.
    2. Напишите программу оценки по методу максимального правдоподобия параметра биномиального распределения, если в независимых испытаниях событие появилось раз и в независимых испытаниях событие появилось раз. Число испытаний и число успешных событий принимайте в зависимости от номера компьютера:
    № 1: N1 = 10, k1 = 7, N2 = 11, k2 = 6;
    № 2: N1 = 12, k1 = 2, N2 = 13, k2 = 12;
    № 3: N1 = 13, k = 3, N2 = 3, k2 = 2;
    № 4: N1 = 14, k1 = 4, N2 = 10, k2 = 8;
    № 5: N1 = 15, k1 = 5, N2 = 5, k2 = 3;

    № 6: N1 = 16, k1 = 6, N2 = 16, k2 = 12;
    № 7: N1 = 17, k1 = 7, N2 = 27, k2 = 17;
    № 8: N1 = 28, k1 = 18, N2 = 18, k2 = 8;
    № 9: N1 = 29, k1 = 9, N2 = 19, k2 = 9;
    № 10: N1 = 30, k1 = 10, N2 = 20, k2 = 11.
    3. Оценка параметра отрицательного биномиального распределения
    Отрицательное биномиальное распределение носит еще название распределения Паскаля
    [18]
    и относится к дискретным распределениям.
    Распределение вероятностей определяется формулой
    (7.13)
    где:
    биномиальные коэффициенты.
    Распределение (7.13) определяет вероятность того, что потребуется провести испытаний Бернулли для появления успешных исходов.
    Характеристики отрицательного биномиального распределения
    Математическое ожидание:
    (7.14)
    дисперсия:
    (7.15)

    В качестве параметра отрицательного биномиального распределения
    выступает вероятность успеха .
    Ряд распределения отрицательного биномиального распределения
    приводится в таблице 7.2
    для случая 13 испытаний и 3 успешных испытаний.
    Таблица 7.2.
    Распределение вероятностей отрицательного биномиального
    распределения
    0 1
    2
    ... 13
    Возможная программная реализация оценки параметра отрицательного
    биномиального распределения по методу максимального правдоподобия:
    clear,clc,close all
    % CВОЙСТВА ОКНА inputdlg options.Resize = 'on';
    options.WindowStyle = 'normal';
    options.Interpreter = 'tex';
    % ВВОД ЧИСЛА ИСПЫТАНИЙ
    N1 = inputdlg({'\bfВвод числа испытаний:.............................................'},...
    'Число испытаний Бернулли',1,{'23'},options);
    % ПРЕОБРАЗОВАНИЕ К ЧИСЛУ С ДВОЙНОЙ ТОЧНОСТЬЮ
    N = str2num(char(N1));
    % ВВОД ЧИСЛА УСПЕШНЫХ ИСПЫТАНИЙ
    options.Resize = 'on';
    options.WindowStyle = 'normal';
    options.Interpreter = 'tex';
    m1 = inputdlg({'\bfВвод числа успешных испытаний:................................'},...
    'Число успешных испытаний',1,{'12'},options);
    % ПРЕОБРАЗОВАНИЕ К ЧИСЛУ С ДВОЙНОЙ ТОЧНОСТЬЮ
    m = str2num(char(m1));
    % КОНТРОЛЬ ВЕЛИЧИНЫ ЗНАЧЕНИЙ N и k
    N0 = N + m - 1;
    nums = (N0 - m +1):N0;
    dens = 1:m ;
    nums = nums./dens;
    c = round(prod(nums));
    if c > 1e+015
    Nm = errordlg('Произведение N*m велико.','Ошибка');
    pause(1)
    break end
    %--------------------------------------------------
    %%% Определение символьной переменной syms p
    % ФОРМИРОВАНИЕ ФУНКЦИИ
    % МАКСИМАЛЬНОГО ПРАВДОПОДОБИЯ ПРИ N = 0
    % см. help nchoosek
    L0 = nchoosek(0+m-1,0)*p^m*(1-p)^0;
    dL0 = diff(L0);
    dL0char = char(dL0);
    % РЕШЕНИЕ УРАВНЕНИЯ ПРАВДОПОДОБИЯ ПРИ N=0
    x10 = solve(dL0char);
    x20 = double(x10);
    u = find(x20);
    if length(u) == length(x20)
    x0 = 0;
    elseif length(u) < length(x20)
    x20(u);
    u1 = find(x20 > 0);
    x20(u1);
    x0 = mean(x20);
    end if N > 0
    % ФОРМИРОВАНИЕ ФУНКЦИИ
    % МАКСИМАЛЬНОГО ПРАВДОПОДОБИЯ ПРИ N>0
    k = 0;
    for I = 1:N
    k = k + 1;
    L = nchoosek(I + m-1,m-1)*p^m*(1-p)^I;
    % ЛОГАРИФМИЧЕСКАЯ ФУНКЦИЯ
    % МАКСИМАЛЬНОГО ПРАВДОПОДОБИЯ
    Lg = log(L);
    % ДИФФЕРЕНЦИРОВАНИЕ
    dLg = diff(Lg,p);
    % ПРЕОБРАЗОВАНИЕ СИМВОЛЬНОЙ ПЕРЕМЕННОЙ
    % К СТРОКОВОЙ dLg = char(dLg);
    % РЕШЕНИЕ УРАВНЕНИЯ ПРАВДОПОДОБИЯ
    ap1 = solve(dLg);
    ap(k) = double(ap1);
    end app = mean([ap,x0]);
    % ВЫВОД РЕЗУЛЬТАТОВ В КОМАНДНОЕ ОКНО
    fprintf('\n\t ОТРИЦАТЕЛЬНОЕ БИНОМИАЛЬНОЕ РАСПРЕДЕЛЕНИЕ:\n\t %s%d\n\t %s%d\n',
    'Число испытаний Бернулли: N = ', N,'Число успешных испытаний: m = ',m)
    fprintf('\n\t Оценка параметра: p = %g\n', app)
    % РЯД РАСПРЕДЕЛЕНИЯ ВЕРОЯТНОСТЕЙ
    % ОТРИЦАТЕЛЬНОГО БИНОМИАЛЬНОГО ЗАКОНА
    k = 0;
    for J = 0:N
    k = k+1;
    P(k) = (factorial(J+m-1)/(factorial(J)*factorial(m-1)))*app^m*(1-app)^J;
    end fprintf('\t Максимальное значение вероятности при N = %d испытаниях: Pmax = %g\n', N, max(P))
    n = find(P == max(P));
    fprintf('\t Номер испытания с максимальной вероятностью: n = %d\n', n-1)
    r1 = helpdlg('Результаты смотрите в командном окне','Help');
    % ДИАГРАММА РАСПРЕДЕЛЕНИЯ ВЕРОЯТНОСТЕЙ
    if n < N/2
    h2 = figure(2);
    stem(0:N,P,'filled','r'),hold on set(gca,'ygrid','on')
    text(mean(0:N)+0.5*mean(0:N),0.95*max(P),sprintf('%sp = %g','\bf',app))
    elseif n >= N/2
    h2 = figure(2);
    stem(0:N,P,'filled','r'),
    set(gca,'ygrid','on')
    text(N/20,0.95*max(P),sprintf('%sp = %g','\bf',app))
    end end title('\bf Эмпирическое отрицательное биномиальное распределение')
    xlabel('\bf Случайная величина')
    ylabel('\bf Вероятность')
    ylim([0 1.1*max(P)]),
    Задание 3 1. Для приведенной программы в соответствии с номером компьютера задайте следующие входные данные для оценки параметра (вероятности успеха) отрицательного биномиального
    распределения:
    № 1: N = 11, m = 3; № 2: N = 12, m = 4; № 3: N = 13, m = 5;
    № 4: N = 14, m = 6; № 5: N = 15, m = 16; № 6: N = 26, m = 6;
    № 7: N = 17, m = 17; № 8: N = 18, m = 8; № 9: N = 19, m = 9;
    № 10: N = 20, m = 10.
    2. Постройте график изменения максимальной вероятности отрицательного биномиального распределения в зависимости от числа успешных испытаний (
    ) при заданном числе испытаний (
    ) в соответствии с номером компьютера (см. п. 1). Диапазон изменения числа успешных испытаний принимайте от 1 до 10.
    3. Проверьте диаграмму распределения вероятностей отрицательного
    биномиального распределения с помощью функции с
    выбором для заданного числа испытаний и произведенной оценки параметра.

    4. Постройте график распределения вероятностей отрицательного
    биномиального распределения на основе функции
    Контрольные вопросы

    1. Что называется точечной оценкой параметров?
    2. В каких случаях применяется отрицательное биноминальное распределение?
    3. Что называется логарифмической функцией правдоподобия?

    4. Что называется уравнением правдоподобия?
    5. Что называется состоятельной оценкой параметра вероятностного распределения?

    6. В каких случаях оценка параметра вероятностного распределения будет несмещенной?

    Введение в дисперсионный анализ
    Цель работы: практически освоить применение метода дисперсионного анализа на примерах однофакторного и двухфакторного экспериментов.
    Среда программирования — MATLAB.
    Теоретическая часть
    Объектом исследования дисперсионного анализа являются стохастические связи между откликом (реакцией) и факторами, когда последние носят не количественный, а качественный характер
    [13]
    Дисперсионный анализ применяют, чтобы установить, оказывает ли существенное влияние некоторый качественный фактор , который имеет уровней на изучаемую величину .
    Основная идея дисперсионного анализа состоит в сравнении "факторной дисперсии", порождаемой воздействием конкретного фактора, и "остаточной дисперсии", обусловленной случайными причинами
    [6]
    Если различие между этими дисперсиями значимо, то фактор оказывает существенное влияние на ; в этом случае средние величины наблюдаемых значений на каждом уровне (групповые средние)
    различаются также значимо. Если уже установлено, что фактор существенно влияет на , а требуется выяснить, какой из уровней оказывает наибольшее воздействие, то сравнение средних дополнительно производят попарно.
    В зависимости от числа анализируемых факторов различают
    однофакторный, двухфакторный и т. д. дисперсионные анализы
    [13]
    . В
    работе будут рассмотрены однофакторный и двухфакторный
    дисперсионные анализы.
    1. Однофакторный дисперсионный анализ
    Однофакторный дисперсионный анализ может быть использован для
    выявления наиболее существенных связей между переменными при
    качественном исследовании объектов различной природы.
    При однофакторном анализе проверяется действие одного фактора на выходную переменную по результатам экспериментов с дублирующими опытами. Общее количество экспериментов равно
    . Результаты эксперимента наблюдений могут быть сведены в таблицу (
    табл. 8.1
    ), где означает среднее значение выходной переменной в одной серии дублирующих опытов
    [3]
    Количество экспериментов соответствует возможным уровням фактора . Под уровнем фактора понимаются возможные его качественные значения. Поэтому если производится экспериментов,
    то это означает, что рассматриваются возможных уровней фактора,
    которые оказывают влияние на значение выходной переменной системы или объекта исследования.
    Таблица 8.1.
    Результаты наблюдений однофакторного эксперимента
    Номер уровня фактора
    Дублирующие опыты Среднее дублирующего опыта
    1 2
    1 2
    Среднее серий из повторных (дублирующих) опытов для каждого уровня фактора определяется по формуле
    (8.1)
    Общее среднее всех наблюдений по всем уровням фактора определяется по формуле

    (8.2)
    Общая сумма квадратов отклонений отдельных наблюдений от общего среднего вычисляется по формуле
    (8.3)
    Формулу (8.3) можно преобразовать к виду
    (8.4)
    где:
    — сумма квадратов отклонений внутри серий, т. е. сумма квадратов разностей между отдельными наблюдениями y_{g\ell0}
    (\ell=\overline{1,m}) и средним \bar y_g соответствующей серии
    (g=\overline{1,N});
    — сумма квадратов отклонений между сериями или рассеивание по уровням, т. е. взвешенная с учетом числа наблюдений в каждой серии сумма квадратов между средними отдельных серий и общим средним по всей совокупности наблюдений.
    характеризует влияние фактора и случайных причин. отражает влияние случайных причин. характеризует воздействие фактора.
    Если в результате анализа оказалось, что влияние качественного фактора на выходную переменную отсутствует, тогда средние серий имеют одинаковую оценку математического
    ожидания и дисперсию и все наблюдений можно рассматривать как выборку из одной и той же совокупности,
    распределенной по нормальному закону.
    Несмещенная общая оценка дисперсии по всем наблюдениям определяется по формуле
    (8.5)
    с числом степеней свободы
    (8.6)
    Выборочная дисперсия внутри серий (
    ) дублирующих опытов определяется по формуле
    (8.7)
    с числом степеней свободы
    (8.8)
    Выборочная дисперсия внутри серий (
    ) по уровням определяется по формуле
    (8.9)
    с числом степеней свободы
    (8.10)
    Проверка значимости влияния фактора производится с помощью критерия Фишера при заданном уровне значимости (% или относительная величина) по формуле

    (8.11)
    Если вычисленное значение по результатам наблюдений окажется больше значения теоретической величины критерия Фишера при заданном уровне значимости и соответствующих степенях свободы
    (8.8), (8.10), то влияние фактора признается значимым.
    Критическое значение критерия Фишера можно определить по таблицам, которые составлены для различных уровней значимости и приводятся во многих учебниках по теории вероятности и математической статистике. Например, если
    , то
    — число степеней свободы дисперсии
    — берется из верхней строки таблицы,
    а
    — число степеней свободы меньшей дисперсии
    — из левого столбца таблицы. Критическое значение критерия Фишера можно определить также с помощью встроенных функций пакета Statistics
    Toolbox системы MATLAB.
    2. Однофакторный дисперсионный анализ с неодинаковым числом испытаний на различных уровнях
    Выше рассматривался однофакторный дисперсионный анализ с одинаковым числом испытаний на различных уровнях данного одного фактора. Рассмотрим случай однофакторного дисперсионного анализа,
    когда число испытаний на различных уровнях различно
    [6]
    . Пусть произведено испытаний на первом уровне (
    ), испытаний — на втором уровне испытаний – на уровне
    . В этом случае общую сумму квадратов отклонений находят по формуле
    (8.12)
    где:

    — сумма квадратов наблюдавшихся значений отклика на уровне
    ;
    — сумма квадратов наблюдавшихся значений отклика на уровне
    ;
    …………………………………………………………………
    — сумма квадратов наблюдавшихся значений отклика на уровне
    ;
    — суммы наблюдавшихся значений отклика на уровнях
    ;
    — общее число испытаний (общий объем выборки).
    Факторную сумму квадратов отклонений находят по формуле
    (8.13)
    Здесь по-прежнему выполняется соотношение
    Поэтому остаточную сумму квадратов можно определить в виде
    (8.14)
    Факторная и остаточная дисперсии вычисляются по формулам
    (8.15)

    Где:
    — число степеней свободы факторной дисперсии; (8.16)
    — число степеней свободы остаточной дисперсии; (8.17)
    — число факторов.
    Проверка значимости влияния фактора производится с помощью критерия Фишера при заданном уровне значимости (процент или относительная величина) по формуле
    (8.18)
    Если вычисленное значение по результатам наблюдений окажется больше значения теоретической величины критерия Фишера при заданном уровне значимости и соответствующих степенях свободы
    (8.16), (8.17), то влияние фактора признается значимым.
    Соответственно, нулевая гипотеза о равенстве групповых средних отвергается.
    3. Двухфакторный дисперсионный анализ
    При двухфакторном анализе исследуется влияние двух качественных
    факторов и на отклик
    . В этом случае дисперсионный анализ
    основывается на результатах эксперимента, проводимого на различных уровнях каждого из факторов. Предполагается, что взаимосвязь между факторами отсутствует. В эксперименте с повторными опытами результаты могут быть представлены в виде табл. 8.2
    Таблица 8.2.
    Данные для двухфакторного дисперсионного анализа
    Уровни фактора
    (
    ) Уровни фактора
    (
    )
    2 1
    x
    Результаты обработки данных табл. 8.2
    принято сводить в таблицу следующего вида:
    Таблица 8.3.
    Сводная таблица данных
    Источник изменчивости
    Сумма квадратов
    Число степеней свободы
    Средняя сумма квадратов
    Расчетная статистика
    Фактор

    Фактор
    Ошибки
    Сумма
    Вычислительная схема двухфакторного дисперсионного анализа
    1. Общее среднее всех опытов по всем сочетаниям уровней:
    (8.19)
    2. Общая сумма квадратов отклонений наблюдений от общего среднего:
    (8.20)
    где:
    — сумма квадратов отклонений внутри серий (
    табл. 8.3
    ):
    (8.21)
    — сумма квадратов отклонений между строками (
    табл. 8.3
    ):
    (8.22)
    — сумма квадратов отклонений между столбцами (
    табл. 8.3
    ):
    (8.23)

    — сумма квадратов отклонений между сериями (
    табл. 8.3
    ):
    (8.24)
    Расчет дисперсий с соответствующим числом степеней свободы
    3.
    (8.25)
    — число степеней свободы.
    4.
    (8.26)
    — число степеней свободы.
    5.
    (8.27)
    — число степеней свободы.
    6.
    (8.28)
    — число степеней свободы.

    Расчет влияний факторов и их взаимодействий на отклик
    Влияние факторов и признается значимым, если
    (8.29)
    (8.30)
    при заданном уровне значимости и соответствующем числе степеней свободы из формул (8.25), (8.26), (8.27).
    Влияние взаимодействия факторов
    , будет значимым, если
    (8.31)
    при заданном уровне значимости и соответствующем числе степеней свободы из формул (8.27), (8.28).
    Практическая часть
    1. Однофакторный дисперсионный анализ с одинаковым числом испытаний на различных уровнях
    Рассмотрим пример однофакторного анализа, данные которого позаимствованы из
    [12]
    Пример 1. В результате семикратного измерения параметров алюминиевой фольги для электротехнических конденсаторов с использованием двух способов измерения получены значения удельной емкости заформованной фольги (
    таблица 8.4
    ), считая, что удельная емкость фольги распределена по гауссовскому (нормальному) закону, а образцы принадлежат одному рулону, заформованному на одном
    агрегате при постоянных технологических режимах. Требуется оценить систематические ошибки измерения.
    Таблица 8.4.
    Данные примера
    Способ измерения (уровни фактора)
    Дублирующие опыты
    1 2
    3 4
    5 6
    7
    Удельная емкость образцов фольги,
    мкФ/дм2 1-й способ
    9.12 9.30 8.20 10.50 9.80 8.50 10.20 2-й способ
    8.34 8.58 8.18 8.42 8.66 8.26 8.50
    Так как ставится задача изучения влияния одного качественного фактора — способа измерения, применим однофакторный
    дисперсионный анализ при числе параллельных (дублирующих) опытов при числе уровней факторов
    Программный код решения примера:
    clear, clc
    % ПОВТОРНЫЕ НАБЛЮДЕНИЯ ДЛЯ ДВУХ УРОВНЕЙ ФАКТОРА
    A1 = [9.12 9.30 8.20 10.50 9.80 8.50 10.20];
    A2 = [8.34 8.58 8.18 8.42 8.66 8.26 8.50];
    Ygk = [A1;A2];
    N = 2; % ЧИСЛО УРОВНЕЙ ФАКТОРА
    m = length(A1); % ЧИСЛО ПОВТОРНЫХ НАБЛЮДЕНИЙ
    % СРЕДНЕЕ КАЖДОЙ СЕРИИ НАБЛЮДЕНИЙ
    Yg = mean([A1',A2']);
    % СРЕДНЕЕ ВСЕХ НАБЛЮДЕНИЙ
    Ycp = mean(mean([A1,A2])) %% Ycp = (sum(Yg)/N)
    %----------------------------------------------------------- fprintf('\n\t ОДНОФАКТОРНЫЙ ДИСПЕРСИОННЫЙ АНАЛИЗ:\n')
    fprintf('\t Число уровней фактора: N = %d\n', N)
    fprintf('\t Число дублирующих наблюдений: m = %d\n', m)
    fprintf('\t Средние значения дублирующих наблюдений: \n\t Yg(%d) = %g\n\t Yg(%d) = %g\n'...
    ,1,Yg(1),2,Yg(2))
    fprintf('\t Среднее значение всех наблюдений:\n\t Ycp = %g\n', Ycp)
    %-----------------------------------------------------------
    % ФОРМИРОВАНИЕ СУММЫ КВАДРАТОВ ОТКЛОНЕНИЙ
    % ВНУТРИ СЕРИЙ НАБЛЮДЕНИЙ
    So = 0;
    for k = 1 : N
    for r = 1 : m
    So = So + sum(sum(Ygk(k,r) - Yg(k))^2);
    end end
    %-----------------------------------------------------------
    % ФОРМИРОВАНИЕ СУММЫ КВАДРАТОВ ОТКЛОНЕНИЙ
    % МЕЖДУ СЕРИЯМИ НАБЛЮДЕНИЙ
    Sx = 0;
    for g = 1 : N
    Sx = Sx + m*sum((Yg(g) - Ycp)^2);
    end
    %-----------------------------------------------------------
    S = So + Sx;
    fprintf(' Общая сумма квадратов отклонений отдельных наблюдений от общего среднего:\n\t S = %g\n',S)
    D = S/(N*m-1);
    fprintf('\t Несмещенная общая оценка дисперсии по всем N*m (%d*%d = %d) наблюдениям:\n\t D = %g\n',N,m,N*m,D)
    So2 = So/(N*(m - 1));
    Sx2 = Sx/(N - 1);
    fprintf(' Выборочная дисперсия So2 внутри серий с числом степеней свободы Kmax = %d\n\t So2 = %g\n',N*(m - 1),So2)
    fprintf(' Выборочная дисперсия Sx2 внутри серий с числом степеней свободы Kmin = %d\n\t Sx2 = %g\n',N - 1,Sx2)
    fprintf('\n\t РЕЗУЛЬТАТЫ АНАЛИЗА:\n')
    Fpac = Sx2/So2;
    Kx = N - 1;
    Ko = N*(m - 1);
    fprintf('\t Число степеней свободы в эксперименте:\n\t Kx = %d\n\t Ko = %d\n',Kx,Ko)
    %-----------------------------------------------------------
    % КРИТИЧЕСКОЕ ЗНАЧЕНИЕ КРИТЕРИЯ ФИШЕРА Fish

    % ПРИ ВЕРОЯТНОСТИ 0.95 h = 0.01;
    r1 = 0 : h : 1000;
    F = fcdf(r1,Kx,Ko);
    for k = 1:length(r1)
    if F(k) >= 0.95 & F(k) < 0.9501
    F95 = F(k);
    Fish = r1(k);
    break end end
    %----------------------------------------------------------- fprintf('\t Расчетное значение критерия Фишера: Fpac = %g\n',Fpac)
    fprintf('\t Критическое значение распределения Фишера при уровне значимости a = 0.05: F = %g\n\n',Fish)
    if Fpac > Fish disp(' 1) ВЛИЯНИЕ ФАКТОРА ЗНАЧИМО')
    disp(' 2) СПОСОБЫ ИЗМЕРЕНИЙ ИМЕЮТ РАЗЛИЧНЫЕ СИСТЕМАТИЧЕСКИЕ ОШИБКИ')
    else disp(' 3) ВЛИЯНИЕ ФАКТОРА - СПОСОБА ИЗМЕРЕНИЯ НЕ ЗНАЧИМО')
    disp(' 4) СПОСОБЫ ИЗМЕРЕНИЙ ИМЕЮТ СИСТЕМАТИЧЕСКИЕ ОШИБКИ ОДНОГО ПОРЯДКА')
    end
    Результаты выполнения программы для уровня значимости критерия
    Фишера, равного 0.05
    ОДНОФАКТОРНЫЙ ДИСПЕРСИОННЫЙ АНАЛИЗ
    Число уровней фактора: N = 2
    Число дублирующих наблюдений: m = 7
    Средние значения дублирующих наблюдений:
    Yg(1) = 9.37429
    Yg(2) = 8.42
    Среднее значение всех наблюдений:
    Ycp = 8.89714
    Общая сумма квадратов отклонений отдельных наблюдений от общего среднего:
    S = 7.71029
    Несмещенная общая оценка дисперсии по всем N*m (2*7 = 14) наблюдениям:

    D = 0.593099
    Выборочная дисперсия So2 внутри серий с числом степеней свободы:
    Kmax = 12
    So2 = 0.376914
    Выборочная дисперсия Sx2 внутри серий с числом степеней свободы:
    Kmin = 1
    Sx2 = 3.18731
    РЕЗУЛЬТАТЫ АНАЛИЗА
    Число степеней свободы в эксперименте:
    Kx = 1
    Ko = 12
    Расчетное значение критерия Фишера: Fpac = 8.45634
    Критическое значение распределения Фишера при уровне значимости a = 0.05: F = 4.75 1) ВЛИЯНИЕ ФАКТОРА ЗНАЧИМО
    2) СПОСОБЫ ИЗМЕРЕНИЙ ИМЕЮТ РАЗЛИЧНЫЕ СИСТЕМАТИЧЕСКИЕ ОШИБКИ
    Примечание. Критическое значение распределения Фишера можно определить по таблицам, которые составлены для различных уровней значимости и приводятся во многих учебниках по теории вероятности и математической статистике [
    1
    ,
    2
    ], где указывается также число степеней свободы — в данном случае эти числа соответствуют числителю и знаменателю расчетного значения критерия Фишера.
    Пояснение к определению критического значения распределения
    Фишера показано на рис. 8.1
    , где представлена интегральная функция распределения Фишера с заданными степенями свободы.

    Рис. 8.1. Интегральная функция распределения Фишера
    Задание 1 1. Напишите программу построения диаграммы, приведенной на рис.
    8.1 2. Произведите дисперсионный анализ в случае, когда число уровней фактора будет равно 3. Дополнительный уровень сформируйте по данным наблюдений 1-го уровня: с помощью функции в
    интервалах между значениями наблюдений. Например, если 1-е наблюдение равно 9.12, 2-е равно 9.3, то первое значение для дополнительного уровня взять по равномерному закону из интервала и т. д.
    3. Напишите программу формирования массива критических точек распределения Фишера на основе функции
    (см.
    )
    или на основе функции
    (см. вышеприведенную программу)
    при следующих параметрах (числом степеней свободы
    , и
    уровне значимости ):
    1-й компьютер:
    2-й компьютер:
    3-й компьютер:
    4-й компьютер:
    5-й компьютер:
    6-й компьютер:
    7-й компьютер:
    8-й компьютер:
    9-й компьютер:
    10-й компьютер:
    2. Однофакторный дисперсионный анализ с неодинаковым числом испытаний на различных уровнях
    Пример 2. В соответствии с данными эксперимента, приведенными в табл. 8.5
    , требуется при уровне значимости 0.05 проверить нулевую гипотезу о равенстве групповых средних (числовые данные для примера
    2 взяты из
    [6]
    ).
    Таблица 8.5.
    Данные эксперимента
    Номер испытания Уровни фактора
    1 2
    3 4
    5 6
    37 47 40 60


    60 86 67 92 95 98 69 100 98




    Среднее уровней 46 83 89
    Программный код решения примера:
    clear, clc p = 3; % ЧИСЛО УРОВНЕЙ ФАКТОРА
    % ЗНАЧЕНИЯ 1-ГО УРОВНЯ
    F11 = [37 47 40 60];
    % ЗНАЧЕНИЯ 2-ГО УРОВНЯ
    F22 = [60 86 67 92 95 98];
    % ЗНАЧЕНИЯ 3-ГО УРОВНЯ
    F33 = [69 100 98];
    % МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ЧИСЛА ИСПЫТАНИЙ ДАННЫХ УРОВНЕЙ
    maxLen = max([length(F11),length(F22),length(F33)]);
    if maxLen - length(F11) > 0
    F1 = [F11,zeros(1,maxLen - length(F11))];
    else
    F1 = F11;
    end if maxLen - length(F22) > 0
    F2 = [F22,zeros(1,maxLen - length(F22))];
    else
    F2 = F22;
    end if maxLen - length(F33) > 0
    F3 = [F33,zeros(1,maxLen - length(F33))];
    else
    F3 = F33;
    end fprintf('\n ДИСПЕРСИОННЫЙ АНАЛИЗ С НЕОДИНАКОВЫМ ЧИСЛОМ ИСПЫТАНИЙ\n')
    disp('======================================================')
    fprintf('\t\t Таблица данных эксперимента\n')
    disp('----------------------------------------------')
    fprintf('\t Номер испытания |\t Уровни фактора Fj\t|\n')
    disp('----------------------------------------------')
    fprintf('%*si%*s|\tF1\t|\tF2\t|\tF3\t|\n', 8, '', 12, '')
    disp('----------------------------------------------')
    for J = 1:6
    if F1(J) & F2(J) & F3(J)
    fprintf('\t\t%d\t\t\t |\t%s\t|\t%s\t|\t%s\t|\n',J,'-','-','-')
    elseif F1(J) & F2(J)
    fprintf('\t\t%d\t\t\t |\t%s\t|\t%s\t|\t%g\t|\n',J,'-','-',F3(J))
    elseif F1(J) & F3(J)
    fprintf('\t\t%d\t\t\t |\t%s\t|\t%g\t|\t%s\t|\n',J,'-',F2(J),'-')
    elseif F3(J) & F1(J) & F2(J)
    fprintf('\t\t%d\t\t\t |\t%g\t|\t%g\t|\t%s\t|\n',J,F1(J),F2(J),'-')
    else fprintf('\t\t%d%*s|\t%g\t|\t%g\t|\t%g\t|\n',J,12,'',F1(J),F2(J),F3(J))
    end end disp('----------------------------------------------')
    fprintf('Среднее уровней Xгрj |\t%g\t|\t%g\t|\t%g\t|\n',mean(F11),mean(F22),mean(F33))
    disp('----------------------------------------------')
    fprintf('\t\t Число испытаний:\n\t\t на уровне F1: %d\n\t\t на уровне F2: %d\n\t\t на уровне F3: %d\n ', length(F11),length(F22),length(F33))
    fprintf('\t Общее число испытаний: %d\n',length(F11)+length(F22)+length(F33))
    disp('=====================================================================')
    fprintf('\t\t\t Таблица расчетных данных эксперимента\n')
    disp(' ------------------------------------------------------------------')
    fprintf('\t Номер испытания |%*sУровни фактора Fj\t\t\t\t|\n', 16, '')
    disp(' ------------------------------------------------------------------')
    fprintf('%*si%*s|\t\t F1\t\t|\t\t F2\t\t|\t\t F3\t\t|\n', 8,'', 12,'')
    fprintf('%*s ------------------------------------------------\n', 20, '')
    fprintf('%*s | xi1 | xi1_2\t| xi2\t| xi2_2 | xi3 | xi3_2\t|\n', 20, '')
    disp(' ------------------------------------------------------------------')
    for J = 1 : maxLen if F1(J) & F2(J) & F3(J)
    fprintf('\t\t%d\t|\t\t |\t%s\t|\t%s\t|\t%s\t|\t%s\t|\t%s\t|\t%s\t|\n',J,'-','-','-','-','-','-')
    elseif F1(J) & F2(J)
    fprintf('\t\t%d\t\t\t |\t%s\t|\t%s\t|\t%s\t|\t%s\t|\t%g\t|%g\t|\n',J,'-','-',F3(J),F3(J)^2)
    elseif F1(J) & F3(J)
    fprintf('\t\t%d\t\t\t |\t%s\t|\t%s\t|\t%g\t| %g\t|\t%s\t|\t%s\t|\n',J,'-','-',F2(J),F2(J)^2,'-','-')
    elseif F3(J) & F1(J) & F2(J)
    fprintf('\t\t%d%*s|\t%g\t| %g\t|\t%g\t| %g\t|\t%s\t|\t%s\t|\n',J,12,'',F1(J),F1(J)^2,F2(J),F2(J)^2,'-','-')
    else fprintf('\t\t%d%*s|\t%g\t| %g\t|\t%g\t| %g\t|\t%g\t| %g\t|\n',J,12,'',F1(J),F1(J)^2,F2(J),F2(J)^2,F3(J),F3(J)^2)
    end end disp(' ------------------------------------------------------------------')
    fprintf('\tСумма квадратов |\t\t| %g\t| %s\t\t| %g\t| %s\t\t| %g\t|\n ',sum(F11.^2),'',sum(F22.^2),'',sum(F33.^2))
    disp(' -----------------------------------------------------------------')
    fprintf('\tСумма уровней\t |%g\t| %s\t\t| %g\t| %s\t\t| %g\t| %s\t\t|\n ',sum(F11),'',sum(F22),'',sum(F33),'')
    disp(' -----------------------------------------------------------------')
    fprintf('\tКвадрат суммы \t |%g\t| %s\t\t|%g\t| %s\t\t|%g\t| %s\t\t|\n',(sum(F11))^2,'',(sum(F22))^2,'',(sum(F33))^2,'')
    fprintf('\t уровней\t\t |\t\t|\t\t|\t\t|\t\t|\t\t|\t\t|\n')
    disp('=====================================================================')
    disp(' ------------------------------------------------------------------')
    Q = sum(F11.^2) + sum(F22.^2) + sum(F33.^2);
    T = sum(F11) + sum(F22) + sum(F33);
    n = length(F11) + length(F22) + length(F33);
    Sob = Q - T^2/n;
    fprintf('\t Общая сумма квадратов отклонений: Sобщ = %g\n',Sob)
    disp(' ------------------------------------------------------------------')
    Sf = (sum(F11))^2/length(F11) + (sum(F22))^2/length(F22) + (sum(F33))^2/length(F33) - T^2/n;
    fprintf('\t Факторная сумма квадратов отклонений: Sфакт = %g\n',Sf)
    disp(' ------------------------------------------------------------------')
    Sost = Sob - Sf;
    fprintf('\t Остаточная сумма квадратов отклонений: Sост = %g\n',Sost)
    disp(' ------------------------------------------------------------------')
    s2f = Sf/(p - 1);
    fprintf('\t Факторная дисперсия: Dфакт = %g\n',s2f)
    disp(' ------------------------------------------------------------------')
    s2oc = Sost/(n - p);
    fprintf('\t Остаточная дисперсия: Dост = %g\n',s2oc)
    disp(' --------------------------------------------------------------------------------------')
    Fpac = s2f/s2oc;
    fprintf('\t Расчетное значение критерия Фишера: Fpac = %g\n',Fpac)
    fprintf('\t Число степеней свободы: v1 = %d\t v2 = %d\n',p -1,n - p)
    a = 0.05;
    fprintf('\t Уровень значимости a = %g\n',a)
    v1 = p - 1;
    v2 = n - p;
    fprintf('\t Используется функция finv для расчета критического значения критерия Фишера\n');
    Fkp = finv(1 - a,v1,v2);
    fprintf('\t Критическое значение критерия Фишера на уровне значимости a = %g: Fkp = %g\n', a,Fkp)
    disp(' --------------------------------------------------------------------------------------')
    if Fpac > Fkp fprintf('\t Fpac > Fkp (%g > %g)\n', Fpac, Fkp)
    else fprintf('\t Fpac < Fkp (%g < %g)\n', Fpac, Fkp)
    end disp(' -----------------------------------------------------------------------------------------')
    fprintf('\n\t РЕЗУЛЬТАТЫ ДИСПЕРСИОННОГО АНАЛИЗА:\n')
    if Fpac > Fkp fprintf('\t Нулевая гипотеза о равенстве групповых средних отвергается\n');
    else fprintf('\t Нулевая гипотеза о равенстве групповых средних принимается\n');
    end
    Часть результатов выполнения программы
    ------------------------------------------------------------------

    Общая сумма квадратов отклонений: Sобщ = 6444
    -----------------------------------------------------------------
    Факторная сумма квадратов отклонений: Sфакт = 4284
    -----------------------------------------------------------------
    Остаточная сумма квадратов отклонений: Sост = 2160
    -----------------------------------------------------------------
    Факторная дисперсия: Dфакт = 2142
    -----------------------------------------------------------------
    Остаточная дисперсия: Dост = 216
    ----------------------------------------------------------------
    Расчетное значение критерия Фишера: Fpac = 9.91667
    Число степеней свободы: v1 = 2 v2 = 10
    Уровень значимости a = 0.05
    Используется функция finv для расчета критического значения критерия Фишера
    Критическое значение критерия Фишера на уровне значимости a = 0.05: Fkp = 4.10282
    ---------------------------------------------------------------
    Fpac > Fkp (9.91667 > 4.10282)
    ----------------------------------------------------------------
    РЕЗУЛЬТАТЫ ДИСПЕРСИОННОГО АНАЛИЗА
    Нулевая гипотеза о равенстве групповых средних отвергается
    Задание 2
    В соответствии с номером компьютера (1, 2, 3, ...) напишите программу по дисперсионному анализу с неодинаковым числом испытаний на различных уровнях одного фактора.
    Компьютер № 1: считая, что имеются 3 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 2: считая, что имеются 3 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 3: считая, что имеются 3 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 4: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 5: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 6: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 7: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:

    Компьютер № 8: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 9: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    Компьютер № 10: считая, что имеются 4 уровня одного фактора,
    проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям
    MATLAB:
    3. Двухфакторный дисперсионный анализ
    Пример 3. В таблице 8.6
    представлены результаты наблюдений над откликом на пяти уровнях фактора и четырех уровнях фактора
    [13]
    . Требуется проверить на уровне значимости гипотезы:
    — отсутствие влияния фактора на величину отклика ;
    — отсутствие влияния фактора на величину отклика .
    Предполагается, что взаимосвязь между факторами отсутствует.
    В данном примере повторные опыты или наблюдения отсутствуют, по- этому дисперсионный анализ проводится проще, чем это было
    проведено для общего случая в теоретической части лабораторной работы № 8.
    Таблица 8.6.
    Данные двухфакторного эксперимента
    Уровни фактора
    Уровни фактора
    1 2 3
    4 5
    1 4 18 26 38 44 2
    3 19 25 35 43 3
    6 18 24 28 39 4
    7 13 21 31 38
    Обозначим:
    — число уровней фактора ;
    — число уровней фактора ;
    — общее число наблюдений (опытов) в эксперименте;

    матрица эксперимента.
    Программный код решения примера:
    clear,clc,pause(0.5)
    % ВВОД ИСХОДНЫХ ДАННЫХ ЭКСПЕРИМЕНТА
    Ap = 5; % ЧИСЛО УРОВНЕЙ ФАКТОРА А
    Bp = 4; % ЧИСЛО УРОВНЕЙ ФАКТОРА В
    % УРОВЕНЬ ЗНАЧИМОСТИ ПРОВЕРКИ ГИПОТЕЗ
    a = 0.01;
    % ОБЩЕЕ ЧИСЛО ОПЫТОВ В ЭКСПЕРИМЕНТЕ
    n = Ap*Bp;
    % МАТРИЦА ЭКСПЕРИМЕНТА
    M = [4,18,26,38,44;3,19,25,35,43;6,18,24,28,39;7,13,21,31,38]; fprintf('\n\t\t\t ДВУХФАКТОРНЫЙ ДИСПЕРСИОННЫЙ АНАЛИЗ\n')
    fprintf('\t---------------------------------------------------------\n'); fprintf('\t Число уровней фактора А: Ap = %d\n',Ap)
    fprintf('\t Число уровней фактора B: Bp = %d\n',Bp)
    fprintf('\t Число опытов в эксперименте: n = %d\n',n)
    fprintf('\t Уровень значимости проверки гипотез: a = %1.2f\n',a)
    fprintf('\t---------------------------------------------------------\n')
    fprintf('\t| Уровни \t\t|\t\t Уровни фактора А(i)\t\t\t|\n')
    fprintf('\t| фактора B(j)\t|---------------------------------------|\n')
    fprintf('\t|%*s|', 16,''),fprintf('\t%d\t|',1:Ap)
    fprintf('\n\t---------------------------------------------------------\n')
    Mp = [(1:Bp)',M];
    fprintf('\t|\t\t%d\t\t|\t%d\t|\t%d\t|\t%d\t|\t%d\t|\t%d\t|\n',Mp')
    fprintf('\t---------------------------------------------------------\n')
    % СРЕДНЕЕ ВСЕГО ЭКСПЕРИМЕНТА
    Xcp = mean(mean(M));
    fprintf('\t Среднее всего эксперимента: Xcp = %g\n',Xcp)
    % СРЕДНЕЕ ПО СТРОКАМ МАТРИЦЫ ЭКСПЕРИМЕНТА
    Xcmp = mean(M,2);
    fprintf('\t---------------------------------------------------------\n')
    fprintf('\t Среднее по строкам матрицы эксперимента X.j:\n')
    fprintf('\t\t %g',Xcmp)
    fprintf('\n')
    fprintf('\t---------------------------------------------------------\n')
    % СРЕДНЕЕ ПО СТОЛБЦАМ МАТРИЦЫ ЭКСПЕРИМЕНТА
    Xcmb = mean(M);
    fprintf('\t Среднее по столбцам матрицы эксперимента Xi.:\n')
    fprintf('\t\t %g',Xcmb)
    fprintf('\n')
    fprintf('\t---------------------------------------------------------\n')
    % СУММА КВАДРАТОВ ОТКЛОНЕНИЙ ПО ФАКТОРУ А
    QA2 = Bp*sum((Xcmb - Xcp).^2);
    Na = Ap - 1;
    SA2 = QA2/Na;
    fprintf('\t Сумма квадратов отклонений по фактору А: QA2 = %g\n',QA2)
    fprintf('\t Число степеней свободы фактора А: Na = %g\n',Na)
    fprintf('\t Средняя сумма квадратов по числу степеней свободы: SA2 = %g\n',SA2)
    fprintf('\t---------------------------------------------------------\n')
    % СУММА КВАДРАТОВ ОТКЛОНЕНИЙ ПО ФАКТОРУ В
    QB2 = Ap*sum((Xcmp - Xcp).^2);
    Nb = Bp - 1;
    SB2 = QB2/Nb;
    fprintf('\t Сумма квадратов отклонений по фактору В: QB2 = %g\n',QB2)
    fprintf('\t Число степеней свободы по фактору В: Nb = %g\n',Nb)
    fprintf('\t Средняя сумма квадратов по числу степеней свободы: SB2 = %g\n',SB2)
    fprintf('\t---------------------------------------------------------\n')
    fprintf('\t\t\t ОШИБКИ\n')
    Qo = 0;
    for I = 1:Ap for J = 1:Bp
    Qo = Qo + (M(J,I) - Xcmb(I) - Xcmp(J) + Xcp)^2;
    end end fprintf('\t Ошибка суммы квадратов: Qo = %g\n',Qo)
    Nab = Na*Nb;
    fprintf('\t Число степеней свободы: Nab = %d\n',Nab)
    So2 = Qo/Nab;
    fprintf('\t Средняя сумма квадратов ошибки: So2 = %g\n',So2)
    fprintf('\t---------------------------------------------------------\n')
    Q = 0;
    for I = 1:Ap for J = 1:Bp
    Q = Q + (M(J,I) - Xcp)^2;
    end end fprintf('\t Общая сумма квадратов отклонений: Q = %g\n', Q)
    Nq = Ap*Bp - 1;
    fprintf('\t Число степеней свободы: Nq = %d\n', Nq)
    fprintf('\t--------------------------------------------------\n')
    % РАСЧЕТНЫЕ СТАТИСТИКИ ФИШЕРА
    fprintf('\t\t РАСЧЕТНЫЕ СТАТИСТИКИ ФИШЕРА\n')

    Fa = SA2/So2;
    fprintf('\t Статистика по фактору А: Fa = %g\n', Fa)
    Fb = SB2/So2;
    fprintf('\t Статистика по фактору B: Fb = %g\n', Fb)
    fprintf('\t--------------------------------------------------\n')
    % КРИТИЧЕСКИЕ ТОЧКИ КРИТЕРИЯ ФИШЕРА
    fprintf('\t\t КРИТИЧЕСКИЕ ТОЧКИ КРИТЕРИЯ ФИШЕРА\n')
    Ffa = finv(1 - a,Na,Nab);
    fprintf('\t Критическая точка по фактору А: Ffa = %g\n', Ffa)
    Ffb = finv(1 - a,Nb,Nab);
    fprintf('\t Критическая точка по фактору B: Ffb = %g\n', Ffb)
    fprintf('\t--------------------------------------------------\n')
    % РЕЗУЛЬТАТЫ ДИСПЕРСИОННОГО АНАЛИЗА ПО ПРОВЕРКЕ ГИПОТЕЗ ВЛИЯНИЯ ФАКТОРОВ
    fprintf('\n\t РЕЗУЛЬТАТЫ ДИСПЕРСИОННОГО АНАЛИЗА\n')
    fprintf('\t ПО ПРОВЕРКЕ ГИПОТЕЗ ВЛИЯНИЯ ФАКТОРОВ\n')
    fprintf('\t НА УРОВНЕ ЗНАЧИМОСТИ a = %1.2f\n',a)
    % ПРОВЕРКА ФАКТОРА А
    if Fa > Ffa fprintf('\n\t 1) Гипотезу о влиянии фактора А на отклик следует отвергнуть,\n')
    fprintf('\t\tтак как Fa = %g > Ffa = %g\n', Fa, Ffa)
    elseif Fa < Ffa fprintf('\n\t 1) Гипотезу о влиянии фактора А на отклик следует принять,\n')
    fprintf('\t\tтак как Fa = %g < Ffa = %g\n', Fa, Ffa)
    else fprintf('\n\t 1) Гипотезу о влиянии фактора А на отклик следует принять,\n')
    fprintf('\t\tтак как Fa = %g = Ffa = %g\n', Fa, Ffa)
    end
    % ПРОВЕРКА ФАКТОРА В
    if Fb > Ffb fprintf('\t 2) Гипотезу о влиянии фактора B на отклик следует отвергнуть,\n')
    fprintf('\t\tтак как Fb = %g > Ffb = %g\n', Fb, Ffb)
    elseif Fb < Ffb fprintf('\t 2) Гипотезу о влиянии фактора B на отклик следует принять,\n')
    fprintf('\t\tтак как Fb = %g < Ffb = %g\n', Fb, Ffb)
    else fprintf('\t 2) Гипотезу о влиянии фактора B на отклик следует принять,\n')
    fprintf('\t\tтак как Fb = %g = Ffb = %g\n', Fb, Ffb)
    end
    Результаты выполнения программы без матрицы данных эксперимента
    ДВУХФАКТОРНЫЙ ДИСПЕРСИОННЫЙ АНАЛИЗ
    ---------------------------------------------------------
    Число уровней фактора А: Ap = 5
    Число уровней фактора B: Bp = 4
    Число опытов в эксперименте: n = 20
    Уровень значимости проверки гипотез: a = 0.01
    ………………………………………………………………………………………
    Среднее всего эксперимента: Xcp = 24
    ---------------------------------------------------------
    Среднее по строкам матрицы эксперимента X.j:
    26 25 23 22
    ---------------------------------------------------------
    Среднее по столбцам матрицы эксперимента Xi.:
    5 17 24 33 41
    ---------------------------------------------------------
    Сумма квадратов отклонений по фактору А: QA2 = 3120
    Число степеней свободы фактора А: Na = 4
    Средняя сумма квадратов по числу степеней свободы: SA2 = 780
    ---------------------------------------------------------
    Сумма квадратов отклонений по фактору В: QB2 = 50
    Число степеней свободы по фактору В: Nb = 3
    Средняя сумма квадратов по числу степеней свободы:
    SB2 = 16.6667
    ---------------------------------------------------------
    ОШИБКИ
    Ошибка суммы квадратов: Qo = 80
    Число степеней свободы: Nab = 12
    Средняя сумма квадратов ошибки: So2 = 6.66667
    ---------------------------------------------------------
    Общая сумма квадратов отклонений: Q = 3250

    Число степеней свободы: Nq = 19
    ---------------------------------------------------------
    РАСЧЕТНЫЕ СТАТИСТИКИ ФИШЕРА
    Статистика по фактору А: Fa = 117
    Статистика по фактору B: Fb = 2.5
    ---------------------------------------------------------
    КРИТИЧЕСКИЕ ТОЧКИ КРИТЕРИЯ ФИШЕРА
    Критическая точка по фактору А: Ffa = 5.41195
    Критическая точка по фактору B: Ffb = 5.95254
    ---------------------------------------------------------
    РЕЗУЛЬТАТЫ ДИСПЕРСИОННОГО АНАЛИЗА
    ПО ПРОВЕРКЕ ГИПОТЕЗ ВЛИЯНИЯ ФАКТОРОВ
    НА УРОВНЕ ЗНАЧИМОСТИ a = 0.01 1) Гипотезу о влиянии фактора А на отклик следует отверг-нуть,
    так как Fa = 117 > Ffa = 5.41195 2) Гипотезу о влиянии фактора B на отклик следует принять,
    так как Fb = 2.5 < Ffb = 5.95254
    Задание 3
    В соответствии с номером компьютера (1, 2, 3, ...) напишите программы в MATLAB по решению приводимых ниже примеров, когда требуется проверить гипотезы о влиянии фактора и фактора на отклик , а также гипотезы, когда влияние взаимодействия факторов будет значимым.
    Компьютер № 1: при уровне значимости x11=abs(11*normrnd(1,1,4,5));x12=abs(11*normrnd(1,1,4,5));x13=abs(11*normrnd(1,1,4,5));
    % Матрица данных эксперимента при m = 3 повторных опытах
    M = cat(3,x11,x12,x13)
    Компьютер № 2: при уровне значимости x11=abs(12*normrnd(2,1,5,6));x12=abs(12*normrnd(3,1,5,6));x13=abs(12*normrnd(4,1,5,6));
    % Матрица данных эксперимента при m = 3 повторных опытах

    M = cat(3,x11,x12,x13)
    Компьютер № 3: при уровне значимости x11=abs(13*normrnd(3,1,6,7));x12=abs(13*normrnd(4,1,6,7));x13=abs(13*normrnd(5,1,6,7));
    % Матрица данных эксперимента при m = 3 повторных опытах
    M = cat(3,x11,x12,x13)
    Компьютер № 4: при уровне значимости x11=abs(14*normrnd(4,.1,8,6));x12=abs(13*normrnd(5,.4,8,6));x13=abs(13*normrnd(6,.8,8,6));
    % Матрица данных эксперимента при m = 3 повторных опытах
    M = cat(3,x11,x12,x13)
    Компьютер № 5: при уровне значимости x11=abs(15*normrnd(1,.5,5,4));x12=abs(15*normrnd(1,.6,5,4));
    x13=abs(15*normrnd(1,.7,5,4)); x14=abs(15*normrnd(1,.8,5,4));
    % Матрица данных эксперимента при m = 4 повторных опытах
    M = cat(4,x11,x12,x13,x14)
    Компьютер № 6: при уровне значимости x11=abs(16*normrnd(2,1,6,4));x12=abs(16*normrnd(3,1,6,4));
    x13=abs(16*normrnd(4,1,6,4)); x14=abs(16*normrnd(1,.8,6,4));
    % Матрица данных эксперимента при m = 4 повторных опытах
    M = cat(4,x11,x12,x13,x14)
    Компьютер № 7: при уровне значимости x1=abs(17*normrnd(7,.7,7,5));x2=abs(17*normrnd(8,.72,7,5));
    x3=abs(17*normrnd(9,.73,7,5)); x4=abs(17*normrnd(10,2,7,5));
    x5=abs(17*normrnd(11,1,7,5));
    % Матрица данных эксперимента при m = 4 повторных опытах
    M = cat(4,x1,x2,x3,x4,x5)
    Компьютер № 8: при уровне значимости
    x1=abs(18*normrnd(8,1,8,6));x2=abs(18*normrnd(9,1,8,6));
    x3=abs(18*normrnd(10,1,8 ,6));x4=abs(18*normrnd(11,1,8,6)); x5=abs(18*normrnd(12,1,8,6)); x6=abs(18*normrnd(13,1,8,6));
    % Матрица данных эксперимента при m = 4 повторных опытах
    M = cat(4,x1,x2,x3,x4,x5,x6)
    Компьютер № 9: при уровне значимости x11=abs(9*normrnd(1,1,4,5));x12=abs(9*normrnd(1,1,4,5));x13=abs(9*normrnd(1,1,4,5));
    % Матрица данных эксперимента при m = 3 повторных опытах
    M = cat(3,x11,x12,x13)
    Компьютер № 10: при уровне значимости x11=abs(10*normrnd(2,1,5,6));x12=abs(10*normrnd(3,1,5,6));x13=abs(10*normrnd(4,1,5,6));
    % Матрица данных эксперимента при m = 3 повторных опытах
    M = cat(3,x11,x12,x13)
    Примечание. Матрица данных эксперимента
    — многомерная матрица, которая представляет собой данные повторных опытов или наблюдений.
    Контрольные вопросы
    1. Что такое факторы в дисперсионном анализе?
    2. С какой целью применяют дисперсионный анализ?
    3. Что такое многофакторный дисперсионный анализ?
    4. Что называется факторной дисперсией в дисперсионном анализе?
    5. Что такое остаточная дисперсия в дисперсионном анализе?

    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта