hidalgo-cusum-test-stat v0.0.1
hidalgo-cusum-test-stat
Hidalgo.js library to calculate CUSUM-based test statistics
Yes it's a long name, but at least it's descriptive.
Install
$ npm install --save hidalgo-cusum-test-stat
Usage
For best results, use with hidalgo-cusum-pvalue:
var testStat = require('hidalgo-cusum-test-stat');
var pValue = require('hidalgo-cusum-pvalue');
var stats = testStat([0, 1, 2, 3 /*, ... more data ... */], 28, 2);
var pValues = stats.map(pValue);
API
cusum(data, baseline, guardBand [, options])
Calculates an array of test statistics. Returns an array of numbers of length data.length - baseline - guardBand
.
This function takes the following mandatory parameters:
data
- array of numbers representing data pointsbaseline
- number of previous data points to use. This should be at least 28 for best results.guardBand
- number of data points in between the baseline and the point to calculate
Formally, cusum[i]
is a function of data[i - baseline - guardBand..i - guardBand]
. In other words, if your baseline
is 28 and your guard band is 2 (which are the recommended defaults), then CUSUM will look at the 28 data points
preceding i-2
to calculate cusum[i]
. This means that CUSUM will not output values for the first
baseline + guardBand
values in data
.
cusum
also takes an optional options
parameter. options
is an object with the following keys:
generateBaseline
- Function to generate baseline data from the input array. Use this to alter the data set for example, by removing long strings of 0 counts. Defaults to returning the input array unchangedcusumK
- Number to subtract from the test stat. Defaults to 0.5minSigma
- Minimum σ. The standard deviation of the baseline data is used only if it is greater thanminSigma
. Otherwise,minSigma
is used. Defaults to 0.5resetLevel
- Test statistics larger thanresetLevel
are reduced. Defaults to 4
10 years ago