fastcpd.variance_estimation

Variance estimation for change point detection models.

 1"""
 2Variance estimation for change point detection models.
 3"""
 4
 5import numpy
 6
 7
 8def mean(data):
 9    """
10    Variance estimation for mean change models (Rice estimator).
11
12    data : array-like, shape (n, p)
13      Each row is a p-vector observation.
14
15    Returns
16    -------
17    ndarray, shape (p, p)
18      Estimated variance-covariance matrix.
19    """
20    data_matrix = numpy.asarray(data)
21    diffs = data_matrix[1:] - data_matrix[:-1]
22    return numpy.mean(diffs[:, :, None] * diffs[:, None, :], axis=0) / 2
23
24
25def median(data):
26    """
27    Variance estimation for median change models (Rice estimator).
28
29    data : array-like, shape (n,)
30      Univariate series.
31
32    Returns
33    -------
34    float
35      Estimated variance.
36    """
37    data_flat = numpy.asarray(data).ravel()
38    return 2 * (2 * numpy.mean(numpy.abs(numpy.diff(data_flat))) / 3) ** 2
def mean(data):
 9def mean(data):
10    """
11    Variance estimation for mean change models (Rice estimator).
12
13    data : array-like, shape (n, p)
14      Each row is a p-vector observation.
15
16    Returns
17    -------
18    ndarray, shape (p, p)
19      Estimated variance-covariance matrix.
20    """
21    data_matrix = numpy.asarray(data)
22    diffs = data_matrix[1:] - data_matrix[:-1]
23    return numpy.mean(diffs[:, :, None] * diffs[:, None, :], axis=0) / 2

Variance estimation for mean change models (Rice estimator).

data : array-like, shape (n, p) Each row is a p-vector observation.

Returns

ndarray, shape (p, p) Estimated variance-covariance matrix.

def median(data):
26def median(data):
27    """
28    Variance estimation for median change models (Rice estimator).
29
30    data : array-like, shape (n,)
31      Univariate series.
32
33    Returns
34    -------
35    float
36      Estimated variance.
37    """
38    data_flat = numpy.asarray(data).ravel()
39    return 2 * (2 * numpy.mean(numpy.abs(numpy.diff(data_flat))) / 3) ** 2

Variance estimation for median change models (Rice estimator).

data : array-like, shape (n,) Univariate series.

Returns

float Estimated variance.