Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задание по разделу метод наименьших квадратов

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 3

 

Тема занятия: Аппроксимация функций

Общая теория аппроксимация функции

 

Определение 3.1. Аппроксимацией (приближением) функции называется замена заданной функции некоторой функцией так, чтобы отклонение функции Ф(x) от f (x) в заданной области было в том или ином смысле наименьшим. Функция при этом называется а ппроксимирующей.

Типичными задачами аппроксимации функции являются задачи интерполяции, а так же приближение функции по методу наименьших квадратов.

 

3.1. Интерполяция

Постановка задачи интерполяции.

Простейшая задача интерполяции заключается в следующем. На отрезке [ a, b ] заданы n + 1 точки xi = х 0, х 1 ,..., хn, которые называются узлами интерполяции, и значения некоторой функции f (x) в этих точках

 

(3.1)

 

Определение 3.2. Функцию Ф(х) называется интерполирующей, если она принадлежит известному классу и принимает в узлах интерполяции те же значения, что и f (x), т. е.

 

(3.2)

 

Геометрически это означает, что нужно найти кривую y = Ф(х) некоторого определенного типа, проходящую через заданную систему точек

M(xi, yi) (i = 0, 1 ,..., n) (рис. 3.1.).

 

Рис. 3.1.

 

Задача становится однозначной, если вместо произвольной функции Ф(х) искать полином Pn (х) (интерполяционный полином) степени не выше n, удовлетворяющий условиям (3.2). Полученный полином Pn (х) обычно используют для приближенного вычисления значений данной функции на промежутке . Такая операция называется интерполяцией функции. Если полином используется для вычисления значений функции вне промежутка , то такая операция называется экстраполяцией.

Замечание 3.1. Выбор того или иного вида интерполяционной схемы зависит от конкретной ситуации.

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

2. Если требование гладкости не является существенным, то вполне можно ограничиться классическими интерполяционными полиномами Лагранжа по двум (линейным), трем (квадратичным) или четырем (кубическим) ближайшим точкам.

Глобальная интерполяция полиномами Лагранжа

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

Пусть на отрезке [ a, b ] даны n + 1 различных значений аргумента: x0 , x1,..., xn и известны для функции соответствующие значения выражений

 

f (x 0) = y 0, f (x 1) = y 1 ,..., f (xn) = yn. (3.3)

 

Требуется построить полином Ln (x) степени не выше n, имеющий в заданных узлах x 0, x ,..., xn те же значения, что и функция f (х), т. е. тaкой, что Ln (xi) = yi (i = 0, 1 ,..., n).

Интерполяционный полином в форме Лагранжа имеет вид

 

. (3.4)

 

Пример 3.1. Положим n = 1. Ясно, что мы имеем в этом случае две точки и интерполяционная формула Лагранжа дает уравнение прямой, проходящей через две заданные точки.

 

.

 

Пример 3.2. Пусть заданы значения

 

Xi   0,5          
Yi 2,5 4,3 5,6 6,7 8,1 10,3.  

 

Определить значение неизвестной функции Y (x) в точке х =6,5, используя кубический полином Лагранжа.

Для повышения точности интерполяции, выберем четыре точки расположенные рядом с точкой х =6,5. То

 

 

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

 

 

После подстановки заданных значений в формулу Лагранжа получаем:

 

Определим значение L 3 (х) при х = 6,5:

 

 

Локальная интерполяция

Кусочно-полиномиальная интерполяция

В общем случае, когда число точек больше n +1, для вычисления значения функции можно использовать полином Лагранжа степени n, выбирая для построения полинома n +1 ближайших узлов (“бегущий полином”).

На рис. 3.4 приводятся графики кусочно-постоянной, кусочно-кубической интерполяции полиномами Лагранжа.

 

Кубическая сплайн-интерполяция

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

Определение 3.3. Для каждого отрезка , функция сплайн-интерполяции S(x) имеет вид

 

(3.5)

 

где ,

hi=xi+1-xi,

fi(x)=y(x),

,

yi =Fi(t),

i = 1,2,…,n.

n - число узлов.

При известных xi, yi, mi эта формула задает сплайн-аппроксимацию: кусочно-кубические полиномы, непрерывные вместе со своими производными первого и второго порядка. Если потребовать выполнение условия непрерывности вторых производных, то выражение (3.5) для кубических полиномов-сплайнов приведет к системе линейных уравнений, из которых находятся mi - приближенные значения вторых производных в точке i:

 

(3.6)

 

MathCAD поставляется с тремя сплайн-функциями:

cspline( X,Y)

 

pspline (X,Y)

 

lspline (X,Y)

 

Они возвращают вектор коэффициентов вторых производных mi, который мы будем называть M. Этот вектор M обычно используется в функции interp, описанной ниже. Значения вектора X должны быть расположены в порядке возрастания.

Эти три функции отличаются только граничными условиями:

· функция lspline генерирует кривую сплайна, которая приближается к прямой линии в граничных точках;

· функция pspline генерирует кривую сплайна, которая приближается к параболе в граничных точках.

· функция cspline генерирует кривую сплайна, которая может быть кубическим полиномом в граничных точках.

Функцияinterp (X,Y,M,t)возвращает интерполируемое значение S (t) соответствующее аргументу t по формуле ( 3.6 ). Вектор M вычисляется на основе векторов данных X и Y одной из функций pspline, lspline или cspline.

Чтобы провести кубический сплайн через набор точек:

1. Создайте векторы X и Y, содержащие координаты xi и yi, i = 1, 2,…, n, через которые нужно провести кубический сплайн. Элементы X должны быть расположены в порядке возрастания.

2. Вычислите вектор

 

M:=cspline(X,Y)

 

Вектор M содержит вторые производные интерполяционной кривой в рассматриваемых точках;

3.Чтобы найти интерполируемое значение в произвольной точке t, вычислите interp(X,Y,M,t), где X,Y,M - векторы, описанные ранее.

 

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

 

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

3.2.1 Линейная регрессия в системе Mathcad

Линейная регрессия в системе Mathcad выполняется по векторам аргумента и отсчетов функциями:

intercept (X,Y) – вычисляет параметр а, смещение линии регрессии по вертикали;

slope (X,Y) – вычисляет параметр b, угловой коэффициент линии регрессии.

Расположение отсчетов по аргументу Х произвольное.

Функцией corr(X,Y) дополнительно можно вычислить коэффициент корреляции Пирсона. Чем он ближе к 1, тем точнее обрабатываемые данные соответствуют линейной зависимости.

 

Пример выполнения линейной регрессии приведен на рис. 3.2.

 

Рис. 3.2.

3.2.2. Полиномиальная регрессия

Одномерная полиномиальная регрессия с произвольной степенью n полинома и с произвольными координатами отсчетов в Mathcad выполняется функциями:

regress (X,Y,n) – вычисляет вектор S для функции interp(…), в составе которого находятся коэффициенты ki полинома n -й степени;

cinterp (S, X, Y, x) – возвращает значения функции аппроксимации по координатам х.

Функция interp(…) реализует вычисления по формуле:

f(x) = k0 + k1·x1 + k2·x2 + … + kn·xn ki·xi.

Значения коэффициентов ki могут быть извлечены из вектора S функцией submatrix (S, 3, length(S), 0, 0).

На рис. 3.3. приведен пример полиномиальной регрессии с использованием полиномов 2, 3 и 8-й степени. Степень полинома обычно устанавливают не более 4-6 с последовательным повышением степени, контролируя среднеквадратическое отклонение функции аппроксимации от фактических данных. Нетрудно заметить, что по мере повышения степени полинома функция аппроксимации приближается к фактическим данным, а при степени полинома, равной количеству отсчетов данных минус 1, вообще превращается в функцию интерполяции данных, что не соответствует задачам регрессии.

 

Рис. 3.3. Одномерная полиномиальная регрессия

3.2.3. Типовые функции регрессии Mathcad

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

Для простых типовых формул аппроксимации предусмотрен ряд функций регрессии, в которых параметры функций подбираются программой Mathcad самостоятельно. К ним относятся следующие функции:

expfit(X,Y,S) – возвращает вектор, содержащий коэффициенты a, b и c экспоненциальной функции y (x) = a ·exp(b·x)+ c. В вектор S вводятся начальные значения коэффициентов a, b и c первого приближения. Для ориентировки по форме аппроксимирующих функций и задания соответствующих начальных значений коэффициентов на рисунках слева приводится вид функций при постоянных значениях коэффициентов a и c.

lgsfit(X,Y,S) – то же, для выражения y (x) = a /(1+ c ·exp(b·x)).

 

pwrfit(X,Y,S) – то же, для выражения y (x) = a·xb+c.

sinfit(X,Y,S) – то же, для выражения y (x) = sin (x+b)+c. Подбирает коэффициенты для синусоидальной функции регрессии. Рисунок синусоиды общеизвестен.

logfit(X,Y ) – то же, для выражения y(x)=a·ln(x+b)+c. Задания начального приближения не требуется.

medfit(X,Y) – то же, для выражения y (x) = a+b·x, т.е. для функции линейной регрессии. Задания начального приближения также не требуется. График – прямая линия.

На рис. 3.6 приведен пример реализации регрессии экспоненциального вида: Y (t) =a*e**b*t+c, а также вычисляются отклонения исходных значений функции от кривой регрессии в каждой точке и величина среднеквадратичного отклонения.

 

3.3. Контрольные вопросы

 

1) Что такое аппроксимация функций?

2) Какие виды аппроксимации вам известны

3) Для чего нужна интерполяция функций?

4) Что такое экстраполяция?

5) Охарактеризуйте виды интерполяции.

6) Сколько интерполяционных полиномов можно построить при заданном наборе узлов интерполяции?

7) Чем обуславливается выбор способов интерполяции?

8) Какие методы локальной интерполяции вам известны?

9) Какой из них наименее точный?

10) Какой метод локальной интерполяции проводится по трем точкам?

11) В чем преимущества сплайн-интерполяции по сравнению с интерполяционными полиномами?

12) Какая функция MathCAD реализует линейную интерполяцию?

13) Какие функции кубической сплайн-интерполяции вам известны, охарактеризуйте последовательность их использования?

14) Объясните разницу между глобальной и кусочно-полиномиальной интерполяцией на примере cплайн-функции.

15) Исправьте ошибки, допущенные программой Mathcad, на графиках функций на рисунках 3.5 (слева и справа).

16) В чем сущность метода наименьших квадратов?

17) Какие функции MathCAD реализует линейную аппроксимацию методом наименьших квадратов?

18) Какой диапазон изменения значений коэффициента корреляции?

19) Что такое эмпирическая формула и как ее подобрать?

20) Перечислите типовые функции регрессии.


3.4. Компьютерный практикум

 

Рис. 3.4. Пример кусочно-линейной, кубической и сплайн-интерполяции.

Рис. 3.5. Графики производных кусочно-линейной, кубической и сплайн-функции. Исходные функции взяты из примера на рис. 3.2.

 

Из рис.3.3 видно, что только график производной сплайн-функции является гладким. На рис 3.3 слева неточность: график производной кусочно- постоянной функции D(L(t)), в точках, где производная не существует, программой Mathcad нарисован в виде вертикальных отрезков прямых.

Рис. 3.6. Регрессия экспоненциального вида: Y (t)= aebt+c.

 

3.5. Варианты заданий для самостоятельной работы

 

3.5.1. Задание по разделу интерполяция функции

1. Построить графики кусочно-постоянной, кубической и сплайн —интерполяции для таблично заданной функции. Данные взять из таблицы 1.

2. Построить графики производных кусочно-постоянной, кубической и сплайн-интерполяции для таблично заданной функции. Данные взять из таблицы 1.

3. Записать в общем виде формулу для вычисление значения X для X3<X<X4 , в случае кусочно-постоянной, кусочно-кубической и сплайн –интерполяции.

4. Укажите на графике точки, в которых нарушается дифференцируемость функций.

 

Пример выполнения задания представлен на рисунках 3.2, 3.3.

 

Задание по разделу метод наименьших квадратов

1. Найти точечные оценки для параметров моделей

, (3.7)

, (3.8)

, (3.9)

, (3.10)

, (3.11)

, (3.12)

. (3.13)

 

2. Найти среднеквадратичное отклонение и максимум модуля разности для каждой модели, построить графики. Выяснить — какая модель является наилучшей в смысле минимального среднеквадратичного отклонении, а какая модель является наилучшей в смысле минимального по модулю отклонения.

Данные взять из таблицы 3.1.

3.Записать в общем виде формулу для вычисление значения y(x) — для модели заданной выражениями 3.7—3.13.

4. Подготовьте ответы на вопросы:

1) В чем сущность метода наименьших квадратов?

2) Какие функции MathCAD реализует линейную аппроксимацию методом наименьших квадратов?

3) Какой диапазон изменения значений коэффициента корреляции?

4) Что такое эмпирическая формула и как ее подобрать?

5) Перечислите типовые функции регрессии.

5. Пример выполнения задания представлен на рисунках 3.4, 3.5, 3.6.

Табличные значения функции (Xi,Yi), i= 0. ..N

Вариант – NN Таблица 3.1

Xi 0.53 1.1 1.4 2.57 CC 2.8 3.7 4.5
Yi BB 0.33 1.0 1.7 0.0 3.4 4.1 NN

 

где NN - номер варианта;

CC – число, которое выбирается студентом самостоятельно;

BB – число, которое задается преподавателем.

Отчет должен содержать протокол выполнения задания и ответы на вопросы.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...