我的数据是特定游戏玩家的使用/玩统计数据。用户的一个数据点是一个星期的汇总统计数据。我们的目标是能够发现玩家的账户何时被盗/被黑,或者其他什么地方出错了。所以我的想法是让每个玩家都有代表一个星期的数据点,然后检查最近的一周是否是集群中的一个离群点。如果是的话-账户有问题。
我的问题是,什么样的算法/方法适合于这种情况?我非常熟悉聚类和自动编码器之类的东西,但这并不十分适合我的问题,因为:
目前,我有两个想法:
它们可以工作,但它们听起来都有点“讨厌”。对于这样一个相对简单的问题,我觉得应该有一个更优雅的解决方案,但我的头脑只是在消失。你会推荐什么方法?
发布于 2021-06-09 21:40:25
对我来说,这听起来像是时间序列异常检测。您可以遵循这里的示例:https://towardsdatascience.com/time-series-anomaly-detection-with-pycaret-706a6e2b2427。
在pyod中,有10种以上的异常检测算法(pyod库的包装器)。您应该使用其中的几个,播放分数(阈值),并检查哪一个组合最适合您的数据。如果您有一些异常,您可以使用分类(如果您在数据集中有几个输入,可以描述这些异常,或者可以自己生成输入)。
发布于 2021-11-05 22:14:36
你可以考虑使用霍尔特-温特斯时间序列模型。它支持趋势的识别(如您所描述的),也可以帮助解释季节性成分。它是statsmodels包的一部分。
https://datascience.stackexchange.com/questions/96432
复制相似问题