四分位距 (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¶