如何将时间序列趋势转换为可测量的预测变量

时间:2019-06-17 13:02:08

标签: python r machine-learning time-series feature-extraction

我有一个时间序列数据,该数据说明了1年时间轴内交易中的欺诈数量以及欺诈的目标变量与否。

X轴是时间轴,Y轴是检测到的欺诈数量。

我们是否有任何ML模型/统计技术试图识别这些欺诈的趋势并将其转换为可测量的预测变量,其值的范围为0到1,其中接近1的值更容易出现欺诈和vic。,< / p>

一年中欺诈的趋势是非线性的,因此,如果有任何数学变换,我可以在时间序列上应用它,从而为我提供一个可测量的功能?

有什么建议值得赞赏吗?

我想到了使用正常的斜率技术,其中时间线的负斜率欺诈较少,而正斜率则欺诈较多。它仅捕获线性趋势,但需要捕获非线性趋势。

修改::

我忘记了一个重点。我将给出一个方案来更好地解释这一点。

对于金融银行,假设我有1000家银行,而每家银行都有12个月的时间段(每月检测到多少次欺诈)以及相应的目标变量,无论该银行是否有很高的欺诈机会。

现在,当我在12个月内遇到一家具有相应欺诈行为的新银行时,有什么方法可以使用1000家银行欺诈模式来查找该银行是否为欺诈行为?

我们可以使用任何时间序列方法吗?我假设,如果是针对单个银行,则时间序列会在我拥有多个银行的情况下进行处理,我想使用非线性回归技术,假设每个月都是一个功能,训练模型可能会有所帮助?因为我可以得到一个可以用来预测目标的多项式方程?

请也分享您的想法

1 个答案:

答案 0 :(得分:-1)

我将假设您的数据包含风险变量(客户数据,贷款数据等)。为此,我使用了线性模型,后勤模型和条件干扰树。以下是各种高级视图。您确实需要了解基础方法才能获得良好的功能模型。我建议将伪变量与这些变量一起使用...二进制最适合于易于解释。

线性模型或逻辑模型将生成一个方程式,您可以使用该方程式来衡量每条记录(贷款)的风险。此方法需要排除异常值,库克距离等。

线性:

step(lm(default flag ~ Variable 1 + Variable 2 + ...))

后勤:

glm(default flag ~ Variable 1 + Variable 2 + ...)

另一个是条件干扰树。我将使用带有ctree()函数的partykit()包。这将根据存储桶中变量的统计显着性存储存储桶默认值。

plot(ctree(default flag ~ Variable 1 + Variable 2, data= "Your data", 
controls = "looks this up for your model")

此外,如果您还担心默认时间,请查看生存分析。

我在这三个方面都取得了成功。如果您所拥有的只是一个时间段和默认的总计,那么您将无法做太多事情,因为您将没有基础变量。