|
Добрый день. Я приступила сегодня к самостоятельному изучению курса "Моделирование систем". Хочу понять - необходимо ли отсылать мои решения практических заданий на сайт, (и если да - то где найти волшебную кнопку "Загрузить...") или практические задания остаются полностью на моей совести? (никто не проверяет, и отчётности по ним я предоставлять не обязана?) P.S.: тьютора я не брала |
Введение в дисперсионный анализ
2. Однофакторный дисперсионный анализ с неодинаковым числом испытаний на различных уровнях
Пример 2. В соответствии с данными эксперимента, приведенными в табл. 8.5, требуется при уровне значимости 0.05 проверить нулевую гипотезу о равенстве групповых средних (числовые данные для примера 2 взяты из [6]).
| Данные эксперимента | |||
| Номер испытания | Уровни фактора
|
||
![]() |
![]() |
![]() |
![]() |
| 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:
![n1=11*abs([[randn(4,1);zeros(2,1)],[randn(3,1);zeros(3,1)],randn(6,1)])](/sites/default/files/tex_cache/3e97731c59118eaf520ac303c552c71c.png)
Компьютер № 2: считая, что имеются 3 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n2=12*abs([[randn(4,1);zeros(2,1)],[randn(5,1);zeros(1,1)],randn(6,1)])](/sites/default/files/tex_cache/7126221e858abbae0b8b04b31634c5c1.png)
Компьютер № 3: считая, что имеются 3 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n3=13*abs([[randn(2,1);zeros(4,1)],[randn(5,1);zeros(1,1)],randn(6,1)])](/sites/default/files/tex_cache/20df5cea5b4aeeca7676b0b010fd00d1.png)
Компьютер № 4: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n4=14*abs([[randn(3,1);zeros(3,1)],[randn(5,1);zeros(1,1)],randn(6,1),[randn(2,1);zeros(4,1)]])](/sites/default/files/tex_cache/9e53c1cde6439531ccaed43b615f84f0.png)
Компьютер № 5: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n5=15*abs([[randn(2,1);zeros(3,1)],[randn(4,1);zeros(1,1)],randn(5,1),[randn(3,1);zeros(2,1)]])](/sites/default/files/tex_cache/5bcde6b645014e4a394e965e401eb87c.png)
Компьютер № 6: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n6=16*abs([[randn(2,1);zeros(4,1)],[randn(4,1);zeros(2,1)],randn(6,1),[randn(3,1);zeros(3,1)]])](/sites/default/files/tex_cache/48db432d1c7e851bd6b402579c67fd76.png)
Компьютер № 7: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n7=17*abs([[randn(2,1);zeros(5,1)],[randn(4,1);zeros(3,1)],randn(7,1),[randn(3,1);zeros(4,1)]])](/sites/default/files/tex_cache/1797548f6cccf934764a440b9a5951c7.png)
Компьютер № 8: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n8=18*abs([[randn(3,1);zeros(5,1)],[randn(4,1);zeros(4,1)],randn(8,1),[randn(3,1);zeros(5,1)]])](/sites/default/files/tex_cache/a7e16fa04bf1b2f0e89ab5371ced2aeb.png)
Компьютер № 9: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n9=9*abs([[randn(2,1);zeros(7,1)],[randn(5,1);zeros(4,1)],randn(9,1),[randn(3,1);zeros(6,1)]])](/sites/default/files/tex_cache/e15fb2b079560a9461c2b757d9af5ca4.png)
Компьютер № 10: считая, что имеются 4 уровня одного фактора, проверьте нулевую гипотезу о равенстве групповых средних при испытаниях, получаемых при обращении к встроенным функциям MATLAB:
![n10=8*abs([[randn(3,1);zeros(7,1)],[randn(4,1);zeros(6,1)],randn(10,1),[randn(3,1);zeros(7,1)]])](/sites/default/files/tex_cache/0273b3ed581318f4d6c34841dbdab9fe.png)



