【问题标题】:Template Matching for relational database关系数据库的模板匹配
【发布时间】:2010-02-21 20:03:59
【问题描述】:

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


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

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

【问题讨论】:

    标签: database fraud-prevention


    【解决方案1】:

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

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

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

    -更新-

    我不建议编写“小语言” 我不明白为什么当您有大量出色的语言和数据库可供选择时,您为什么要这样做并经过测试的方法可以准确解决您正在做的事情。

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

    【讨论】:

    • 一种“小语言”允许非程序员能够表达新模式并可能在您的数据库上尝试它们,而无需从头开始编写所有代码。您的解决方案适合“探索”,可能适合进行一些试验,但似乎不太适合中/长期解决方案。
    • 还有一件事:OP 似乎正在开发一种“产品”(我们正在尝试为股市设计一个欺诈检测系统)-我怀疑“只需启动文本编辑器和代码在这些情况下,“离开”是正确的答案。
    • 感谢“p”,我不明白使用 Ruby 和一些经过时间测试的平台(如 MySQL)对探索有什么好处。打开文本编辑器的目的是激发人们走出去,用实际数据测试他们自己的一些解决方案。我们可以得到关于各种系统的理论,但你需要应用它。
    【解决方案2】:

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

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

    也许是时间序列模型?

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 感谢您的回答...关于数据挖掘我有一个想法,但是当我以这种方式阅读数据挖掘工作时:您有数据(记录)并且挖掘算法会找到模式,我正在尝试做相反的事情,我有模式并且我想找到匹配的记录>我可以在我的情况下使用数据挖掘吗??
      • 数据挖掘不仅仅是“运行数据挖掘包并神奇地找出模式”。此类别中的工具(请参阅datamininglab.com/Portals/0/tooleval 文章/smc98_abbott_mat_eld.pdf)使您能够表达您认为有意义的模式并寻找它们。尝试在谷歌上搜索“数据挖掘欺诈检测”以了解更多信息。
      猜你喜欢
      • 2014-08-29
      • 2017-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多