Сглаживание набора данных при сохранении того же количества точек - PullRequest
0 голосов
/ 24 июня 2011

Я ищу алгоритм сглаживания, который сохраняет то же количество точек. Существует ли такой алгоритм для сглаживания? Каждый алгоритм, который я видел, уменьшает количество точек данных.

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Одной из возможностей может быть скользящее среднее - например, каждая выходная точка является средним значением последних 10 точек.Очевидно, что при этом первые несколько точек не сглаживаются так сильно.

1 голос
/ 24 июня 2011

Полагаю, это зависит от того, что вы пытаетесь сделать.Вы могли бы использовать сплайн-интерполяцию, которая является просто обобщением идеи скользящего среднего или автомобильного фильтра.(Формально говоря, B-сплайн-интерполяция эквивалентна итерации скользящей средней столько раз, сколько и степень сплайна.)

Однако компромисс состоит в том, что чем больше сглаживания вы применяете, тем больше информации вы выбрасываетеиз ваших данных.Если вы попытаетесь добавить больше точек путем интерполяции, это может создать странные артефакты, такие как феномен Рунге:

http://en.wikipedia.org/wiki/Runge's_phenomenon

Это компромисс, свойственный фильтрации нижних частот, и его нетмного с этим поделать.В результате, в любом случае, вам может быть лучше оставить эти точки в конце.

...