Note that there are some explanatory texts on larger screens.

plurals
  1. PODetecting change in streaming data
    primarykey
    data
    text
    <p>I have a streaming set of values that I would like to analyze for abrupt changes and possibly ignore spikes/noise in the data. I've looked at moving averages, winsorised means and several other possible solutions including PID controllers in control systems, the colt library and numpy for clues as to how to solve this.</p> <p>A sample dataset is below.<br> 22.0, 22.0, 22.0, <strong>22.0, 20.8806130178211</strong>, 20.8806130178211, 20.8806130178211, 20.8806130178211, 20.8806130178211, <strong>20.8806130178211, 21.840329667841555, 21.840329667841555, 20.8806130178211,</strong> 20.8806130178211, 20.8806130178211,20.8806130178211, 20.8806130178211, <strong>20.8806130178211, 21.840329667841555,</strong> 21.840329667841555, 21.840329667841555,21.840329667841555, <strong>22.80350850198276</strong></p> <p>Ideally I would like to detect that the values change in the 1st, 3rd and 4th sections in bold. The second section can be treated like a spike.</p> <p>Looking for an elegant mathematical/algorithmic solution that works like a moving average in that if the data does not change for a long time (a window that is dynamic) it will ignore old data. In the case of the above data the initial values of 22 are ignored when considering the next window of data that is 20.8806130178211.</p> <p>The solution (program/class) should be able to accept a new data input value (22.0232) and return a value of true or false if it computes that the value is within the acceptable range i.e. it hasn't changed considerably.</p> <p>Thanks<br> sfk</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload