2

我正在尝试做以下事情:我们正在尝试为股票市场设计一个欺诈检测系统。我知道欺诈的规范(它们就像模板)。所以我想知道我是否可以设计一个模板,并找到与这个模板匹配的所有记录。


注意:我不能使用传统查询,因为模板很复杂,例如我的一个欺诈是循环交易,它是这样的:A从B买,B从C买,C从A买(这是一个循环)这个周期可以包括 4 或 5 人。

对于这种情况有什么好的建议吗?

4

3 回答 3

0

我不明白为什么你不能使用你所说的“传统查询”。SQL 可用于编写非常复杂的查询。就此而言,我不确定这是一个极具挑战性的问题。

首先,我会查看您所描述的不同事务的行为,因此我将事务视为模型。我可能会有一个transactions包含一些列的表格,如buyer, seller,amount等...

您也可以shares使用 STI(单表继承)购买将所有者的所有主键放入表中的“所有者”列中,然后将其作为自己的表并存储说该共享的前 100 个所有者在同一个shares234/823/12334/1234/...中通过这种方式,您可以进行复杂的查询并查看该共享是否属于同一个人,或者非常轻松快速地查找字符串中的模式。

-更新-

我不建议编造一种“小语言” 我不明白为什么当你有大量精彩的语言和数据库可供选择时,你为什么要做这样的事情,所有这些都有很好的改进和测试的方法解决你在做什么。

我最好的建议是打开你的 IDE(为 TextMate 竖起大拇指)并选择你最喜欢的语言(在我的例子中是 Ruby)。找到一些示例数据并创建您的数据库并开始编写一些代码!尝试这样的实验不会出错,它将完全展示出比我们在 Stackoverflow 上想象的更好的方法。

于 2010-02-21T20:31:48.420 回答
0

绝对是数据挖掘。但是正如您所指出的,您已经有了模型(您的模板)。查找欺诈检测而不是预防以获得更好的搜索结果?

我知道一些银行使用 SPSS PASW Modeler 进行欺诈检测。这非常直观,您可以在处理数据时看到自己在做什么。所以你可以实现你的模板。我同意 Joseph 的观点,你需要开始玩,制作一些新的数据结构。

也许是时间序列模型?

于 2010-02-21T23:02:53.970 回答
-1

从理论上讲,您可以首先开发一种“小语言”,它具有简单的语法(这使得表达域 - 在您的情况下是欺诈模式 - 很容易)并从中生成一个或多个 SQL 查询。

作为大多数解决方案,这可以被认为是一个滑块:在另一个极端有“完整的欺诈检测语言”,您可以为最常见的情况构建存储过程,并编写使用更多的新存储过程您之前编写的用于实现各种模式的“基本”块。

您正在尝试做的事情属于数据挖掘保护伞,因此您也可以尝试了解更多信息:也许您可以为您的特定数据库(您没有指定)找到一个数据挖掘包,看看它是否可以帮助您找到数据中的常见模式。

于 2010-02-21T20:21:03.123 回答