RangeDetector
RangeDetector(min_value=- np.inf, max_value= np.inf, quantiles= None )
Detect values outside range.
Parameters
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
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
data
Union[pd.Series, pd.DataFrame]
Time series data with possible anomalies
required
Returns
pd.Series or pd.DataFrame
Time series with bools, True == anomaly.
fit
Set detector parameters based on data.
Parameters
data
Union[pd.Series, pd.DataFrame]
Normal (non-anomalous) time series data for training. If DataFrame, must contain exactly one column
required
save
Save a detector for later use.
Parameters
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
data
pd.Series or pd.DataFrame
Input data to validate.
required
Returns
pd.DataFrame
Validated data.
Raises
WrongInputDataTypeError
If data is not a pd.Series or pd.DataFrame.