Краткие теоретические сведения Рассмотрим задачу оценивания функциональной зависимости по выборке некоррелированных и равноточных измерений этих переменных , в случае, когда уравнение этой зависимости представляет собой функцию, линейную относительно параметров:
.
В матричной форме это уравнение имеет вид
,
где – вектор параметров модели; – вектор линейно-независимых базисных функций. Также введем следующие матрицы:
, ,
где – матрица, составленная из базисных функций, рассчитанных в выборочных значениях независимой переменной; H – вектор выборочных значений зависимой переменной.
Подставляя в матричное уравнение поочередно все элементы выборки, получим несовместную систему уравнений:
Выполним преобразование, умножив левую и правую части уравнения на
.
Это уравнение носит называние нормального уравнения.
Вектор параметров модели является решением нормального уравнения:
Вектор также можно получить, решая задачу минимизации критериальной функции – среднего квадрата отклонения выборочных значений от значений модели, рассчитанных в выборочных точках .
Указания к выполнению
Рассмотрим задачу определения линейных коэффициентов модели методом МНК для функциональной зависимости , заданной случайной выборкой:
,
где , …, ; Здесь компоненты вектора случайной помехи некоррелированы и распределены по нормальному закону со следующими параметрами:
Структура модели имеет вид
Для построения модели МНК средствами MATLAB следует набрать и выполнить приведенный ниже скрипт (при этом необходимо обращать внимание на комментарии):
% Закрыть все существующие окна с графиками
close all;
% Задание выборочных значений на основе истинной
% квадратичной зависимости
% с аддитивной нормальной помехой с СКО = 0.7,
% приложенной к выходу
U = [0:0.5:4]';
X = U.^2 + randn(size(U))*0.7;
% Расчет оптимального вектора коэффициентов методом МНК
% с использованием встроенной функции
A1 = polyfit(U,X,2)
% Задание матрицы значений базисных функций в выборочных % точках
F = [U.^2, U.^1, U.^0];
% Расчет оптимального вектора коэффициентов методом МНК
% непосредственным решением матричного уравнения
A2 = inv(F'*F)*F'*X
% Задание вектора значений входной величины модели
U1 = (0:0.1:4);
% Расчет выходной величины модели МНК
X1 = polyval(A1,U1);
% Создание нового графика
% и включение режима рисования нескольких графиков на одном % поле
figure;
hold on;
% Вычисление среднеквадратического отклонения модели % относительно выборки
MSE = var(X-polyval(A1,U));
% Отображение модели МНК, выборочных значений и величины % СКО
plot(U1,X1,'LineWidth',1);
plot(U,X,'o','MarkerSize',5,'MarkerFaceColor','r','MarkerEdgeColor','r');
text(0.5,5,strcat('MSE = ',num2str(MSE)));
В результате выполнения программы будут получены оптимальные векторы параметров и , которые затем отобразятся в окне Command Window. Выборочные значения и модель МНК в диапазоне изменения входной величины от 0 до 4 выводятся на графике в окне Figure 1 (рис. 1).
Рис. 1. Графическое представление выборки и модели МНК
Порядок выполнения работы
1. Создать новый скрипт MATLAB.
2. Сгенерировать случайную выборку значений входной и выходной величин, задав истинную характеристику объекта, а также случайную аддитивную помеху, приложенную к выходу и распределенную по известному закону.
3. Выбрать систему базисных функций и порядок уравнения модели.
4. Оценить параметры модели с использованием линейного метода наименьших квадратов.
5. Отобразить выборочные значения и выход модели на одном и том же графике, пользуясь возможностями графического вывода в системе MATLAB.
6. Рассчитать среднеквадратическую ошибку построенной модели.
7. Сделать выводы и оформить отчет о выполнении работы.
Задания для самоподготовки
1. Выведите и решите систему уравнений, составленных в соответствии с необходимым условием существования минимума для критерия МНК.
2. Изучив учебную и научную литературу, приведенную в библиографическом списке, дайте определение системы ортогональных функций. Объясните, какие преимущества дает применение системы ортогональных базисных функций в методе МНК.
3. Используя справочную систему MATLAB/Satistics Toolbox, найдите функцию, реализующую закон распределения Стьюдента. В программе осуществите распределение случайной добавки по закону Стьюдента.
4. Исследуйте поведение дисперсии ошибки модели в зависимости от объема исходной выборки. Объясните найденные закономерности.
Лабораторная работа 4
|