L
L
Leonid Fedotov2016-10-19 20:00:03
JavaScript
Leonid Fedotov, 2016-10-19 20:00:03

How to smooth a graph with data?

There is a large array of data in memory, it is represented like this:

var db = [
    1:-0.123,
    2:0.005,
    3:0.019,
    ...
    1000000:0.062
]

At the output, we get a graph of changes in momentum. However, there are noises that need to be removed or smoothed out.
those. clearly:
bfca7ab873364772b934c0c0d49d3b77.jpg
Triple exponential smoothing spoils the whole picture, the data becomes unreliable. Tell me how to smooth out changes in momentum (remove noise).

Answer the question

In order to leave comments, you need to log in

3 answer(s)
X
xmoonlight, 2016-10-19
@xmoonlight

How to filter out random spikes in readings taken from a sensor?
How can a set of points plot a graph and cut off the noise (outliers)?

D
dom1n1k, 2016-10-19
@dom1n1k

Первое, что хочется написать - скользящее среднее или скользящая медиана с окном порядка 5 отсчетов.
Но посмотрев более внимательно на картинку... Я правильно понимаю, что нужно отсеять мелкий шум, но оставить большие пики-экстремумы?
Если да, медиане нужно дополнение. Вероятно, что-то в таком духе:
1. берем окно чуть пошире (для приведенных картинок порядка 7-9 отсчетов, а вообще нужно подбирать под данные)
2. проверяем, является ли текущая точка минимумом или максимумом в этом окне
3. если да и при этом точка не крайняя в окне - ничего с ней не делаем
4. иначе применяем медиану

S
sergsh, 2016-10-19
@sergsh

Взять градиент, и показывать только более чем X, остальные считать нулями

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question