RangeDetector

RangeDetector(min_value=-np.inf, max_value=np.inf, quantiles=None)

Detect values outside range.

Parameters

Name Type Description Default
min_value float Minimum value threshold. -np.inf
max_value float Maximum value threshold. np.inf
quantiles list of float Quantiles to use for determining min and max during fit. Default is [0.0, 1.0], which corresponds to absolute min and max values. Use values like [0.001, 0.999] to exclude extreme outliers. None

Examples

>>> normal_data = pd.Series(np.random.normal(size=100))
>>> abnormal_data = pd.Series(np.random.normal(size=100))
>>> abnormal_data[[2, 6, 15, 57, 60, 73]] = 5
>>> normal_data_with_some_outliers = pd.Series(np.random.normal(size=100))
>>> normal_data_with_some_outliers[[12, 13, 20, 90]] = 7
>>> detector = RangeDetector(min_value=0.0, max_value=2.0)
>>> anomalies = detector.detect(abnormal_data)
>>> detector = RangeDetector()
>>> detector.fit(normal_data) # min, max inferred from normal data
>>> anomalies = detector.detect(abnormal_data)
>>> detector = RangeDetector(quantiles=[0.001,0.999])
>>> detector.fit(normal_data_with_some_outliers)
>>> anomalies = detector.detect(abnormal_data)

Methods

Name Description
detect Detect anomalies
fit Set detector parameters based on data.
save Save a detector for later use.
validate Check that input data is in correct format and possibly adjust.

detect

RangeDetector.detect(data)

Detect anomalies

Parameters

Name Type Description Default
data Union[pd.Series, pd.DataFrame] Time series data with possible anomalies required

Returns

Name Type Description
pd.Series or pd.DataFrame Time series with bools, True == anomaly.

fit

RangeDetector.fit(data)

Set detector parameters based on data.

Parameters

Name Type Description Default
data Union[pd.Series, pd.DataFrame] Normal (non-anomalous) time series data for training. If DataFrame, must contain exactly one column required

Returns

Name Type Description
Self

save

RangeDetector.save(path)

Save a detector for later use.

Parameters

Name Type Description Default
path str or Path File path to save the detector to. required

validate

RangeDetector.validate(data)

Check that input data is in correct format and possibly adjust.

Parameters

Name Type Description Default
data pd.Series or pd.DataFrame Input data to validate. required

Returns

Name Type Description
pd.DataFrame Validated data.

Raises

Name Type Description
WrongInputDataTypeError If data is not a pd.Series or pd.DataFrame.