Mean shift

Description

For a given number of samples \(T\), number of changepoints \(K\) and noise variance \(\sigma^2\), this function generates change point indexes \(0<t_1<\dots<t_K<T\) and a piecewise constant signal \(\{y_t\}_t\) with additive Gaussian noise.

Usage

Start with the usual imports and create a signal.

import numpy as np
import matplotlib.pylab as plt
import ruptures as rpt
# creation of data
n, dim = 500, 3  # number of samples, dimension
n_bkps, sigma = 3, 5  # number of change points, noise standart deviation
signal, bkps = rpt.pw_constant(n, dim, n_bkps, noise_std=sigma)
rpt.display(signal, bkps)

The mean shift amplitude is uniformly drawn from an interval that can be changed through the keyword 'delta'.

signal, bkps = rpt.pw_constant(n, dim, n_bkps, noise_std=sigma, delta=(1, 10))

Code explanation

ruptures.datasets.pw_constant.pw_constant(n_samples=200, n_features=1, n_bkps=3, noise_std=None, delta=(1, 10))[source]

Return a piecewise constant signal and the associated changepoints.

Parameters
  • n_samples (int) – signal length

  • n_features (int, optional) – number of dimensions

  • n_bkps (int, optional) – number of changepoints

  • noise_std (float, optional) – noise std. If None, no noise is added

  • delta (tuple, optional) – (delta_min, delta_max) max and min jump values

Returns

signal of shape (n_samples, n_features), list of breakpoints

Return type

tuple