Сглаживающий сплайн
Сглаживающий сплайн (англ. smoothing spline) — оценка функции , полученная из набора зашумлённых наблюдений за исходными данными и используемая в дальнейших вычислениях для балансировки адекватности модели функции к с основанной на производной мере кривизной функции . Иными словами, сглаживающий сплайн является важным средством при работе с зашумленными данными типа , . Наиболее известным видом сглаживающего сплайна является кубический сплайн.
Определение кубического сплайна
[править | править код]Пусть — последовательность наблюдений, порождённых выражением . Приближение сглаживающими сплайнами функции определяется как функция (в классе дважды дифференцируемых функций), минимизирующая[1]
Замечания:
- параметр сглаживания, контролирующий соотношение между точностью воспроизведения данных и «неровностью» аппроксимирующей функции.
- интеграл вычисляется по всему диапазону .
- при (нет сглаживания), сглаживающий сплайн превращается в интерполяционный сплайн.
- при (бесконечное сглаживание), штраф за неровность становится преобладающим и аппроксимация превращается в линейную МНК аппроксимацию.
- наиболее часто в современной статистической литературе используется штраф за неровность на основе второй производной, однако метод может быть легко адаптирован к использованию штрафов на основе других производных.
- в ранней литературе, с равноудалёнными , для вычисления штрафа вместо производной использовались конечные разности второго и третьего порядка.
- если сумму квадратов отклонений сплайна от исходных данных (первый член функционала) заменить на логарифм функции правдоподобия, получим оценку максимального правдоподобия со штрафной функцией. В такой постановке обычный сглаживающий сплайн представляет собой специальный случай, когда правдоподобие рассчитывается исходя из нормального распределения погрешности.
Вывод кубического сглаживающего сплайна
[править | править код]Стиль этого раздела неэнциклопедичен или нарушает нормы литературного русского языка. |
Разделим нахождение выражений, описывающих сглаживающий сплайн, на два этапа:
- Сначала найдём значения .
- Из этих значений найдём для всех x.
Начнём со второго этапа:
Дан вектор «подогнанных» значений; сумма квадратов в критерии сплайна — константа. Требуется только минимизировать , и минимизация — натуральный кубический сплайн, интерполирующий точки . Данный интерполяционный сплайн — линейный оператор — может быть представлен в виде:
- ,
где — набор базисных сплайн-функций. В результате штраф за отсутствие у функции признака гладкости имеет форму
где элементы A — . Базисные функции и матрица A зависят от конфигурации независимых переменных , но не от или .
Возвращаясь к первому этапу, взвешенная сумма квадратов может быть записана так:
где . минимизация по даёт
Создание многомерных сплайнов
[править | править код]Из приведённого ограничения на формулу из определения следует, что алгоритм не работает для произвольного набора данных. Если планируется использование алгоритма для произвольного набора точек в многомерном пространстве необходим алгоритм, в котором нет таких ограничений. Возможное решение заключается во введении параметра таким образом, что входные данные могут быть представлены как одномерные функции, зависящие от данного параметра; после можно применить сглаживание для каждой функции. В двумерном пространстве решение состоит в параметризации и как and где . Подходящее решение для это накопленное расстояние где .[2][3]
Более детальный анализ параметризации выполнен E.T.Y Lee.[4]
Связанные методы
[править | править код]Сглаживающие сплайны имеют отношение, но отличаются от:
- Регрессионных сплайнов (англ. Regression Splines). Метод, при использовании которого данные аппроксимируются с помощью набора базисных сплайн-функций с уменьшенным количеством узлов, в большинстве случаев при помощи метода наименьших квадратов. При этом в случае отсутствия у функции признака гладкости штрафы не используются.
- Штрафных сплайнов, сплайнов со штрафами (англ. Penalized Splines). Сочетают уменьшенное количество узлов регрессионных сплайнов со штрафом за отсутствие у функций сглаживающих сплайнов признака гладкости.[5]
- Метод упругой карты. Метод, сочетающий штрафы по методу наименьших квадратов для ошибки аппроксимации со штрафами за кривизну и растяжение аппроксимирующего множества и использующий крупный шаг дискретизации для оптимизации проблемы.
Исходный код
[править | править код]Исходный код для сглаживающих сплайнов может быть взят из примеров к книге Carl de Boor’s A Practical Guide to Splines. Примеры написаны на Фортране. Обновлённые исходные коды также доступны на официальном сайте Carl de Boor’s [1].
Примечания
[править | править код]- ↑ Hastie, T. J.; Tibshirani, R. J. Generalized Additive Models (неопр.). — Chapman and Hall, 1990. — ISBN 0-412-34390-8.
- ↑ Robert E. Smith Jr., Joseph M Price and Lona M. Howser. A Smoothing Algorithm Using Cubic Spline Functions . Дата обращения: 31 мая 2011. Архивировано из оригинала 14 сентября 2013 года.
- ↑ N. Y. Graham. Smoothing With Periodic Cubic Splines . Дата обращения: 31 мая 2011. Архивировано 14 сентября 2013 года.
- ↑ E.T.Y. Lee. Choosing nodes in parametric curve interpolation . Дата обращения: 28 июня 2011. Архивировано 14 сентября 2013 года.
- ↑ Ruppert, David; Wand, M. P. and Carroll, R. J. Semiparametric Regression (неопр.). — Cambridge University Press, 2003. — ISBN 0-521-78050-0.
Литература
[править | править код]- Wahba, G. (1990). Spline Models for Observational Data. SIAM, Philadelphia.
- Green, P. J. and Silverman, B. W. (1994). Nonparametric Regression and Generalized Linear Models. CRC Press.
- De Boor, C. (2001). A Practical Guide to Splines (Revised Edition). Springer.
- Березовский, М. В. Сглаживающие изогеометрические и робастные сплайны: методы и алгоритмы. Диссертация.
Для улучшения этой статьи желательно:
|