Skip to content

gravitools.outliers

Functions for outlier detection

reject_by_threshold(g, threshold, g_true=None)

Reject samples that deviate by more than a threshold value

Parameters:

  • g (Series) –

    Input gravity time series.

  • threshold (float) –

    Maximum allowed deviation from reference value.

  • g_true (float, default: None ) –

    Reference value to calculate deviation from. If unspecified, it is estimated from the median of the first 1000 samples.

Returns:

  • is_outlier ( Series ) –

    Time series of samples marked as outliers.

guess_mean_and_std(g, interval='1min')

Guess mean and standard deviation of signal with outliers

Parameters:

  • g (Series) –

    Input graviy time series.

Returns:

  • g_mean ( float ) –

    Estimated mean.

  • g_std ( float ) –

    Standard deviation.

reject_by_sigma_threshold(g, sigma_threshold, g_true=None, g_std=None)

Reject samples by a sigma criterion

Parameters:

  • g (Series) –

    Input graviy time series.

  • sigma_threshold (float) –

    Maximum allowed standard deviations.

  • g_true (float, default: None ) –

    Reference value.

  • g_std (float, default: None ) –

    Reference standard deviation.

Returns:

  • is_outlier ( Series ) –

    Time series of samples marked as outliers.

reject_neighbors(is_outlier, num)

Reject nearest neighbors of outliers

Parameters:

  • is_outlier (Series) –

    Series of samples marked as outlier.

  • num (int) –

    Number of neighbors on either side to reject.

Returns:

  • is_outlier ( Series ) –

    Time series of samples marked as outlier with additionl neighbors marked.

get_outlier_segments(is_outlier, round_to='1s')

List time segments of outliers

Parameters:

  • is_outlier (Series) –

    Time series of samples marked as outlier.

Returns:

  • list[tuple[Timestamp, Timestamp]]

    List of time ranges of outliers.

join_close_segments(is_outlier, min_gap)

Join outlier segments that are close together

Parameters:

  • is_outlier (Series) –

    Time series of samples marked as outlier.

  • min_gap (str) –

    Minimum time gap between outliers to allow. Outliers that are closer together are joined into one outlier segment.

Returns:

  • is_outlier ( Series ) –

    Time series of samples marked as outlier.