y=[ 22.875 22.884 22.875
40.928 40.923 40.946
11.411 11.412 11.403
23.055 23.038 23.057
22.891 22.885 22.882
40.935 40.93 40.925
11.411 11.424 11.408
23.043 23.054 23.052
9.914 9.908 9.919
14.931 14.934 14.933
5.204 5.2 5.202
9.094 9.11 9.109
9.921 9.918 9.913
14.94 14.939 14.937
5.203 5.198 5.2
9.109 9.109 9.11
]; %3 выборки значений выхода
ys = mean(y') %Нахождение среднего значения У
length(y)
for i=1:length(y)
yd(i)=sum((y(i,:)-ys(i)).^2)/2; %Вычисление дисперсии
end
yd
disp('Средняя дисперсия');
sd = mean(yd) %Нахождение среднего значения дисперсии
disp('Проверка на однородность ряда дисперсий критерием Кохрена');
dmax = max(yd)
Gmax = dmax/sum(yd) %Расчетная величина коэффициента Кохрена
disp ('Коэффициент Кохрена = 0.33');
if (Gmax<0.33)
disp('Выборки однородны');
else
disp('Выборки НЕОДНОРОДНЫ');
end
disp('Линейная регрессия');
b0=sum(ys)/length(ys); %Нахождение свободного члена b0
b=[];
for i=1:4
bn=sum(ys.*xmat(:,i)')/length(ys); %Вычисление коэффициентов линейной регрессии
b=[b bn];
end
disp ('Коэффициенты линейного уравнения регрессии, начиная с нулевого:');
[b0
b']
bn=[b0 b];
Dbj=sd/(length(ys)*3); %Нахождение дисперсии ошибки определения bj
disp ('Коэффициенты Стьюдента:'); %Нахождение коэффициентов Стьюдента
tk=abs(bn)/sqrt(Dbj) %для проверки на статистическую значимость
disp ('Критерий = 2.036'); %коэффициентов регрессии.
disp ('Следующие коэффициенты незначимы:');
for i=1:length(tk)
if tk(i)<2.036 %Проверка на соответствие критерию Стьюдента
disp (strcat(num2str(i)));
bn(i)=0; %Обнуление незначимых коэффициентов
end
end
disp ('Предсказанные результаты:');
yp=b0+xmat*(b') %Результат, полученный по линейному уравнению
disp ('Проверка адекватности');
sd = mean(yd) %Средняя дисперсия
Dad=0;
for i=1:length(ys)
Dad=Dad+((ys(i) - yp(i))^2)/(length(ys)-5); %Вычисление дисперсии неадекватности
end
Dad
%Dad=sum((ys(i) - yp(i))^2)/(length(ys)-5)
if (Dad<sd)
disp('Адекватно...');
else
Ff=Dad/sd;
disp('Не адекватно...');
end
disp('Неполноквадратичная регрессия-----------------------------------');
b5 =sum (prod ([ xmat(:,1)'; xmat(:,2)'; ys ]))/length(ys);
b6 =sum (prod ([ xmat(:,1)'; xmat(:,3)'; ys ]))/length(ys);
b7 =sum (prod ([ xmat(:,1)'; xmat(:,4)'; ys ]))/length(ys);
b8 =sum (prod ([ xmat(:,2)'; xmat(:,3)'; ys ]))/length(ys);
b9 =sum (prod ([ xmat(:,2)'; xmat(:,4)'; ys ]))/length(ys);
b10=sum (prod ([ xmat(:,3)'; xmat(:,4)'; ys ]))/length(ys);
b11=sum (prod ([ xmat(:,1)'; xmat(:,2)'; xmat(:,3)'; ys ]))/length(ys);
b12=sum (prod ([ xmat(:,1)'; xmat(:,2)'; xmat(:,4)'; ys ]))/length(ys);
b13=sum (prod ([ xmat(:,1)'; xmat(:,3)'; xmat(:,4)'; ys ]))/length(ys);
b14=sum (prod ([ xmat(:,2)'; xmat(:,3)'; xmat(:,4)'; ys ]))/length(ys);
b15=sum (prod ([ xmat(:,1)'; xmat(:,2)'; xmat(:,3)'; xmat(:,4)';ys ]))/length(ys);
disp('Коэффициенты неполноквадратичного уравнения:');
b0
bq=[b b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15]
disp ('Дисперсия ошибки коэффициентов bj:');
Dbj=sd/(length(ys)*3) %Нахождение дисперсии ошибки определения bj
disp ('Коэффициенты Стьюдента:'); %Нахождение коэффициентов Стьюдента
tk=abs(bq)/sqrt(Dbj) %для проверки на статистическую значимость
disp ('Критерий = 2.036'); %коэффициентов регрессии.
disp ('Следующие коэффициенты незначимы:');
for i=1:length(tk)
if tk(i)<2.036 %Проверка на соответствие критерию Стьюдента
disp (strcat(num2str(i),','));
bq(i)=0; %Обнуление незначимых коэффициентов
end
end
disp ('Предсказанные результаты:');
ypq=b0+xmat*b';
for i=1:length(xmat)
ypq(i)=ypq(i)+bq(5)*xmat(i,1)*xmat(i,2)+bq(6)*xmat(i,1)*xmat(i,3)+bq(7)*xmat(i,1)*xmat(i,4)+bq(8)*xmat(i,2)*xmat(i,3)+bq(9)*xmat(i,2)*xmat(i,4)+bq(10)*xmat(i,3)*xmat(i,4)+bq(11)*xmat(i,1)*xmat(i,2)*xmat(i,3)+bq(12)*xmat(i,1)*xmat(i,2)*xmat(i,4)+bq(13)*xmat(i,1)*xmat(i,3)*xmat(i,4)+bq(14)*xmat(i,2)*xmat(i,3)*xmat(i,4)+bq(15)*xmat(i,1)*xmat(i,2)*xmat(i,3)*xmat(i,4);
end
ypq %%Результат, полученный по неполноквадратичному уравнению
disp ('Проверка адекватности');
Dad=sum ((ys-ypq').^2)*1/(length(ys)-8) %Вычисление дисперсии неадекватности
sd
if (Dad<sd)
disp('Адекватно...');
else
disp('Не адекватно...');
end
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.