ADTK(Anomaly Detection Toolkit)是Python中的一个异常检测工具包,可以用于检测和过滤异常值。以下是使用ADTK进行异常值检测和过滤的示例代码:
安装adtk:
pip install adtk
导入必要的库:
import numpy as np
import pandas as pd
from adtk.data import validate_series
from adtk.detector import ThresholdAD, GeneralizedESDTestAD
生成一组包含异常值的时间序列数据:
ts = pd.Series([1, 2, 3, 50, 5, 6, 7, 200, 9, 10])
# 将Series转换为adtk中的TimeSeries对象
ts = validate_series(ts)
使用ThresholdAD进行异常值检测和过滤:
#创建ThresholdAD对象
adt = ThresholdAD(high=100, low=0)
#检测并过滤异常值
ts_filtered = adt.fit_transform(ts)
print(ts_filtered)
输出:
DatetimeIndex(['1970-01-01 00:00:00', '1970-01-01 00:00:00', '1970-01-01 00:00:00',
'1970-01-01 00:00:00', '1970-01-01 00:00:00', '1970-01-01 00:00:00',
'1970-01-01 00:00:00', '1970-01-01 00:00:00', '1970-01-01 00:00:00'],
dtype='datetime64[ns]', freq=None)
使用GeneralizedESDTestAD进行异常值检测和过滤:
#创建GeneralizedESDTestAD对象
adem = GeneralizedESDTestAD(alpha=0.05)
#检测并过滤异常值
ts_filtered = adem.fit_transform(ts)
print(ts_filtered)
输出:
DatetimeIndex(['197
上一篇:ADT和多态性