Сглаживающий сплайн (Smoothing Spline) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сглаживающий сплайн (Smoothing Spline)



 

Хотя сглаживающий сплайн и относят к непараметрическим моделям, тем не менее он содержит задаваемый пользователем параметр. Сглаживающий сплайн определяется как сплайн, который минимизирует следующий функционал, зависящий так же и от некоторого параметра p.

где

(x k, y k) k=1,2,...,n - приближаемые данные;

w k - веса данных (если они не были заданы, то принимаются равными единице);

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

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

которое  отвечает за прохождение сплайна через заданные точки.  При p = 1 сглаживающий сплайн превращается в обыкновенный кубический сплайн.

На практике при применении сглаживающего сплайна часто значение сглаживающего параметра выбирают примерно равным

где h - среднее расстояние между точками, в которых определены приближаемые данные.

Значения сглаживающего параметра задаются в диалоговом окне (Рис. 15)

Рис. 15 Задание параметра для сглаживающего сплайна

На рисунке ниже приведены сглаживающие сплайны для нескольких различных значений сглаживающего параметра p=1 (то же, что и кубический сплайн), p=0.9 (сглаживающий сплайн), p=0 (линейная функция, приближающая данные в смысле наименьших квадратов).

Создание собственной параметрической модели

Кроме предопределенных моделей, описанных в предыдущем пункте Стандартные параметрические и непараметрические модели, пользователь приложения cftool имеет возможность создавать собственные модели, в которые искомые параметры входят как линейно, так и нелинейно. Для создания собственной модели следует в окне выбора модели выбрать пункт Custom Equations (Рис. 16)

Рис. 16 Вид области окна управления моделями при выборе Custom Equations

 

В области окна управления моделями можно выделить две области

1. Область задания имен зависимых (y) и независимых (x) переменных (другими словами определение вида функции).

2. Область задания  параметрической модели путем последовательного добавления функции при искомых коэффициентах. Для добавления каждой следующей функции требуется нажать клавишу <Enter>.

Пусть, например, требуется создать параметрическую модель

Рис. 17 Создание параметрической модели a1.*x*exp(-x)+a2.*exp(-x)+a3

Формулы набираются в соответствии с правилами MATLAB с использованием знаков +, -, *, /, ^ (возведение в степень) для арифметических операций, круглых скобок для изменения их приоритета и встроенных математических функций, список которых можно получить, задав в командном окне MATLAB команду 

>> help elfun

В следующей таблице приведены наиболее часто используемые функции

Тригонометрические функции (аргумент задается в радианах)

sin, cos, tan, cot Синус, косинус, тангенс и котангенс
sec, csc Секанс, косеканс

Обратные тригонометрические функции (результат вычисляется в радианах)

asin, acos, atan, acot Арксинус, арккосинус, арктангенс и арккотангенс
asec, acsc Арксеканс, арккосеканс

Гиперболические функции

sinh, cosh, tanh, coth Гиперболические синус, косинус, тангенс и котангенс
sech, csch Гиперболические секанс и косеканс
asinh, acosh, atanh, acoth Гиперболические арксинус, арккосинус, арктангенс и арккотангенс

Экспоненциальная функция, логарифмы, степенные функции

Exp Экспоненциальная функция
log, log2, log10 Натуральный логарифм, логарифмы по основанию 2 и 10
Sqrt Квадратный корень

Модуль, знак

abs, sign Модуль и знак числа

 

После набора формулы модели и нажатия кнопки Fit (команды на исполнение), окно Curve Fitting Toolbox будет иметь вид (Рис. 18).

 

Рис. 18 Вид рабочей области окна Curve Fitting Toolbox после выполнения приближения с использованием созданной модели a1.*x*exp(-x)+a2.*exp(-x)+a3

Приведем пример того, что начальное приближение к искомым параметрам играет большую роль при подборе параметров в нелинейной модели. В командном окне введем следующие данные в глобальные переменные x и y рабочей среды:

>> x=0:0.1:3;

>> y=exp(-2*x.^2).*sin(4*x.^2)+exp(-x.^2).*sin(x)+0.01*rand(size(x));

Далее импортируем их в приложение cftool так, как описано выше (рис. 6). В окне Fitting создадим новое приближение с именем Mainfit 1 и определим следующую нелинейную параметрическую модель

введя выражение

exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x)

в окне задания модели пользователя (Рис. 19)

 

Рис. 19 Задание модели exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x)

 Установим в качестве начальных приближений для параметров следующие значения

a=5    b=5      c=5      d=5

Для корректировки начальных приближений нужно открыть закладку < Fit Options > (Рис. 20).

Рис. 20 Корректировка коэффициентов модели начальных приближений   

Далее закрываем окно корректировки начальных приближений для параметров и запускаем процесс приближения данных заданной нами моделью, нажав кнопку < Fit >.

 Получается хорошее приближение (см. рис. 21). Теперь создадим еще одно приближение с именем Mainfit2 с той же самой параметрической моделью и установим другие начальные приближения для параметров

а = -0,1

b = 0,1

c = 0,1

d = 0,1

Результаты приближения с такими параметрами представлены на Рис.22.

Рис. 21 Вид рабочей области окна Curve Fitting Toolbox после выполнения приближения с использованием созданной модели exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x) и коэффициентов начальных приближений a=b=c=d=5

Рис. 22 Вид рабочей области окна Curve Fitting Toolbox после выполнения приближения с использованием созданной модели exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x) и коэффициентов начальных приближений a=-0,1 b=0,1 c=0,1 d=0,1

Результаты для одной и той же параметрической модели с различными начальными значениями параметров отличаются друг от друга.

 



Поделиться:


Последнее изменение этой страницы: 2022-09-03; просмотров: 44; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.174.168 (0.009 с.)