Меры погрешности аппроксимации

Мерой погрешности назовем некоторое неотрицательное число m(f,Q). Естественно потребовать, чтобы m(f,Q)=0, если f(x) и Q(x,cj) совпадают на общем для их задания множестве значений аргументов. Справедливо и обратное утверждение.

После того, как мера каким-либо образом задана, необходимо указать способ получения коэффициентов сj. Для поиска коэффициентов можно воспользоваться минимаксным подходом, который осуществляет равномерное приближение функций, методом наименьших модулей, методом наименьших квадратов и другими.

Метод наименьших квадратов

Чаще всего при точечной аппроксимации используют меру

Меры погрешности аппроксимации - student2.ru (2.2)

а коэффициенты сj ищут из условия

Меры погрешности аппроксимации - student2.ru (2.3)

Это точечная квадратичная аппроксимация.

При интегральной аппроксимации

Меры погрешности аппроксимации - student2.ru

Меры погрешности аппроксимации - student2.ru

Описанный подход к задаче аппроксимации называется методом наименьших квадратов. Условия (2.2) и (2.3) геометрически означают: из всех кривых заданного вида выбирают ту, у которой сумма площадей квадратов отклонений – наименьшая.

В математике кривую y=Q(x,cj) называют регрессией Y на X . Это означает, что у функции y=Q(x,cj) число искомых коэффициентов меньше количества узлов, в крайнем случае возможно равенство

n+1£m+1 (2.4)

Если аргументом считать y, а x – функцией, то говорят о регрессии X на Y. Отклонения в этом случае откладывают по оси X.

Меры погрешности аппроксимации - student2.ru

Регрессия Y на X

Меры погрешности аппроксимации - student2.ru

Регрессия X на Y

2.2 Нахождение коэффициентов cj при точечной аппроксимации методом наименьших квадратов

Минимальное значение K в формуле (2.2) достигается при тех сj , при которых

Меры погрешности аппроксимации - student2.ru (2.5)

Меры погрешности аппроксимации - student2.ru (2.6)

Здесь xi и yi – заданные числа.

Пример: построить аппроксимирующую параболу для функции

x
y -1,2 -0,1 1,3 1,8

Составим таблицу

Меры погрешности аппроксимации - student2.ru

Запишем систему нормальных уравнений для нашей кривой.

Меры погрешности аппроксимации - student2.ru или Меры погрешности аппроксимации - student2.ru

Решая систему, получаем:

Меры погрешности аппроксимации - student2.ru или Меры погрешности аппроксимации - student2.ru

Вычисляя K по формуле (2.9), получаем: K=0,0720. У любой параболы второй степени значение K, вычисленное по формуле (2.9), будет больше, чем 0,0720.

Неполиномиальная регрессия

Часто на практике возникает следующая задача. Имеется объект исследования (ОИ), который характеризуется набором переменных: входных ( Меры погрешности аппроксимации - student2.ru ) и выходной y.

Меры погрешности аппроксимации - student2.ru

Требуется найти зависимость выходной переменной от входных

Меры погрешности аппроксимации - student2.ru ( 2.7 )

При этом считается, что механизмы процессов, протекающих внутри объекта исследования, неизвестны, а имеются только соответствующие значения входных и выходных параметров. Такая задача носит название задачи «черного ящика».

Рассмотрим простейший случай, когда на вход действует только одна переменная x и требуется найти

Меры погрешности аппроксимации - student2.ru ( 2.8 )

Решение задачи моделирования в этом случае состоит из 4 этапов:

1) проведение эксперимента

2) выбор вида экспериментальной зависимости

3) нахождение параметров выбранной зависимости

4) исследование модели и выводы.

На первом этапе задаем значения входной переменной x из возможного диапазона и замеряем соответствующие значения выходной переменной y.

x x0 x1 xm
y y0 y1 ym

По экспериментальным данным строим график

 
  Меры погрешности аппроксимации - student2.ru

Рис. 2.2 Экспериментальная кривая

На втором этапе необходимо выбрать формулу, которая могла бы описать экспериментальные данные. Во втором столбце таблицы 2.1 приведены основные типовые формулы, наиболее часто встречающиеся в задачах химии и химической технологии.

Таблица 2.1

Формула Средние точки
Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru
Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru
Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru
Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru
Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru
Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru

Здесь х0, y0 – первая, а хm , ym – последняя точки исходной таблицы.

Для каждой функции рассчитывается средняя точка. Все эти точки наносятся на график с экспериментальной кривой.

Выбирается та кривая, средняя точка которой находится ближе всего к экспериментальной кривой. Покажем, как решается эта часть задачи на конкретном примере.

Пусть x=[5 7 9 11 13];y=[2.5 4.9 8 12.1 16.9];

Тогда

xap =(5+13)/2=9

xgео =(5*13)^0.5= 8.06

xgar =2*5*13/(5+13)= 7.22

yap =(2.5+16.9)/2= 9.7

ygeo = (2.5*16.9)^0.5= 6.5

ygar = 2*2.5*16.9/(2.5+16.9)= 4.36

Средняя точка для первой кривой –(8.06, 6.5)

Средняя точка для второй кривой –(9, 6.5)

Средняя точка для третьей кривой –(9, 4.36)

Средняя точка для четвертой кривой –(8.06, 9.7)

Средняя точка для пятой кривой –(7.22, 9.7)

Средняя точка для шестой кривой –(7.22, 4.36)

Нанесем на график исходные данные (х и у) и соединим соседние точки отрезками прямых. На этот же график нанесем средние точки для каждой кривой, снабдив их соответствующими номерами.

Меры погрешности аппроксимации - student2.ru

Эту часть задачи можно решить, построив график на Scilab.

clc

xbasc()

x=[5 7 9 11 13];y=[2.5 4.9 8 12.1 16.9];

n=length(x);

xap=(x(1)+x(n))/2

xgar=2*x(1)*x(n)/(x(1)+x(n))

xgeo=(x(1)*x(n))^.5

yap=(y(1)+y(n))/2

ygar=2*y(1)*y(n)/(y(1)+y(n))

ygeo=(y(1)*y(n))^.5

t=[xgeo xap xap xgeo xgar xgar]

z=[ygeo ygeo ygar yap yap ygar]

plot(x,y)

plot(t,z,'*')

for i=1:6

xnumb(t(i),z(i),i)

end

Из графика видно, что ближе всего к экспериментальной кривой лежит точка с номером 1, поэтому таблично заданную функцию будем заменять первой кривой Меры погрешности аппроксимации - student2.ru .

Приведем полученную кривую к линейному виду.

Кривую Меры погрешности аппроксимации - student2.ru (как и любую другую из таблицы 2.1) приводят к линейному виду (то есть к виду Меры погрешности аппроксимации - student2.ru ) заменой переменных. Меры погрешности аппроксимации - student2.ru В этом случае g=lny, c0=lna, c1=b, t=lnx.

Коэффициенты (параметры) с0 и с1 находят методом наименьших квадратов, то есть добиваются того, чтобы Меры погрешности аппроксимации - student2.ru было минимальным. Эта задача сводится к решению системы нормальных уравнений:

Меры погрешности аппроксимации - student2.ru или Меры погрешности аппроксимации - student2.ru

В нашем примере получается система:

Меры погрешности аппроксимации - student2.ru Меры погрешности аппроксимации - student2.ru

Решая ее, получаем с0=- 2.294 с1= 1.995

Зная с0 и с1 , находят a и b. В нашем примере

Меры погрешности аппроксимации - student2.ru

Таким образом, мы заменили таблично заданную функцию кривой Меры погрешности аппроксимации - student2.ru .

Подставляя в полученную формулу с конкретными значениями a и b значения x0, x1, … , xm и сравнивая их с исходными данными, делают выводы об адекватности математической модели.

В нашем случае модель получилась адекватной.

x y Меры погрешности аппроксимации - student2.ru
2.5 2.480
4.9 4.853
8.011
12.1 11.956
16.9 16.685

Решим эту часть задачи на scilab.

Решение.

Меры погрешности аппроксимации - student2.ru . Покажем, как найти неизвестные коэффициенты a и b на Scilab.

clc

xbasc()

function [zr]=F(c,z)

zr=z(2)-(c(1)*z(1)^c(2))

endfunction

x=[5 7 9 11 13];

y=[2.5 4.9 8 12.1 16.9];

z=[x;y];

c=[1;1];

[d,S]=datafit(F,z,c)

t=5:.01:13;

Yt=(d(1)*t^d(2));

plot2d(x,y,-3);

plot2d(t,Yt);

S = 0.0067979

d = 0.0973802 2.0102774

В ответе d(1)= 0.0973802 это a, d(2)= 2.0102774 это b.

Таким образом, уравнение кривой, полученной на scilab, Меры погрешности аппроксимации - student2.ru

Меры погрешности аппроксимации - student2.ru

x y Меры погрешности аппроксимации - student2.ru
2.5 2.464
4.9 4.846
8.032
12.1 12.022
16.9 16.819

Тема 3. Интерполяция

Интерполяция – частный случай аппроксимации, когда аппроксимирующая кривая проходит через все точки таблицы, то есть

Меры погрешности аппроксимации - student2.ru (3.1)

Задача интерполяции ставится так:

Функция y=f(x) задана в виде таблицы

x x0 x1 xm
y y0 y1 ym

Требуется вычислить значение функции в точке x, не совпадающей ни с одним из узлов таблицы. Если эта точка лежит между узлами, то такая задача называется интерполяцией. Если точка x лежит за пределами таблицы, то говорят о задаче экстраполяции.

Очевидно, что коэффициенты сj можно найти методом наименьших квадратов, положив n=m.

Рассмотрим другие способы решения этой задачи.

Интерполяция по Лагранжу

Построим полином

Меры погрешности аппроксимации - student2.ru (3.2)

Выражение (3.2) – алгебраический полином степени n. Покажем, что он проходит через все точки таблицы при n=2 и n=3.

Меры погрешности аппроксимации - student2.ru

Меры погрешности аппроксимации - student2.ru ; Меры погрешности аппроксимации - student2.ru ; Меры погрешности аппроксимации - student2.ru ;

Меры погрешности аппроксимации - student2.ru

Меры погрешности аппроксимации - student2.ru

Выражение (3.2) – интерполяционный полином Лагранжа, проходящий через все точки таблицы. Теперь, чтобы найти значение функции в некоторой точке x* , которой нет в таблице, достаточно подставить эту точку вместо x в формулу (3.2) и считать, что

y*=Ln(x*) (3.3) Меры погрешности аппроксимации - student2.ru

Наши рекомендации