Связь сглаживания кубического сплайна с фильтрацией нижних частот - PullRequest
0 голосов
/ 24 мая 2019

Я использовал scipy.signal.cspline1d(), чтобы сгладить временной ряд, который у меня есть.Все работает нормально, но теперь, когда я хочу описать процедуру, я понял, что не знаю, что на самом деле представляет параметр lamb.Конечно, я мог бы просто сообщить значение, которое я использовал, но я думаю, что было бы более полезно описать его с точки зрения свойств сглаживания, которые легче понять, например, частоты среза при фильтрации нижних частот или количества точек, которые легче понять.усреднены вместе и т. д.

На странице документа сплайн-интерполяция я обнаружил, что есть параметр сглаживания, который в некоторой степени связан с числом точек данных, но не может на самом делеИсходя из этого, как применить это к моим данным.

Итак, существует ли прямая связь между lamb и какой-то другой мерой?

Спасибо!

1 Ответ

2 голосов
/ 24 мая 2019

Если это поможет,

  • здесь - это реализация для cspline1d() - если lamb не равно 0,
  • он вызывает _cubic_smooth_coeff(signal, lamb), что в свою очередь
  • вызывает _coeff_smooth(lam) для получения значения rho и омега, которое оно использует для обработки сигнала, приведенного в.

18-летний коммит , реализующий это, также не проливает слишком много света, однако имя функции _cubic_smooth_coeff немного помогает.

Есть эта статья в Википедии , в которой есть многообещающее определение лямбды:

lambda> = 0 - это параметр сглаживания, управляющий компромиссом между точностью данных и грубостью оценки функции. Это часто оценивается обобщенной перекрестной проверкой или ограниченным предельным правдоподобием (REML), которое использует связь между сглаживанием сплайнов и байесовской оценкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...