2

私は次のことをしようとしています: 株式市場の不正検出システムを設計しようとしています。私は詐欺の仕様を知っています (それらはテンプレートのようなものです)。テンプレートを設計して、このテンプレートに一致するすべてのレコードを検索できるかどうかを知りたいです。


注意: テンプレートが複雑なため、従来のクエリを使用することはできません。たとえば、私の詐欺の 1 つは循環取引です。たとえば、A が B から購入し、B が C から購入し、C が A から購入しました (サイクルです)。このサイクルには 4 人または 5 人が含まれます。

この状況について何か良い提案はありますか。

4

3 に答える 3

0

間違いなくデータマイニング。しかし、あなたが指摘するように、あなたはすでにモデル(あなたのテンプレート)を持っています。より良い検索結果を得るために、防止ではなく詐欺の検出を調べますか?

一部の銀行は、不正検出にSPSSPASWModelerを使用していることを知っています。これは非常に直感的で、データをいじってみながら何をしているかを確認できます。したがって、テンプレートを実装できます。私はジョセフに同意します。あなたは遊んで、いくつかの新しいデータ構造を作る必要があります。

多分時系列モデル?

于 2010-02-21T23:02:53.970 に答える
0

あなたが述べたように、「従来のクエリ」を使用できない理由がわかりません。SQL を使用して、非常に複雑なクエリを作成できます。さらに言えば、これが非常に難しい質問であるかどうかはわかりません。

まず、あなたがさまざまなトランザクションとして説明した動作を確認します。したがって、トランザクションをモデルとして扱います。、、、などのtransactionsいくつかの列を含むテーブルがあると思います...buyerselleramount

またはshares、独自のテーブルとして保存し、STI (Single Table Inheritance) を使用して同じテーブル内のその共有の前の 100 人の所有者を購入し、そのようなテーブルの「所有者」列に所有者のすべての主キーを入れることもできますshares234/823/12334/1234/...複雑なクエリを実行して、その共有が同じ人によって所有されているかどうかを確認したり、文字列内のパターンを非常に簡単かつ迅速に検索したりできます。

-アップデート-

「小さな言語」を作成することはお勧めしません。すばらしい言語とデータベースが膨大に選択されているのに、なぜそのようなことをしたいのかわかりません。そのすべてが十分に洗練され、テストされた方法を持っていますあなたがしていることを正確に解決するために。

私の最善のアドバイスは、IDE を開いて (TextMate に賛成)、好きな言語 (私の場合は Ruby) を選ぶことです。サンプル データを見つけてデータベースを作成し、コードを書き始めましょう。このように実験を試みて失敗することはありません。Stackoverflow で思いつくよりも、より良い方法が明らかになるでしょう。

于 2010-02-21T20:31:48.420 に答える
-1

理論的には、最初に「スモール言語」を開発することができます。これは、単純な構文 (ドメイン (あなたの場合は詐欺パターン) を簡単に表現できます) を備えたものであり、そこから 1 つ以上の SQL クエリを生成できます。

ほとんどのソリューションと同様に、これはスライダーと考えることができます。一方の極端には「完全な不正検出言語」があり、もう一方の極端には、最も一般的なケースのストアド プロシージャを構築し、より多くを使用する新しいストアド プロシージャを作成することができます。さまざまなパターンを実装するために以前に書いた「基本的な」ブロック。

あなたがやろうとしていることはデータマイニングの傘下にあるので、それについてもっと学ぶこともできます: 特定の DB (指定しなかった) 用のデータマイニングパッケージを見つけて、それがあなたの発見に役立つかどうかを確認することができます.データの一般的なパターン。

于 2010-02-21T20:21:03.123 に答える