我正在尝试在具有数千个唯一客户的巨大销售交易数据集中(超过100万次观察)发现异常。同一客户可以在同一日期多次购买。数据集包含随机交易和季节性交易。我的数据的虚拟样本如下:
Date CustomerID TransactionType CompanyAccountNum Amount
01.01.19 1 Sales 111xxx 100
01.01.19 1 Credit 111xxx -3100
01.01.19 4 Sales 111xxx 100
02.01.19 3 Sales 311xxx 100
02.01.19 1 Refund 211xxx -2100
03.01.19 4 Sales 211xxx 3100
哪种算法/方法最适合此问题?到目前为止,我已经尝试了多变量FBprophet模型(在python上),但结果却不尽人意。
答案 0 :(得分:0)
您可以尝试使用pyod
软件包,例如隔离林或HBOS之类的方法。
它被宣传为“一种用于检测多元数据中离群对象的全面,可扩展的Python工具包”,但性能方面可能会有所不同,因此请首先查看其benchmarks。
答案 1 :(得分:0)
如果您有时间序列数据,最好应用一些方法,如移动平均或指数平滑您的数据,以消除趋势和季节性。否则,所有涉及季节性或趋势期的数据点都将被标记为异常。