Cusum
Description
Performs change detection on a single dimension of the incoming data stream. A change is detected if the cumulative deviation from the mean exceeds a certain threshold. This implementation tracks the mean and the standard deviation using Welford's algorithm, which is well suited for data streams.
Required input
The cusum processor requires a data stream that has at least one field containing a numerical value.
Configuration
Value to observe
Specify the dimension of the data stream (e.g. the temperature) on which to perform change detection.
Parameter k
k
controls the sensitivity of the change detector. Its unit are standard deviations. For an observation x_n
, the Cusum value is S_n = max(0, S_{n-1} - z-score(x_n) - k)
. Thus, the cusum-score S
icnreases if S_{n-1} - z-score(x_n) > k
.
Parameter h
The alarm theshold in standard deviations. An alarm occurs if S_n > h
Output
This processor outputs the original data stream plus
cusumLow
: The cusum value for negative changescusumHigh
: The cusum value for positive changeschangeDetectedLow
: Boolean indicating if a negative change was detectedchangeDetectedHigh
: Boolean indicating if a positive change was detected