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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Сглаживающий сплайн (англ. smoothing spline) это метод сглаживания (аппроксимации кривой набора зашумлённых исходных данных) с использованием сплайн-функций.

Определение[править | править вики-текст]

Пусть последовательность наблюдений, порождённых выражением . Приближение сглаживающими сплайнами функции определяется как функция (в классе дважды дифференцируемых функций), минимизирующая[1]

Замечания:

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

Вывод сглаживающего сплайна[править | править вики-текст]

Для удобства разделим нахождение выражений, описывающих сглаживающий сплайн, на два этапа

  1. Для начала найдём значения .
  2. Из этих значений найдём для всех x.

Начнём со второго шага.

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

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

где элементы A — . Базисные функции и матрица A зависят от конфигурации независимых переменных , но не от или .

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

где . минимизация по даёт

Создание многомерных сплайнов[править | править вики-текст]

Из приведённого ограничения на формулу из определения мы можем заключить, что алгоритм не работает для произвольного набора данных. Если планируется использование алгоритма для произвольного набора точек в многомерном пространстве необходим алгоритм, в котором нет таких ограничений. Возможное решение заключается во введении параметра таким образом, что входные данные могут быть представлены как одномерные функции, зависящие от данного параметра; затем можно применить сглаживание для каждой функции. В двумерном пространстве решение состоит в параметризации и как and где . Подходящее решение для это накопленное расстояние где .[2][3]

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

Связанные методы[править | править вики-текст]

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

  • Регрессионных сплайнов. В этом методе данные апроксимируются набором базисных сплайн-функций с уменьшенным количеством узлов, как правило по МНК. Штрафы за негладкость не используются.
  • Penalized Splines. Сочетают уменьшенное количество узлов регрессионных сплайнов с штрафом за негладкость сглаживающих сплайнов.[5]
  • Метод упругой карты. Данный метод сочетает МНК-штрафы для ошибки аппроксимации со штрафами за кривизну и растяжение аппроксимирующего множества и использует крупный шаг дискретизации для оптимизации проблемы.

Исходный код[править | править вики-текст]

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

Примечания[править | править вики-текст]

  1. Hastie T. J. Generalized Additive Models. — Chapman and Hall, 1990. — ISBN 0-412-34390-8.
  2. Robert E. Smith Jr., Joseph M Price and Lona M. Howser. A Smoothing Algorithm Using Cubic Spline Functions. Проверено 31 мая 2011. Архивировано 15 сентября 2013 года.
  3. N. Y. Graham. Smoothing With Periodic Cubic Splines. Проверено 31 мая 2011. Архивировано 15 сентября 2013 года.
  4. E.T.Y. Lee. Choosing nodes in parametric curve interpolation. Проверено 28 июня 2011. Архивировано 15 сентября 2013 года.
  5. Ruppert David. Semiparametric Regression. — Cambridge University Press, 2003. — ISBN 0-521-78050-0.

Литература[править | править вики-текст]