Я использую функцию Уиттекера Pracma здесь
whittaker <- function(y, lambda = 1600, d = 2){
# Smoothing with a finite difference penalty
# y: signal to be smoothed
# lambda: smoothing parameter (rough 50..1e4 smooth)
# d: order of differences in penalty (generally 2)
m <- length(y)
E <- eye(m)
D <- diff(E, lag = 1, differences = d)
B <- E + (lambda * t(D) %*% D)
z <- solve(B, y)
return(z)
}
, для которого мне нужно найти обратную функцию сглаживания Уиттекера,
существует ли какой-либо обратный алгоритм сглаживания Уиттекера? Даже приближение может быть полезным.
Предварительная попытка
y = B*z //solve(B,z)
z = B^{-1} y // *B
y = B*z
так что я должен выяснить B
то есть
E <- eye(length(y))
D <- diff(E, lag = 1 , differences 2)
B <- E + (lambda * t(D) %*% D)
так
y<- B * z
, что, как я понимаю, сглаживание выполняется без потерь (информация не теряется при преобразовании), поэтому обратное должно содержать ту же информацию, что и исходные данные.
Как продемонстрировано, не представляется невозможным создать обратную функцию сглаживания Уиттекера, но я ожидаю, что такая функция уже существует в R.
Существует ли обратная функция сглаживания Уиттекера в R?