|
Добрый день. Я приступила сегодня к самостоятельному изучению курса "Моделирование систем". Хочу понять - необходимо ли отсылать мои решения практических заданий на сайт, (и если да - то где найти волшебную кнопку "Загрузить...") или практические задания остаются полностью на моей совести? (никто не проверяет, и отчётности по ним я предоставлять не обязана?) P.S.: тьютора я не брала |
Введение в дисперсионный анализ
3. Двухфакторный дисперсионный анализ
Пример 3. В таблице 8.6 представлены результаты наблюдений над откликом
на пяти уровнях фактора
и четырех уровнях фактора
[13]. Требуется проверить на уровне значимости
гипотезы:
— отсутствие влияния фактора
на величину отклика
;
— отсутствие влияния фактора
на величину отклика
.
Предполагается, что взаимосвязь между факторами отсутствует.
В данном примере повторные опыты или наблюдения отсутствуют, по-этому дисперсионный анализ проводится проще, чем это было проведено для общего случая в теоретической части лабораторной работы № 8.
| Данные двухфакторного эксперимента | |||||
Уровни фактора
|
Уровни фактора
|
||||
| 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)
Примечание. Матрица данных эксперимента
— многомерная матрица, которая представляет собой данные повторных опытов или наблюдений.
Контрольные вопросы
- Что такое факторы в дисперсионном анализе?
- С какой целью применяют дисперсионный анализ?
- Что такое многофакторный дисперсионный анализ?
- Что называется факторной дисперсией в дисперсионном анализе?
- Что такое остаточная дисперсия в дисперсионном анализе?
- Как производится проверка значимости влияния фактора?
- В каком случае влияние качественного фактора на выходную переменную отсутствует?
- Как рассчитывается несмещенная оценка выборочной дисперсии?