CN104199832B - 基于信息熵的金融网络异常交易社区发现方法 - Google Patents
基于信息熵的金融网络异常交易社区发现方法 Download PDFInfo
- Publication number
- CN104199832B CN104199832B CN201410376627.7A CN201410376627A CN104199832B CN 104199832 B CN104199832 B CN 104199832B CN 201410376627 A CN201410376627 A CN 201410376627A CN 104199832 B CN104199832 B CN 104199832B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- mtd
- account
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于信息熵的金融网络异常交易社区发现方法,具体步骤如下:步骤1、分析异常交易的过程和模式,提取大额交易和可疑交易特征;步骤2、利用邻接矩阵存储账户的交易金额和交易频次信息对特征量化;步骤3、定义节点的信息熵;步骤4、根据基于节点信息熵的异常交易社区发现方法对金融网络节点进行社区划分和发现。步骤5、评价社区发现的结果。首先计算该方法对异常交易账户识别和异常交易社区划分的精确率,其次利用社区评价指标模块度Q评价异常交易社区结构。本发明首次将基于信息熵的社区发现方法应用到反洗钱领域,通过发现异常交易社区,可以对洗钱账户进行识别和追踪,并分析洗钱账户之间的联系和交易规律,防范异常交易。
Description
技术领域
本发明属于网络金融社区技术领域,具体一种基于信息熵的金融网络异常交易社区发现方法。
背景技术
社区发现是目前应用于社会网络分析最为流行和成熟的技术,主要是指对网络中那些内在联系紧密,外在联系稀疏的团体或子网络进行发现,形成多个子社区,对这些社区进行挖掘,能够发现网络中隐藏的联系和规律,对网络的行为做出预测,进而在对分析复杂网络特性、检索复杂网络中的信息和解决网络中的特定问题时能够提出更好更高效的解决办法。金融网络是一种复杂网络,根据复杂网络具有的社区结构特性,对金融网络中的社区结构进行发现,能够划分出代表不同交易特征的社区。现有的金融网络异常交易社区发现方法首先对金融网络中的交易行为和资金流等特征进行分析,结合交易过程和模式特点,参考我国大额交易报告的详细规定,对异常交易和大额交易频次分析和识别。再在金融网络社区结构分析的基础上,对异常交易进行特征提取、量化等步骤,根据金融网络中节点的相似性或联系紧密度作为划分依据,对网络中的节点进行划分,从而形成一些内在节点高度相似或联系紧密,外在节点彼此相异或联系松散的子团或子网络,这些子团或子网络称为社区,整个网络就是由这些社区组成的。但现有异常交易社区发现方法存在效率和精度较低,难以发现隐蔽性较好的异常交易等问题。
发明内容
本发明提供了一种基于信息熵的金融网络异常交易社区发现方法,解决了现有方法难以计算异常交易的发生概率,及通过金融网络节点间联系和概率相似性进行社区划分与发现的精度和效率较低的问题。
本发明所采用的技术方案是:基于信息熵的金融网络异常交易社区发现方法,具体按照以下步骤实施:
步骤1:异常交易特征提取和量化;
步骤2:定义节点信息熵;
阶段3:发现异常交易社区。
本发明的特点还在于,
其中的步骤1具体按照以下步骤实施:
1)特征提取:
设账户i的单笔交易金额为qij,qi0为账户i单笔取款交易金额,q0i为账户i单笔存款交易金额,单日累计交易金额为qi,m1,m2,m3分别表示单日内账户i的累计转账交易频次、存款交易频次和取款交易频次,
对于qij和qi的值,有以下判断标准:
M1为单日大额交易标准上限,M2为单日累计大额交易标准上限,其中任一个条件满足,就可以认为该账户为大额交易账户;
账户i在单日内的累计交易频次为k,一段时间内的累计交易频次为K, 有以下判断标准:
满足任一条件,就认为该账户具有可疑交易特征,只有当同时满足判断标准(3)中这两个标准,认为是具有异常交易特征;
2)特征量化:
统一交易币种为人民币,对于外汇交易根据国际货币换算标准,换算为等额的人民币,交易金额以万元为交易金额单位,存储精度为4位小数位,预处理之后的交易金额采用邻接矩阵Wij(i,j∈V)来存储,矩阵每个元素的值是相应账户在一段时间内的累计交易金额,账户自身的存取款金额累加到Wij矩阵的wii元素中,如果账户i与账户j之间存在交易,则对应的wij为非零值,否则记为0,如下所示:n表示账户个数,n∈Z,
qij为账户i每天的累计交易金额,k为交易天数;
wij(i≠j)表示账户i向账户j的转账金额,wji(i≠j)表示账户j到账户i的转账金额,wii表示节点自身的交易金额;
金融网络的交易频次信息采用邻接矩阵Aij(i,j∈V)来表示,为了明确表示网络中的交易类型信息,在网络中添加了一个0节点,用来表示账户的存取款交易频次信息,相应的矩阵Aij为一个(n+1)·(n+1)的矩阵,账户i的存款 交易频次信息存储在元素[0,i]中,账户i的取款交易频次信息存储在元素[i,0]中,矩阵每个元素的值都是一定时间内的累计值;aij表示账户i向账户j转账的交易频次,存储在[i,j]元素中,如果账户i与账户j之间存在交易,则对应位置的矩阵元素aij为非零值,否则记为0,如下所示,n∈Z,表示账户个数:
其中,aij(i≠j)存储账户i到账户j的交易频次,aji(i≠j)存储账户j到账户i的交易频次,a0i,ai0存储节点自身的存取款交易频次,其中aii的值存储为0。
其中的步骤2具体按照以下步骤实施:
根据Wij矩阵中账户交易金额的值,账户i的交易金额Qi为:
n∈Z,n表示金融网络中账户的个数,也是网络图中节点的个数;
网络总的交易金额为Q为:
Wfreqi为账户i的交易金额占整个网络总的交易金额的比例,即:
Wfreqi表示了账户i属于大额交易账户的概率,Qi的值越大,账户i属于大额交易账户的概率越大;
根据Aij矩阵中账户交易频次的值,账户i的交易频次Di为:
网络总的交易频次为D为:
Dfreqi为账户i的交易频次占整个网络的交易频次的比例,即:
Dfreqi表示了账户i属于可疑交易账户的概率,Di的值越大,账户i属于可疑交易账户的概率就越大,只有当一个账户同时满足大额交易和可疑交易特征,被认为是异常交易账户,因此,对应的账户i属于洗钱账户的概率为:
p(xi)=Wfreqi·Dfreqi, (11)
账户i的节点信息熵为:
其中,网络节点i的信息熵用Hi来表示,即Hi=H(xi),网络的信息熵通过计算该网络所有节点的信息熵的均值来得到:
其中的步骤3具体按照以下步骤实施:
第一步骤是对输入的金融网络交易数据进行预处理,具体按照以下步骤实施:
Step1:从原始交易数据中去掉不相关的字段和记录;
Step2:对交易账户进行从1到N的编号,N∈Z,N表示交易数据中的 账户个数,并将交易金额的交易单位转换为万元,转换公式如下所示;
wi=wi/10000, (14)
i表示编号为i的交易账户,i=1,…,N,wi表账户i的单笔交易金额;
Step3:输入:交易数据保存为data.txt文件,遍历每一行数据,分别记录每个账户的累计存款交易频次cd、取款交易频次qd和转账交易频次zd,并保存到矩阵Aij中;
当满足zd=0时,说明该账户为非活跃账户,从data.txt文件中删除这些账户对应的记录,对于活跃账户i,其累计交易频次Di为:
Di=cd+qd+zd, (15)
输出:Node_account.txt文件,更新后的data.txt文件,其中,Node_account.txt存储活跃账户节点的交易频次信息,包括两个字段:“账户编号”和“交易频次”;
Step4:输入:data.txt文件,遍历每一行数据,分别记录每个账户的累计存款交易金额cw、取款交易金额qw和转账交易金额zw,并保存到矩阵Wij中,账户i的累计交易金额为Wi为:
Wi=cw+qw+zw, (16)
输出:Node_amount.txt文件,其中,Node_amount.txt存储活跃账户节点的交易金额信息,包括两个字段:“账户编号”和“交易金额”;
Step5:输入:Node_acount.txt和Node_amount.txt,合并这两个文件,生成一个表示账户编号和交易信息的数据文件;
输出:Node_info.txt,该文件包括三个字段:账户编号、交易频次和交易金额,其中,最大账户编号为N,N∈Z,有效账户个数为n,n∈Z,n<=N;
Step6:输入:data.txt文件,遍历每一条交易类型为转账的交易记录, 寻找交易网络图中的边信息,并删除重复的边信息;
输出:Edge.txt文件,由两个字段构成:“账户编号”和“交易账户编号”;
第二步骤是金融网络节点社区划分,具体按照以下步骤实施:
Q:金融网络图的所有账户节点集合;
U:一个社区内所有账户节点的邻节点集合,即存在转账交易的账户节点集合;
C:临时社区C内所有账户节点集合;
Ck:社区k内所有账户节点的集合;
Step1:输入:Node_info.txt文件,遍历每一行数据,计算每个节点的熵Hi,以及网络的平均熵H,并依次存入数组中相应的位置,初始化集合Q={i,i=1,2,...,n},n为效账户个数,也就是Node_info.txt文件中账户编号那一列的所有值,U=Φ(Φ表示空集),C=Φ,社区计数器k=0;
Step2:输入:Edge.txt文件,从集合Q中选取熵信息最大的节点作为初始社区核,遍历Edge.txt文件,将核节点的邻接点以及核节点存入集合C中,更新集合U,U={集合C内所有节点的邻接点集合};
Step3:计算社区C的熵Hc,如公式(17)所示:
其中,l为社区C中包含的节点个数,i为账户编号,i=1,...,N,Hi为账户编号为i的账户节点的信息熵;
如果Hc>=H,则继续Step4,否则,更新,Q={Q-C},U=Φ,C=Φ,回到Step2;
Step4:从U集合中选择一个熵最大的节点,判断该节点的熵是否大于 H,如果大于,则继续Step5,否则,k=k+1,更新集合Ck=C,Q={Q-U-Ck},U=Φ,C=Φ,回到Step2;
Step5:计算加入该节点之后的社区熵Hc′i,如下所示:
如果Hc′i>=H,则继续Step6。否则,k=k+1,更新集合Ck=C,Q={Q-Ck},U=Φ,C=Φ,回到Step2;
Step6:计算加入节点之后社区C的社区信息熵的增量的绝对值ΔH,如下所示:
ΔH=|Hc′i-Hc|, (19)
采用网络平均信息熵H和节点信息熵的标准差σ作为信息熵增量阈值Δ的标准,其中n为账户个数,n∈Z,N为最大账户编号;
Δ=[0,H+σ], (21)
如果ΔH<=Δ,则添加该节点到社区C中,从U中去掉该节点,将新增节点的邻接点添加到集合U中,并继续Step7,否则,从U中去掉该节点,回到Step4;
Step7:如果U≠Φ,则回到Step4,否则k=k+1,更新集合Ck=C,Q={Q-Ck},C=Φ,继续Step8;
Step8:如果Q≠Φ,则回到Step2,否则,所有满足条件的节点都被划分到相应的异常交易社区中,结束第二步骤;
第三步骤为子社区的合并,具体按照以下步骤实施:
Step1:输入:Ck,k表示社区个数,k∈Z,计算任一两个社区之间链 接的边数Eij(i,j=1,...,k,i≠j),i,j表示社区i和社区j,并存入数组E中;
Step2:如果数组E为空,则结束社区合并,否则,从E中取最大的max(Eij),如果max(Eij)=0,不需要进行社区合并,结束,否则,继续Step3;
Step3:计算合并社区Ci和Cj之后的社区信息熵增量ΔHi和ΔHj,计算公式如下所示:
其中,i,j=1,...,k,i≠j,Hci和Hcj分别表示社区Ci和社区Cj的社区熵,li和lj跟别表示社区Ci和社区Cj中包含的节点个数;
如果ΔHi<=Δ|ΔHj<=Δ,则合并社区Ci和Cj,更新Ck为Ck-1,并从E中删除该条Eij记录,更新E中的Eij,回到Step1,否则,不合并,且从E中删除该Eij记录,回到Step2。
本发明的有益效果是:(1)通过对金融网络结构以及异常交易特征的分析,证明了金融网络具有复杂网络具有的一般特性,即动态演化、无标度性和社区结构。金融网络的演化模型即为基于点、边的含权网络动态演化模型。金融网络的无标度性主要是指在金融网络中,大多数账户的交易都趋于正常,只有少数的账户具有异常的交你把易行为。金融网络中具有的社区结构特性就是本方法提出的基础。金融网络中的洗钱节点,往往是团体合作,彼此联系紧密,交易频繁,且具有相同的大额交易和可疑交易特征,因此,在金融网络中存在着以洗钱为目的的异常交易社区。对这些异常交易社区进行分析,可以高效的展开反洗钱账户的识别和追踪,从而大大减少了工作量。(2)提出了基于信息熵的金融网络异常交易社区发现方法。定义了节点的 信息熵为金融网络中洗钱账户的出现概率。根据节点的交易金额和交易频率作为计算节点信息熵的两个特征向量。利用节点信息熵的相似性和社区信息熵的稳定性作为节点划分和社区发现的依据。本方法通过利用实际的金融网络交易数据对具有异常交易特征的账户进行了社区划分和发现,最终形成了具有大额交易和可疑交易特征的异常交易社区,并且具有良好的社区结构和较高的识别准确率。验证了将社区发现技术运用到反洗钱领域具有很大的可行性,同时有效地验证了本方法在异常交易社区识别方面的可用性。具有很大的研究意义和实用价值。
附图说明
图1是本发明方法设定的一个异常交易网络图;
图2是本发明方法的金融网络动态交易模型;
图3是本发明方法的金融网络交易类型图;
图4是本发明方法的金融网络交易结构图;
图5是本发明方法中基于信息熵的社区节点划分图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
参照图1(交易金额单位为万元)和图2,异常交易的主要特征体现在大额金额和频繁交易这两个主要特征上,首先需要对这两个特征进行提取和量化。
阶段1、异常交易特征提取和量化
(1)特征提取
通过对洗钱案例的研究和洗钱特征的分析,大额交易和可疑交易是识别异常交易的最主要特征,并且大额交易可以通过账户的单笔交易金额、累 计交易金额进行量化,可疑交易可以通过账户在一段时间内的交易频次进行量化。
参照图3所示的交易类型,设账户i的单笔交易金额为qij(账户i与账户j的转账交易),qi0为账户i单笔取款交易金额,q0i为账户i单笔存款交易金额,单日累计交易金额为qi,m1,m2,m3分别表示单日内账户i的累计转账交易频次、存款交易频次和取款交易频次。
对于qij和qi的值,有以下判断标准:
M1为单日大额交易标准上限,M2为单日累计大额交易标准上限。其中任一个条件满足,就可以认为该账户为大额交易账户。
账户i在单日内的累计交易频次为k(包括所有的交易类型),一段时间内的累计交易频次为K,有以下判断标准:
满足任一条件,就认为该账户具有可疑交易特征。但是,只有当同时满足判断标准(3)中这两个标准,才能认为是具有异常交易特征。
(2)特征量化
大额交易是对异常交易的一种定性描述,需要通过交易金额来进行定量的描述。银行存储的交易记录中,交易金额还包括其他的一些附加属性,例如交易币种、货币单位等。为了便于计算,本方法统一交易币种为人民币, 对于外汇交易根据国际货币换算标准,换算为等额的人民币,交易金额以万元为交易金额单位,存储精度为4位小数位。预处理之后的交易金额采用邻接矩阵Wij(i,j∈V)来存储。矩阵每个元素的值是相应账户在一段时间内的累计交易金额。账户自身的存取款金额累加到Wij矩阵的wii元素中。如果账户i与账户j之间存在交易,则对应的wij为非零值,否则记为0。如下所示:n(n∈Z)表示账户个数。
qij为账户i每天的累计交易金额,k为交易天数。
wij(i≠j)表示账户i向账户j的转账金额,wji(i≠j)表示账户j到账户i的转账金额,wii表示节点自身的交易金额(存款和取款)。
可疑交易是对异常交易的一种定性描述,需要通过交易频次来进行定量的描述。与矩阵Wij的定义类似,金融网络的交易频次信息采用邻接矩阵Aij(i,j∈V)来表示,为了明确表示网络中的交易类型信息,在网络中添加了一个0节点,用来表示账户的存取款交易频次信息,相应的矩阵Aij为一个(n+1)·(n+1)的矩阵,账户i的存款交易频次信息存储在元素[0,i]中,账户i的取款交易频次信息存储在元素[i,0]中,矩阵每个元素的值都是一定时间内的累计值。aij表示账户i向账户j转账的交易频次,存储在[i,j]元素中。如果账户i与账户j之间存在交易,则对应位置的矩阵元素aij为非零值,否则记为0。如下所示(n∈Z,表示账户个数):
其中,aij(i≠j)存储账户i到账户j的交易频次,aji(i≠j)存储账户j到账户i的交易频次,a0i,ai0存储节点自身的存取款交易频次,其中aii的值存储为0。
阶段2、定义节点信息熵
节点的信息熵即为节点代表的交易账户属于异常交易账户的概率。利用节点的交易金额和交易频次作为计算节点信息熵的特征向量。节点的交易金额和交易频次分别利用邻接矩阵Wij和Aij来存储的,因此根据矩阵中元素值的定义,利用以下公式对节点的信息熵进行计算。
根据Wij矩阵中账户交易金额的值,账户i的交易金额Qi为(n∈Z,n表示金融网络中账户的个数,也是网络图中节点的个数):
网络总的交易金额为Q为:
Wfreqi为账户i的交易金额占整个网络总的交易金额的比例,即:
Wfreqi表示了账户i属于大额交易账户的概率,Qi的值越大,账户i属于大额交易账户的概率越大。
根据Aij矩阵中账户交易频次的值,账户i的交易频次Di为:
网络总的交易频次为D为:
Dfreqi为账户i的交易频次占整个网络的交易频次的比例,即:
Dfreqi表示了账户i属于可疑交易账户的概率,Di的值越大,账户i属于可疑交易账户的概率就越大。只有当一个账户同时满足大额交易和可疑交易特征,才能被认为是异常交易账户。因此,对应的账户i属于洗钱账户的概率为:
p(xi)=Wfreqi·Dfreqi (11)
账户i的节点信息熵为:
其中,为了统一标记,网络节点i的信息熵用Hi来表示,即Hi=H(xi)。网络的信息熵可以通过计算该网络所有节点的信息熵的均值来得到:
阶段3、异常交易社区发现
基于信息熵的社区发现方法的原理就是根据节点信息熵的相似性和社区信息上的稳定性来对金融网络节点进行社区划分和异常交易社区结构发现的。
该方法主要由三个步骤组成,分别为数据预处理、金融网络节点社区划 分、子社区合并。
第一步骤是对输入的金融网络交易数据进行预处理。按照以下流程进行:
Step1:从原始交易数据中去掉不相关的字段和记录。银行存储的原始交易数据主要包括以下字段和记录,如表1所示:
表1银行交易记录
需要去掉一些与本方法不相关的字段和记录,对于外币交易,按照汇率换算标准转换为人民币。最后只保留“账户”、“摘要”、“交易金额”、“交易账户”这几个字段和相应的记录。
Step2:对交易账户进行从1到N(N∈Z,N表示交易数据中的账户个数)的编号,并将交易金额的交易单位转换为万元,转换公式如下所示;
wi=wi/10000 (14)
i(i=1,…,N)表示编号为i的交易账户,wi表账户i的单笔交易金额(包括转账和存取款交易金额)。转换后的数据如表2所示:
表2转换后的交易数据
| 账户编号 | 交易类型 | 交易金额 | 交易账户 |
| 1 | 存款 | 0.0400 | null |
| 2 | 转账 | 5.0000 | 652 |
| 3 | 存款 | 0.6000 | null |
| 4 | 取款 | 0.0700 | null |
Step3:输入:交易数据保存为data.txt文件,遍历每一行数据,分别记录每个账户的累计存款交易频次cd、取款交易频次qd和转账交易频次zd, 并保存到矩阵Aij中。
当满足zd=0时,说明该账户为非活跃账户,从data.txt文件中删除这些账户对应的记录,对于活跃账户i,其累计交易频次Di为:
Di=cd+qd+zd (15)
输出:Node_account.txt文件,更新后的data.txt文件。其中,Node_account.txt存储活跃账户节点的交易频次信息,包括两个字段:“账户编号”和“交易频次”。
Step4:输入:data.txt文件。遍历每一行数据,分别记录每个账户的累计存款交易金额cw、取款交易金额qw和转账交易金额zw,并保存到矩阵Wij中。账户i的累计交易金额为Wi为:
Wi=cw+qw+zw (16)
输出:Node_amount.txt文件。其中,Node_amount.txt存储活跃账户节点的交易金额信息,包括两个字段:“账户编号”和“交易金额”。
Step5:输入:Node_acount.txt和Node_amount.txt。合并这两个文件,生成一个表示账户编号和交易信息的数据文件。
输出:Node_info.txt。该文件包括三个字段:账户编号、交易频次和交易金额。其中,最大账户编号为N(N∈Z),有效账户个数为n(n∈Z,n<=N)。
Step6:输入:data.txt文件,遍历每一条交易类型为转账的交易记录,寻找交易网络图中的边信息,并删除重复的边信息。
输出:Edge.txt文件,由两个字段构成:“账户编号”和“交易账户编号”。
如图5所示为社区节点的划分。
第二步骤是异常交易社区发现的关键,主要按照以下流程进行:
Q:金融网络图的所有账户节点集合(下文所说的节点均表示账户节点);
U:一个社区内所有账户节点的邻节点集合,即存在转账交易的账户节点集合。
C:临时社区C内所有账户节点集合;
Ck:社区k内所有账户节点的集合
Step1:输入:Node_info.txt文件,遍历每一行数据,计算每个节点的熵Hi,以及网络的平均熵H。并依次存入数组中相应的位置。初始化集合Q={i,i=1,2,...,n},n为效账户个数,也就是Node_info.txt文件中账户编号那一列的所有值。U=Φ(Φ表示空集),C=Φ,社区计数器k=0;
Step2:输入:Edge.txt文件。从集合Q中选取熵信息最大的节点作为初始社区核,遍历Edge.txt文件,将核节点的邻接点以及核节点存入集合C中,更新集合U,U={集合C内所有节点的邻接点集合};
Step3:计算社区C的熵Hc,如公式(17)所示:
其中,l为社区C中包含的节点个数,i为账户编号(i=1,...,N),Hi为账户编号为i的账户节点的信息熵。
如果Hc>=H,则继续Step4。否则,更新,Q={Q-C},U=Φ,C=Φ,回到Step2;
Step4:从U集合中选择一个熵最大的节点,判断该节点的熵是否大于H,如果大于,则继续Step5。否则,k=k+1,更新集合Ck=C,Q={Q-U-Ck},U=Φ,C=Φ,回到Step2;
Step5:计算加入该节点之后的社区熵Hc′i,如下所示:
如果Hc′i>=H,则继续Step6。否则,k=k+1,更新集合Ck=C,Q={Q-Ck},U=Φ,C=Φ,回到Step2;
Step6:计算加入节点之后社区C的社区信息熵的增量的绝对值ΔH,如下所示:
ΔH=|Hc′i-Hc| (19)
在本方法中,考虑到账户交易在交易金额以及交易频次上具有的不确定性和波动性,采用网络平均信息熵H和节点信息熵的标准差σ作为信息熵增量阈值Δ的标准,其中n(n∈Z)为账户个数,N为最大账户编号。
Δ=[0,H+σ] (21)
如果ΔH<=Δ,则添加该节点到社区C中,从U中去掉该节点,将新增节点的邻接点添加到集合U中,并继续Step7。否则,从U中去掉该节点,回到Step4;
Step7:如果U≠Φ,则回到Step4。否则k=k+1,更新集合Ck=C,Q={Q-Ck},C=Φ,继续Step8;
Step8:如果Q≠Φ,则回到Step2。否则,所有满足条件的节点都被划分到相应的异常交易社区中,结束第二步骤。
第三步骤为子社区的合并。经过第二步骤生成的多个洗钱子社区之间有可能并不全是完全独立的,它们具有一定的联系和相似的信息熵。合并这样的社区,社区熵依然会保持一定的稳定性。虽然合并后的社区内部紧密度会有所降低,但并不影响整个异常交易社区的结构,还能够精简异常交易社区结构。
Step1:输入:Ck,k表示社区个数(k∈Z)。计算任一两个社区之间链接的边数Eij(i,j=1,...,k,i≠j),i,j表示社区i和社区j。并存入数组E中;
Step2:如果数组E为空,则结束社区合并。否则,从E中取最大的max(Eij),如果max(Eij)=0,不需要进行社区合并,结束。否则,继续Step3;
Step3:计算合并社区Ci和Cj之后的社区信息熵增量ΔHi和ΔHj,计算公式如下所示:
其中,i,j=1,...,k,i≠j,Hci和Hcj分别表示社区Ci和社区Cj的社区熵,li和lj跟别表示社区Ci和社区Cj中包含的节点个数。
如果ΔHi<=Δ|ΔHj<=Δ,则合并社区Ci和Cj,更新Ck为Ck-1,并从E中删除该条Eij记录,更新E中的Eij,回到Step1。否则,不合并,且从E中删除该Eij记录,回到Step2;
通过以上三个步骤,最终会生成包含多个子社区的异常交易社区结构。
图4是本发明方法中的金融网络交易结构图。表示金融网络中,交易账户间的资金流转情况。其中带有编号的圆圈表示金融网络中的节点,即交易账户;带箭头链接各节点的边表示资金流动方向,边的权值代表了预处理后的一段时间内总的交易金额。
Claims (3)
1.基于信息熵的金融网络异常交易社区发现方法,其特征在于,具体按照以下步骤实施:
步骤1:异常交易特征提取和量化,具体按照以下步骤实施:
1)特征提取:
设账户i的单笔交易金额为qij,qi0为账户i单笔取款交易金额,q0i为账户i单笔存款交易金额,单日累计交易金额为qi,m1,m2,m3分别表示单日内账户i的累计转账交易频次、存款交易频次和取款交易频次,
<mrow>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mn>1</mn>
<msub>
<mi>m</mi>
<mn>1</mn>
</msub>
</munderover>
<msub>
<mi>q</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mn>1</mn>
<msub>
<mi>m</mi>
<mn>2</mn>
</msub>
</munderover>
<msub>
<mi>q</mi>
<mrow>
<mn>0</mn>
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mn>1</mn>
<msub>
<mi>m</mi>
<mn>3</mn>
</msub>
</munderover>
<msub>
<mi>q</mi>
<mrow>
<mi>i</mi>
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>m</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>m</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<msub>
<mi>m</mi>
<mn>3</mn>
</msub>
<mo>&Element;</mo>
<mi>Z</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
对于qij和qi的值,有以下判断标准:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>q</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>q</mi>
<mrow>
<mi>i</mi>
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>q</mi>
<mrow>
<mn>0</mn>
<mi>i</mi>
</mrow>
</msub>
<mo>></mo>
<mo>=</mo>
<msub>
<mi>M</mi>
<mn>1</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>></mo>
<mo>=</mo>
<msub>
<mi>M</mi>
<mn>2</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo>...</mo>
<mi>n</mi>
<mo>,</mo>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo>...</mo>
<mi>n</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
M1为单日大额交易标准上限,M2为单日累计大额交易标准上限,其中任一个条件满足,就可以认为该账户为大额交易账户;
账户i在单日内的累计交易频次为k,一段时间内的累计交易频次为K,有以下判断标准:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>k</mi>
<mo>></mo>
<mo>=</mo>
<mn>3</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>K</mi>
<mo>></mo>
<mo>=</mo>
<mn>10</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
满足任一条件,就认为该账户具有可疑交易特征,只有当同时满足判断标准(3)中这两个标准,认为是具有异常交易特征;
2)特征量化:
统一交易币种为人民币,对于外汇交易根据国际货币换算标准,换算为等额的人民币,交易金额以万元为交易金额单位,存储精度为4位小数位,预处理之后的交易金额采用邻接矩阵Wij(i,j∈V)来存储,矩阵每个元素的值是相应账户在一段时间内的累计交易金额,账户自身的存取款金额累加到Wij矩阵的wii元素中,如果账户i与账户j之间存在交易,则对应的wij为非零值,否则记为0,如下所示:n表示账户个数,n∈Z,
<mrow>
<msup>
<mi>W</mi>
<mrow>
<mi>n</mi>
<mo>&times;</mo>
<mi>n</mi>
</mrow>
</msup>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>w</mi>
<mn>11</mn>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mn>1</mn>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mn>1</mn>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mi>n</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>w</mi>
<mrow>
<mi>n</mi>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mn>1</mn>
<mi>k</mi>
</munderover>
<msub>
<mi>q</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>&Element;</mo>
<mi>Z</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mrow>
qij为账户i每天的累计交易金额,k为交易天数;
wij(i≠j)表示账户i向账户j的转账金额,wji(i≠j)表示账户j到账户i的转账金额,wii表示节点自身的交易金额;
金融网络的交易频次信息采用邻接矩阵Aij(i,j∈V)来表示,为了明确表示网络中的交易类型信息,在网络中添加了一个0节点,用来表示账户的存取款交易频次信息,相应的矩阵Aij为一个(n+1)·(n+1)的矩阵,账户i的存款交易频次信息存储在元素[0,i]中,账户i的取款交易频次信息存储在元素[i,0]中,矩阵每个元素的值都是一定时间内的累计值;aij表示账户i向账户j转账的交易频次,存储在[i,j]元素中,如果账户i与账户j之间存在交易,则对应位置的矩阵元素aij为非零值,否则记为0,如下所示,n∈Z,表示账户个数:
<mrow>
<msup>
<mi>A</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
<mo>&times;</mo>
<mo>(</mo>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msup>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mn>00</mn>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mn>0</mn>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mn>0</mn>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mn>0</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mi>n</mi>
<mn>0</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mi>n</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mrow>
<mi>n</mi>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
其中,aij(i≠j)存储账户i到账户j的交易频次,aji(i≠j)存储账户j到账户i的交易频次,a0i,ai0存储节点自身的存取款交易频次,其中aii的值存储为0;
步骤2:定义节点信息熵;
步骤3:发现异常交易社区。
2.根据权利要求1所述的基于信息熵的金融网络异常交易社区发现方法,其特征在于,所述的步骤2具体按照以下步骤实施:
根据Wij矩阵中账户交易金额的值,账户i的交易金额Qi为:
<mrow>
<msub>
<mi>Q</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mi>j</mi>
</munder>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>+</mo>
<munder>
<mo>&Sigma;</mo>
<mi>j</mi>
</munder>
<msub>
<mi>w</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>,</mo>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
n∈Z,n表示金融网络中账户的个数,也是网络图中节点的个数;
网络总的交易金额为Q为:
<mrow>
<mi>Q</mi>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mi>i</mi>
<mi>n</mi>
</munderover>
<msub>
<mi>Q</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mrow>
Wfreqi为账户i的交易金额占整个网络总的交易金额的比例,即:
<mrow>
<msub>
<mi>Wfreq</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>Q</mi>
<mi>i</mi>
</msub>
<mi>Q</mi>
</mfrac>
<mo>=</mo>
<mfrac>
<msub>
<mi>Q</mi>
<mi>i</mi>
</msub>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>Q</mi>
<mi>i</mi>
</msub>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
Wfreqi表示了账户i属于大额交易账户的概率,Qi的值越大,账户i属于大额交易账户的概率越大;
根据Aij矩阵中账户交易频次的值,账户i的交易频次Di为:
<mrow>
<msub>
<mi>D</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>a</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
网络总的交易频次为D为:
<mrow>
<mi>D</mi>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mi>i</mi>
<mi>n</mi>
</munderover>
<msub>
<mi>D</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
Dfreqi为账户i的交易频次占整个网络的交易频次的比例,即:
<mrow>
<msub>
<mi>Dfreq</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>D</mi>
<mi>i</mi>
</msub>
<mi>D</mi>
</mfrac>
<mo>=</mo>
<mfrac>
<msub>
<mi>D</mi>
<mi>i</mi>
</msub>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>D</mi>
<mi>i</mi>
</msub>
</mrow>
</mfrac>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>10</mn>
<mo>)</mo>
</mrow>
</mrow>
Dfreqi表示了账户i属于可疑交易账户的概率,Di的值越大,账户i属于可疑交易账户的概率就越大,只有当一个账户同时满足大额交易和可疑交易特征,被认为是异常交易账户,因此,对应的账户i属于洗钱账户的概率为:
p(xi)=Wfreqi·Dfreqi, (11)
账户i的节点信息熵为:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>-</mo>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msub>
<mi>log</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>p</mi>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mo>-</mo>
<msub>
<mi>Wfreq</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>Dfreq</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>log</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>Wfreq</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
<msub>
<mi>Dfreq</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>12</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,网络节点i的信息熵用Hi来表示,即Hi=H(xi),网络的信息熵通过计算该网络所有节点的信息熵的均值来得到:
<mrow>
<mi>H</mi>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mi>n</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>H</mi>
<mi>i</mi>
</msub>
<mo>.</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>13</mn>
<mo>)</mo>
</mrow>
</mrow>
3.根据权利要求1所述的基于信息熵的金融网络异常交易社区发现方法,其特征在于,所述的步骤3具体按照以下步骤实施:
第一步骤是对输入的金融网络交易数据进行预处理,具体按照以下步骤实施:
Step1:从原始交易数据中去掉不相关的字段和记录;
Step2:对交易账户进行从1到N的编号,N∈Z,N表示交易数据中的账户个数,并将交易金额的交易单位转换为万元,转换公式如下所示;
wi=wi/10000, (14)
i表示编号为i的交易账户,i=1,…,N,wi表账户i的单笔交易金额;
Step3:输入:交易数据保存为data.txt文件,遍历每一行数据,分别记录每个账户的累计存款交易频次cd、取款交易频次qd和转账交易频次zd,并保存到矩阵Aij中;
当满足zd=0时,说明该账户为非活跃账户,从data.txt文件中删除这些账户对应的记录,对于活跃账户i,其累计交易频次Di为:
Di=cd+qd+zd, (15)
输出:Node_account.txt文件,更新后的data.txt文件,其中,Node_account.txt存储活跃账户节点的交易频次信息,包括两个字段:“账户编号”和“交易频次”;
Step4:输入:data.txt文件,遍历每一行数据,分别记录每个账户的累计存款交易金额cw、取款交易金额qw和转账交易金额zw,并保存到矩阵Wij中,账户i的累计交易金额为Wi为:
Wi=cw+qw+zw, (16)
输出:Node_amount.txt文件,其中,Node_amount.txt存储活跃账户节点的交易金额信息,包括两个字段:“账户编号”和“交易金额”;
Step5:输入:Node_acount.txt和Node_amount.txt,合并这两个文件,生成一个表示账户编号和交易信息的数据文件;
输出:Node_info.txt,该文件包括三个字段:账户编号、交易频次和交易金额,其中,最大账户编号为N,N∈Z,有效账户个数为n,n∈Z,n<=N;
Step6:输入:data.txt文件,遍历每一条交易类型为转账的交易记录,寻找交易网络图中的边信息,并删除重复的边信息;
输出:Edge.txt文件,由两个字段构成:“账户编号”和“交易账户编号”;
第二步骤是金融网络节点社区划分,具体按照以下步骤实施:
Q:金融网络图的所有账户节点集合;
U:一个社区内所有账户节点的邻节点集合,即存在转账交易的账户节点集合;
C:临时社区C内所有账户节点集合;
Ck:社区k内所有账户节点的集合;
Step1:输入:Node_info.txt文件,遍历每一行数据,计算每个节点的熵Hi,以及网络的平均熵H,并依次存入数组中相应的位置,初始化集合Q={i,i=1,2,...,n},n为效账户个数,也就是Node_info.txt文件中账户编号那一列的所有值,U=Φ(Φ表示空集),C=Φ,社区计数器k=0;
Step2:输入:Edge.txt文件,从集合Q中选取熵信息最大的节点作为初始社区核,遍历Edge.txt文件,将核节点的邻接点以及核节点存入集合C中,更新集合U,U={集合C内所有节点的邻接点集合};
Step3:计算社区C的熵Hc,如公式(17)所示:
<mrow>
<mi>H</mi>
<mi>c</mi>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mi>l</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mn>1</mn>
<mi>l</mi>
</munderover>
<msub>
<mi>H</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>17</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,l为社区C中包含的节点个数,i为账户编号,i=1,...,N,Hi为账户编号为i的账户节点的信息熵;
如果Hc>=H,则继续Step4,否则,更新,Q={Q-C},U=Φ,C=Φ,回到Step2;
Step4:从U集合中选择一个熵最大的节点,判断该节点的熵是否大于H,如果大于,则继续Step5,否则,k=k+1,更新集合Ck=C,Q={Q-U-Ck},U=Φ,C=Φ,回到Step2;
Step5:计算加入该节点之后的社区熵Hc′i,如下所示:
<mrow>
<msubsup>
<mi>Hc</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>H</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<mi>H</mi>
<mi>c</mi>
</mrow>
<mrow>
<mi>l</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</mfrac>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>18</mn>
<mo>)</mo>
</mrow>
</mrow>
如果Hc′i>=H,则继续Step6;否则,k=k+1,更新集合Ck=C,Q={Q-Ck},U=Φ,C=Φ,回到Step2;
Step6:计算加入节点之后社区C的社区信息熵的增量的绝对值ΔH,如下所示:
ΔH=|Hc′i-Hc|, (19)
采用网络平均信息熵H和节点信息熵的标准差σ作为信息熵增量阈值Δ的标准,其中n为账户个数,n∈Z,N为最大账户编号;
<mrow>
<mi>&sigma;</mi>
<mo>=</mo>
<msqrt>
<mrow>
<mfrac>
<mn>1</mn>
<mi>n</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<msup>
<mrow>
<mo>(</mo>
<mi>H</mi>
<mo>-</mo>
<msub>
<mi>H</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
<mo>,</mo>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>N</mi>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>20</mn>
<mo>)</mo>
</mrow>
</mrow>
Δ=[0,H+σ], (21)
如果ΔH<=Δ,则添加该节点到社区C中,从U中去掉该节点,将新增节点的邻接点添加到集合U中,并继续Step7,否则,从U中去掉该节点,回到Step4;
Step7:如果U≠Φ,则回到Step4,否则k=k+1,更新集合Ck=C,Q={Q-Ck},C=Φ,继续Step8;
Step8:如果Q≠Φ,则回到Step2,否则,所有满足条件的节点都被划分到相应的异常交易社区中,结束第二步骤;
第三步骤为子社区的合并,具体按照以下步骤实施:
Step1:输入:Ck,k表示社区个数,k∈Z,计算任一两个社区之间链接的边数Eij(i,j=1,...,k,i≠j),i,j表示社区i和社区j,并存入数组E中;
Step2:如果数组E为空,则结束社区合并,否则,从E中取最大的max(Eij),如果max(Eij)=0,不需要进行社区合并,结束,否则,继续Step3;
Step3:计算合并社区Ci和Cj之后的社区信息熵增量ΔHi和ΔHj,计算公式如下所示:
<mrow>
<msub>
<mi>&Delta;H</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mo>|</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>Hc</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>Hc</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>Hc</mi>
<mi>j</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>l</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>l</mi>
<mi>j</mi>
</msub>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>|</mo>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>22</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>&Delta;H</mi>
<mi>j</mi>
</msub>
<mo>=</mo>
<mo>|</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>Hc</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>Hc</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>Hc</mi>
<mi>j</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>l</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>l</mi>
<mi>j</mi>
</msub>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>|</mo>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>23</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,i,j=1,...,k,i≠j,Hci和Hcj分别表示社区Ci和社区Cj的社区熵,li和lj跟别表示社区Ci和社区Cj中包含的节点个数;
如果ΔHi<=Δ|ΔHj<=Δ,则合并社区Ci和Cj,更新Ck为Ck-1,并从E中删除该条Eij记录,更新E中的Eij,回到Step1,否则,不合并,且从E中删除该Eij记录,回到Step2。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410376627.7A CN104199832B (zh) | 2014-08-01 | 2014-08-01 | 基于信息熵的金融网络异常交易社区发现方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410376627.7A CN104199832B (zh) | 2014-08-01 | 2014-08-01 | 基于信息熵的金融网络异常交易社区发现方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104199832A CN104199832A (zh) | 2014-12-10 |
| CN104199832B true CN104199832B (zh) | 2017-08-22 |
Family
ID=52085125
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201410376627.7A Expired - Fee Related CN104199832B (zh) | 2014-08-01 | 2014-08-01 | 基于信息熵的金融网络异常交易社区发现方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104199832B (zh) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105656644B (zh) * | 2014-11-12 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 计算机系统中帐号重要性的评估方法及其系统 |
| CN106372938A (zh) * | 2015-07-21 | 2017-02-01 | 华为技术有限公司 | 异常账号识别方法及系统 |
| CN105407163B (zh) * | 2015-11-30 | 2019-02-12 | 中国建设银行股份有限公司 | 应用于反洗钱处理的数据处理系统及方法 |
| CN106874289B (zh) * | 2015-12-11 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 一种关联节点确定方法及设备 |
| CN105933223B (zh) * | 2015-12-16 | 2018-12-28 | 中国银联股份有限公司 | 一种可疑洗钱路径侦测方法及装置 |
| CN106991425B (zh) * | 2016-01-21 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 商品交易质量的检测方法和装置 |
| CN107133833A (zh) * | 2016-02-26 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 异常交易识别方法及装置 |
| CN107169768B (zh) * | 2016-03-07 | 2021-07-27 | 阿里巴巴集团控股有限公司 | 异常交易数据的获取方法和装置 |
| CN107305662A (zh) * | 2016-04-25 | 2017-10-31 | 阿里巴巴集团控股有限公司 | 识别违规账户的方法及装置 |
| CN106897931A (zh) * | 2016-06-12 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种异常交易数据的识别方法及装置 |
| CN106156795A (zh) * | 2016-07-05 | 2016-11-23 | 中国银联股份有限公司 | 一种可疑洗钱账户的确定方法及装置 |
| CN106327340B (zh) * | 2016-08-04 | 2022-01-07 | 中国银联股份有限公司 | 一种金融网络的异常节点集合侦测方法及装置 |
| CN106326913A (zh) * | 2016-08-09 | 2017-01-11 | 中国银联股份有限公司 | 一种洗钱账户的确定方法及装置 |
| CN107403311B (zh) * | 2017-06-27 | 2020-04-21 | 阿里巴巴集团控股有限公司 | 账户用途的识别方法及装置 |
| CN107590504A (zh) * | 2017-07-31 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 异常主体识别方法和装置、服务器 |
| CN109426965A (zh) * | 2017-08-16 | 2019-03-05 | 上海诺悦智能科技有限公司 | 一种基于机器学习的可疑交易网络识别方法 |
| CN107526823B (zh) * | 2017-08-30 | 2020-06-30 | 江苏诚创信息技术研发有限公司 | 物流嫌情信息的查证分析方法及系统 |
| CN107566179B (zh) * | 2017-09-07 | 2021-01-26 | 创新先进技术有限公司 | 一种节点处理方法及装置 |
| CN109472694A (zh) * | 2017-09-08 | 2019-03-15 | 上海诺悦智能科技有限公司 | 一种可疑交易行为发现系统 |
| CN109934706B (zh) * | 2017-12-15 | 2021-10-29 | 创新先进技术有限公司 | 一种基于图结构模型的交易风险控制方法、装置以及设备 |
| CN109934697A (zh) | 2017-12-15 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 一种基于图结构模型的信用风险控制方法、装置以及设备 |
| CN108921566B (zh) * | 2018-05-03 | 2021-11-05 | 创新先进技术有限公司 | 一种基于图结构模型的虚假交易识别方法和装置 |
| CN109035010B (zh) * | 2018-05-25 | 2021-02-02 | 中国地质大学(武汉) | 针对区块链密码货币可疑交易和可疑账户分析方法及系统 |
| CN109118053B (zh) * | 2018-07-17 | 2022-04-05 | 创新先进技术有限公司 | 一种盗卡风险交易的识别方法和装置 |
| CN108960833B (zh) * | 2018-08-10 | 2022-03-11 | 哈尔滨工业大学(威海) | 一种基于异构金融特征的异常交易识别方法,设备及存储介质 |
| CN109583890A (zh) * | 2018-11-09 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 异常交易对象的识别方法、装置及设备 |
| CN109872232A (zh) * | 2019-01-04 | 2019-06-11 | 平安科技(深圳)有限公司 | 涉及非法所得合法化行为的账户分类方法、装置、计算机设备及存储介质 |
| CN110009365B (zh) * | 2019-01-23 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 非正常转移电子资产的用户群体检测方法、装置和设备 |
| CN110019567B (zh) * | 2019-04-10 | 2021-07-23 | 武汉斗鱼鱼乐网络科技有限公司 | 发现未知风险模式的方法、装置、电子设备及存储介质 |
| CN110209729B (zh) * | 2019-04-22 | 2024-07-19 | 腾讯科技(深圳)有限公司 | 数据转移对象识别的方法及装置 |
| CN110362609B (zh) * | 2019-07-01 | 2021-09-07 | 西安交通大学 | 一种基于二部图的股票协同交易疑点群体检测方法 |
| CN110490730B (zh) * | 2019-08-21 | 2022-07-26 | 北京顶象技术有限公司 | 异常资金聚集行为检测方法、装置、设备及存储介质 |
| CN110807706B (zh) * | 2019-12-02 | 2022-07-26 | 南京工业职业技术学院 | 一种基于互联网的反洗钱监控系统 |
| CN112990919B (zh) * | 2019-12-17 | 2025-01-17 | 中国银联股份有限公司 | 一种信息处理的方法及装置 |
| CN111400614A (zh) * | 2020-01-08 | 2020-07-10 | 上海观安信息技术股份有限公司 | 一种基于资金交易数据的涉案集群查找的方法 |
| CN111309788A (zh) * | 2020-03-08 | 2020-06-19 | 山西大学 | 一种银行客户交易网络的社区结构发现方法及系统 |
| CN111445255A (zh) * | 2020-03-11 | 2020-07-24 | 中国光大银行股份有限公司 | 异常资金转移关系的确定方法及装置 |
| CN111666501B (zh) * | 2020-06-30 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 异常社团识别方法、装置、计算机设备和存储介质 |
| CN112435126B (zh) * | 2021-01-26 | 2021-06-18 | 深圳华锐金融技术股份有限公司 | 账户识别方法、装置、计算机设备和存储介质 |
| CN113378339B (zh) * | 2021-05-19 | 2023-01-31 | 西安邮电大学 | 社交网络节点的排序方法 |
| CN113177841A (zh) * | 2021-05-26 | 2021-07-27 | 中国工商银行股份有限公司 | 一种异常社区的识别方法、装置和设备 |
| CN113393250B (zh) * | 2021-06-09 | 2025-02-25 | 北京沃东天骏信息技术有限公司 | 一种信息处理方法及装置、存储介质 |
| CN118626568B (zh) * | 2024-08-12 | 2025-08-26 | 北京正确教育科技集团股份有限公司 | 一种用于提高区块链数据处理效率的方法及系统 |
| CN121280143A (zh) * | 2025-12-09 | 2026-01-06 | 湖南工商大学 | 融合多尺度分析与信息熵的异常交易动态检测方法及系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102271091A (zh) * | 2011-09-06 | 2011-12-07 | 电子科技大学 | 一种网络异常事件分类方法 |
| CN103793426A (zh) * | 2012-11-01 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 一种网页访问记录保存方法及装置 |
| CN103955489A (zh) * | 2014-04-15 | 2014-07-30 | 华南理工大学 | 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102193929B (zh) * | 2010-03-08 | 2013-03-13 | 阿里巴巴集团控股有限公司 | 利用词信息熵的搜索方法及其设备 |
| US20130254206A1 (en) * | 2012-03-20 | 2013-09-26 | Microsoft Corporation | Information Entropy-Based Sampling of Social Media |
-
2014
- 2014-08-01 CN CN201410376627.7A patent/CN104199832B/zh not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102271091A (zh) * | 2011-09-06 | 2011-12-07 | 电子科技大学 | 一种网络异常事件分类方法 |
| CN103793426A (zh) * | 2012-11-01 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 一种网页访问记录保存方法及装置 |
| CN103955489A (zh) * | 2014-04-15 | 2014-07-30 | 华南理工大学 | 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104199832A (zh) | 2014-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104199832B (zh) | 基于信息熵的金融网络异常交易社区发现方法 | |
| CN113240509B (zh) | 一种基于多源数据联邦学习的贷款风险评估方法 | |
| Ren et al. | On querying historical evolving graph sequences | |
| CN105741175B (zh) | 一种对在线社交网络中账户进行关联的方法 | |
| CN111754345B (zh) | 一种基于改进随机森林的比特币地址分类方法 | |
| CN108051035B (zh) | 基于门控循环单元的神经网络模型的管网漏损识别方法 | |
| CN105468371B (zh) | 一种基于主题聚类的业务流程图合并方法 | |
| CN110555455A (zh) | 一种基于实体关系的在线交易欺诈检测方法 | |
| CN108960833A (zh) | 一种基于异构金融特征的异常交易识别方法,设备及存储介质 | |
| CN111309788A (zh) | 一种银行客户交易网络的社区结构发现方法及系统 | |
| Ryu et al. | Firm bankruptcy prediction: experimental comparison of isotonic separation and other classification approaches | |
| CN108228706A (zh) | 用于识别异常交易社团的方法和装置 | |
| CN109325844A (zh) | 多维数据下的网贷借款人信用评价方法 | |
| CN106991447A (zh) | 一种嵌入式多类别属性标签动态特征选择算法 | |
| CN106682986A (zh) | 一种基于大数据的复杂金融交易网络活动图的构造方法 | |
| CN106897930A (zh) | 一种信用评估的方法及装置 | |
| CN103020163A (zh) | 一种网络中基于节点相似度的网络社区划分方法 | |
| CN109829721B (zh) | 基于异质网络表征学习的线上交易多主体行为建模方法 | |
| CN110598129A (zh) | 基于两级信息熵的跨社交网络用户身份识别方法 | |
| CN115375480A (zh) | 基于图神经网络的异常虚拟币钱包地址检测方法 | |
| Li et al. | Predicting hospitality firm failure: mixed sample modelling | |
| Chang et al. | Automated feature engineering for fraud prediction in online credit loan services | |
| CN112150285B (zh) | 基于邻域拓扑结构的异常金融组织层次划分系统及方法 | |
| WO2021134318A1 (zh) | 一种基于聚合边与时序聚合边的快速海量时序数据处理方法 | |
| CN104915430A (zh) | 一种基于MapReduce的约束关系粗糙集规则获取方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170822 Termination date: 20200801 |