Это не официальный сайт wikipedia.org 01.01.2023

Сглаживающий сплайн — Википедия

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

Сглаживающий сплайн (англ. smoothing spline) — оценка функции f ^ ( x ) , полученная из набора зашумлённых наблюдений y i за исходными данными f ( x i ) и используемая в дальнейших вычислениях для балансировки адекватности модели функции f ^ ( x i ) к y i с основанной на производной мере кривизной функции f ^ ( x ) . Иными словами, сглаживающий сплайн является важным средством при работе с зашумленными данными типа x i , y i . Наиболее известным видом сглаживающего сплайна является кубический сплайн.

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

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

i = 1 n ( Y i μ ^ ( x i ) ) 2 + λ x 1 x n μ ^ ( x ) 2 d x .  

Замечания:

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

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

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

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

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

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

μ ^ ( x ) = i = 1 n μ ^ ( x i ) f i ( x )  ,

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

μ ^ ( x ) 2 d x = m ^ T A m ^ .  

где элементы A — f i ( x ) f j ( x ) d x  . Базисные функции и матрица A зависят от конфигурации независимых переменных x i  , но не от Y i   или m ^  .

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

Y m ^ 2 + λ m ^ T A m ^ ,  

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

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

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

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

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

Связанные методыПравить

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

Исходный кодПравить

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

ПримечанияПравить

  1. Hastie, T. J.; Tibshirani, R. 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. Архивировано 14 сентября 2013 года.
  3. N. Y. Graham. Smoothing With Periodic Cubic Splines  (неопр.). Дата обращения: 31 мая 2011. Архивировано 14 сентября 2013 года.
  4. E.T.Y. Lee. Choosing nodes in parametric curve interpolation  (неопр.). Дата обращения: 28 июня 2011. Архивировано 14 сентября 2013 года.
  5. Ruppert, David; Wand, M. P. and Carroll, R. J. Semiparametric Regression (неопр.). — Cambridge University Press, 2003. — ISBN 0-521-78050-0.

ЛитератураПравить