HampelDetector

HampelDetector(window_size=5, threshold=3)

Hampel filter implementation that works on numpy arrays, implemented with numba.

Parameters

Name Type Description Default
window_size The window range is from [(i - window_size):(i + window_size)], so window_size is half of the window, counted in number of array elements (as opposed to specify a time span, which is not supported by this implementation) 5
threshold The threshold for marking an outlier. A low threshold “narrows” the band within which values are deemed as outliers. n_sigmas, default=3.0 3

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

HampelDetector.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

HampelDetector.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

HampelDetector.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

HampelDetector.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.