Сглаживающий сплайн

Материал из testwiki
Перейти к навигации Перейти к поиску

Сглаживающий сплайн (Шаблон:Lang-en) — оценка функции f^(x), полученная из набора зашумлённых наблюдений yi за исходными данными f(xi) и используемая в дальнейших вычислениях для балансировки адекватности модели функции f^(xi) к yi с основанной на производной мере кривизной функции f^(x). Иными словами, сглаживающий сплайн является важным средством при работе с зашумленными данными типа xi, yi. Наиболее известным видом сглаживающего сплайна является кубический сплайн.

Определение кубического сплайна

Пусть (xi,Yi);x1<x2<<xn,i — последовательность наблюдений, порождённых выражением Yi=μ(xi). Приближение сглаживающими сплайнами μ^ функции μ определяется как функция (в классе дважды дифференцируемых функций), минимизирующая[1]

i=1n(Yiμ^(xi))2+λx1xnμ^(x)2dx.

Замечания:

  1. λ0 параметр сглаживания, контролирующий соотношение между точностью воспроизведения данных и «неровностью» аппроксимирующей функции.
  2. интеграл вычисляется по всему диапазону xi.
  3. при λ0 (нет сглаживания), сглаживающий сплайн превращается в интерполяционный сплайн.
  4. при λ (бесконечное сглаживание), штраф за неровность становится преобладающим и аппроксимация превращается в линейную МНК аппроксимацию.
  5. наиболее часто в современной статистической литературе используется штраф за неровность на основе второй производной, однако метод может быть легко адаптирован к использованию штрафов на основе других производных.
  6. в ранней литературе, с равноудалёнными xi, для вычисления штрафа вместо производной использовались конечные разности второго и третьего порядка.
  7. если сумму квадратов отклонений сплайна от исходных данных (первый член функционала) заменить на логарифм функции правдоподобия, получим оценку максимального правдоподобия со штрафной функцией. В такой постановке обычный сглаживающий сплайн представляет собой специальный случай, когда правдоподобие рассчитывается исходя из нормального распределения погрешности.

Вывод кубического сглаживающего сплайна

Шаблон:Стиль раздела Разделим нахождение выражений, описывающих сглаживающий сплайн, на два этапа:

  1. Сначала найдём значения μ^(xi);i=1,,n.
  2. Из этих значений найдём μ^(x) для всех x.

Начнём со второго этапа:

Дан вектор m^=(μ^(x1),,μ^(xn))T «подогнанных» значений; сумма квадратов в критерии сплайна — константа. Требуется только минимизировать μ^(x)2dx, и минимизация — натуральный кубический сплайн, интерполирующий точки (xi,μ^(xi)). Данный интерполяционный сплайн — линейный оператор — может быть представлен в виде:

μ^(x)=i=1nμ^(xi)fi(x),

где fi(x) — набор базисных сплайн-функций. В результате штраф за отсутствие у функции признака гладкости имеет форму

μ^(x)2dx=m^TAm^,

где элементы A — fi(x)fj(x)dx. Базисные функции и матрица A зависят от конфигурации независимых переменных xi, но не от Yi или m^.

Возвращаясь к первому этапу, взвешенная сумма квадратов может быть записана так:

Ym^2+λm^TAm^,

где Y=(Y1,,Yn)T. минимизация по m^ даёт

m^=(I+λA)1Y.

Создание многомерных сплайнов

Из приведённого ограничения на формулу из определения x1<x2<<xn следует, что алгоритм не работает для произвольного набора данных. Если планируется использование алгоритма для произвольного набора точек в многомерном пространстве необходим алгоритм, в котором нет таких ограничений. Возможное решение заключается во введении параметра таким образом, что входные данные могут быть представлены как одномерные функции, зависящие от данного параметра; после можно применить сглаживание для каждой функции. В двумерном пространстве решение состоит в параметризации x и y как x(t) and y(t) где t1<t2<<tn. Подходящее решение для t это накопленное расстояние ti+1=ti+(xi+1xi)2+(yi+1yi)2 где t1=0.[2][3]

Более детальный анализ параметризации выполнен E.T.Y Lee.[4]

Связанные методы

Сглаживающие сплайны имеют отношение, но отличаются от:

Исходный код

Исходный код для сглаживающих сплайнов может быть взят из примеров к книге Carl de Boor’s A Practical Guide to Splines. Примеры написаны на Фортране. Обновлённые исходные коды также доступны на официальном сайте Carl de Boor’s [1].

Примечания

Шаблон:Примечания

Литература

Шаблон:Кривые Шаблон:Rq