GithubHelp home page GithubHelp logo

identification-of-abnormal-transfer-behavior's Introduction

异常转账行为识别

基于深度搜索和随机游走的有向图遍历算法

运行环境

python==3.6.4
numpy==1.16.4

问题重述

通过金融风控的资金流水分析,可有效识别循环转账,辅助公安挖掘洗钱组织,帮助银行预防信用卡诈骗。基于给定的资金流水,检测并输出指定约束条件的所有循环转账。

数据详情

输入为包含资金流水的文本文件,每一行代表一次资金交易记录,包含本端账号ID, 对端账号ID, 转账金额,用逗号隔开。举例如下,其中第一行1,2,100表示ID为1的账户给ID为2的账户转账100元:
1,2,100
1,3,100

输出结果

第一行输出:满足限制条件下的循环转账个数。第二行开始:输出所有满足限制条件的循环转账路径详情。

解决方案

  1. 创建布尔型连接矩阵(利用Scipy.sparse创建稀疏矩阵更加节省内存),S代表资金源头,T代表转账目标,0代表没有转账,1代表发生转账:
存储
  1. 遍历资金源头的每一个客户,并指定其一级连接方式,例如:1->2->…我们就从2处开始分析。当分析完这个情况时,我们再分析1的其它可能连接情况。其中,每一级连接的目标都可以通过其对应行向量中为1的值对应的列索引得到。并把每一次连接的头部与尾部用列表保存下来,例如:
头尾
  1. 通过头部列表与尾部列表构建连接方式,这里逆用杨辉三角解决问题:我们从最后一层构建个数连接关系,我们将源头数字转换为字符串格式,并与下图中的数值进行相乘。
连接
  1. 计算得到转账关系矩阵:
结果

结果分析

我们从上述连接关系中寻找循环部分便为循环转账用户,具体结果见文档
对于6000用户的数据集上述方法耗时1.26秒。具体代码参见mainV1.2.py
对于大型数据集,我们可以采用随机游走的方式得到完整的循环转账用户,核心算法和上述过程一致,为了加快搜索可以在程序中引入多线程,具体代码参见mainV1.3.py

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.