分位数检测器¶
标记超出历史数据某些分位数的异常。这与基于阈值的检测器类似,其中阈值在检测器拟合时作为历史数据的分位数计算。
- class darts.ad.detectors.quantile_detector.QuantileDetector(low_quantile=None, high_quantile=None)[源代码]¶
基类:
FittableDetector,_BoundedDetectorMixin分位数检测器
标志值,分别低于或高于历史数据的 low_quantile 和 high_quantile 分位数。
如果为 low_quantile 或 high_quantile 提供了一个单一值,则该值将用于序列的所有组成部分。
如果为参数 low_quantile 和/或 high_quantile 提供了值序列,它们的长度必须相同,匹配传递给 fit() 的序列的维度,或者长度为 1。在后一种情况下,这个单一值将用于序列的所有组成部分。
如果 low_quantile 或 high_quantile 为 None,则对应的边界将不会被使用。但是,这两个中的至少一个必须被设置。
- 参数
low_quantile (
Union[Sequence[float],float,None]) – (序列的)历史数据的分位数,低于该值的值被视为异常。必须在0和1之间。如果是序列,必须与该检测器应用的序列的维度匹配。high_quantile (
Union[Sequence[float],float,None]) – (序列的)历史数据的分位数,高于此值的值被视为异常。必须在0到1之间。如果是序列,必须与该检测器应用的序列的维度匹配。
属性
高阈值
低阈值
方法
detect(series[, name])检测给定时间序列中的异常。
eval_metric(anomalies, pred_scores[, ...])根据真实异常对结果进行评分。
fit(series)在给定的时间序列上训练检测器。
fit_detect(series)在同一序列上训练检测器并检测异常。
- detect(series, name='series')¶
检测给定时间序列中的异常。
- 参数
series (
Union[TimeSeries,Sequence[TimeSeries]]) – 用于检测异常的(序列)系列。name (
str) – series 的名称。
- 返回
二元预测(如果被视为异常则为1,否则为0)
- 返回类型
Union[TimeSeries, Sequence[TimeSeries]]
- eval_metric(anomalies, pred_scores, window=1, metric='recall')¶
根据真实异常对结果进行评分。
- 参数
anomalies (
Union[TimeSeries,Sequence[TimeSeries]]) – 地面真值二进制异常序列(1 表示异常,0 表示正常)。pred_scores (
Union[TimeSeries,Sequence[TimeSeries]]) – 估计的异常分数序列(序列),指示每个大小为 w 的窗口的异常程度。window (
int) – 整数值,表示 pred_scores 中每个点代表的过去样本数量。metric (
Literal[‘recall’, ‘precision’, ‘f1’, ‘accuracy’]) – 要使用的度量函数名称。必须是以下之一:“recall”、“precision”、“f1”和“accuracy”。默认值:“recall”。
- 返回
每个异常分数的指标结果
- 返回类型
Union[float, Sequence[float], Sequence[Sequence[float]]]
- fit(series)¶
在给定的时间序列上训练检测器。
- 参数
series (
Union[TimeSeries,Sequence[TimeSeries]]) – 用于训练检测器的时间(序列)序列。- 返回
拟合检测器。
- 返回类型
self
- fit_detect(series)¶
在同一序列上训练检测器并检测异常。
- 参数
series (
Union[TimeSeries,Sequence[TimeSeries]]) – 用于训练和检测异常的时间序列。- 返回
二进制预测(如果是异常则为1,否则为0)
- 返回类型
Union[TimeSeries, Sequence[TimeSeries]]
- property high_threshold¶
- property low_threshold¶