1.0.1 • Published 4 years ago

bayesian-changepoint v1.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

Bayesian Online ChangePoint JS Detection

Edit BayesianChangePointJS

Pure JavaScript/TypeScript implementation of Bayesian Online Changepoint detection which runs for Browsers & NodeJS.

Example

import assert from "assert";
import BayesianChangePoint, { BreakPoint } from "bayesian-changepoint";

const breakpointVerifier = (
  next: BreakPoint<number>,
  prev: BreakPoint<number>
): boolean => {
  if (Math.abs(next.data - prev.data) >= 5) {
    return true;
  }

  return false;
};

const values = (breakPoints: BreakPoint<number>[]): number[] => {
  return breakPoints.map(breakPoint => breakPoint.data);
};

const indicies = (breakPoints: BreakPoint<number>[]): number[] => {
  return breakPoints.map(breakPoint => breakPoint.index);
};

const detection = new BayesianChangePoint<number>({
  breakpointVerifier
});

detection.exec([10, 10, 10, 10, 5000, 5000, 5000, 5000, 30, 30, 30, 30, 30]);

assert.deepEqual(values(detection.breakPoints()), [5000, 30]);
assert.deepEqual(indicies(detection.breakPoints()), [4, 8]);

Installation

npm install
npm test

Credits

Based off of Bayesian Online Changepoint