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.