iLeonidze
@iLeonidze
xbooster.ru

Как сгладить график с данными?

Есть большой массив данных в памяти, представлен он примерно так:
var db = [
    1:-0.123,
    2:0.005,
    3:0.019,
    ...
    1000000:0.062
]

На выходе получаем график изменений импульса. Однако, там видны шумы, которые надо убрать или сгладить.
т.е. наглядно:
bfca7ab873364772b934c0c0d49d3b77.jpg
Тройное экспоненциальное сглаживание портит всю картину, данные становятся недостоверными. Подскажите как сгладить изменения импульса (удалить шумы).
  • Вопрос задан
  • 4334 просмотра
Пригласить эксперта
Ответы на вопрос 3
dom1n1k
@dom1n1k
Первое, что хочется написать - скользящее среднее или скользящая медиана с окном порядка 5 отсчетов.
Но посмотрев более внимательно на картинку... Я правильно понимаю, что нужно отсеять мелкий шум, но оставить большие пики-экстремумы?
Если да, медиане нужно дополнение. Вероятно, что-то в таком духе:
1. берем окно чуть пошире (для приведенных картинок порядка 7-9 отсчетов, а вообще нужно подбирать под данные)
2. проверяем, является ли текущая точка минимумом или максимумом в этом окне
3. если да и при этом точка не крайняя в окне - ничего с ней не делаем
4. иначе применяем медиану
Ответ написан
Комментировать
@sergsh
Взять градиент, и показывать только более чем X, остальные считать нулями
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы