Добрый день. Я приступила сегодня к самостоятельному изучению курса "Моделирование систем". Хочу понять - необходимо ли отсылать мои решения практических заданий на сайт, (и если да - то где найти волшебную кнопку "Загрузить...") или практические задания остаются полностью на моей совести? (никто не проверяет, и отчётности по ним я предоставлять не обязана?) 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:
Компьютер № 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: