四分位距 (IQR) 检测器¶
通过历史数据 IQR(第三四分位数和第一四分位数之间)与其差值的一定因子(通常为 1.5)来标记超出 IQR 的异常。这类似于基于阈值的检测器,但阈值是在拟合检测器时根据历史数据 IQR 的距离计算的。
- class darts.ad.detectors.iqr_detector.IQRDetector(scale=1.5)[source]¶
Bases:
QuantileDetector
IQR 检测器
将超出四分位距 (IQR) 超过 IQR 值一定因子的值标记为异常。该因子通过 scale 参数传入。
如果为 scale 提供单个值,则该相同值将用于序列的所有分量。
如果为 scale 参数提供值序列,则其长度必须与传入序列的维度匹配。
- 参数
scale (
Union
[Sequence
[float
],float
]) – 用于指示与 IQR 的距离构成异常的比例(或比例序列)。默认为 1.5。必须为非负数。如果是序列,则其长度必须与应用此检测器的序列维度匹配。
属性
high_threshold
low_threshold
方法
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¶