B题ATM交易状态特征分析与异常检测论文Word文档格式.docx
《B题ATM交易状态特征分析与异常检测论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《B题ATM交易状态特征分析与异常检测论文Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
每分钟总共发生的交易总笔数;
2、交易成功率:
每分钟交易成功笔数和业务量的比率;
3、交易响应时间:
一分钟内每笔交易在后端处理的平均耗时(单
位:
毫秒)。
交易数据分布存在以下特征:
工作日和非工作日的交易量存在差别;
一天内,交易量也存在业务低谷时间段和正常业务时间段。
当无交易发生时,交易成功率和交易响应时间指标为空。
商业银行总行数据中心监控系统通过对每家分行的汇总统计信息做数据分析,来捕捉整个前端和后端整体应用系统运行情况以及时发现异常或故障。
常见的故障场景包括但不限于如下情形:
1、分行侧网络传输节点故障,前端交易无法上送请求,导致业务量陡降;
2、分行侧参数数据变更或者配置错误,数据中心后端处理失败率增加,影响交易成功率指标;
3、数据中心后端处理系统异常(如操作系统CPU负荷过大)引起交易处理缓慢,影响交易响应时间指标;
4、数据中心后端处理系统应用进程异常,导致交易失败或响应缓慢。
附件是某商业银行ATM应用系统某分行的交易统计数据。
假设附件的数据对应的交易状态无异常。
你的任务是:
(1)选择、提取和分析ATM交易状态的特征参数;
(2)设计一套交易状态异常检测方案,在对该交易系统的应用可用性异常情况下能做到及时报警,同时尽量减少虚警误报;
(3)设想可增加采集的数据。
基于扩展数据,你能如何提升任务
(1)
(2)中你达到的目标?
2.问题分析
对于交易量,成功率和响应时间这三个指标及时间和日期,我们首先运用SPSS采用求Pearson相关系数的方法,对1~4月的各指标数据进行相关性分析,下图为相关性矩阵:
由相关性矩阵可以看出:
①交易量,成功率和响应时间这三个指标以及日期没有明显的相关性;
②交易量和时间存在相关性;
根据这种情况,我们选择分开处理交易量,成功率和响应时间并提取特征参数;
多元统计分析中的简单相关分析(Pearson相关系数):
Pearson相关系数适用于测量两数值变量的相关性。
设两随机变量为X和Y,则两总体的相关系数为:
式中,
是两变量的协方差;
是变量X和Y的方差。
总体相关系数是反映两变量之间线性关系的一种度量。
事实上,总体相关系数一般都是未知的,需要用样本相关系数来估计。
设
分别为来自X和Y的两个样本,则样本相关系数为:
统计上可以证明,样本相关系数r是总体相关系数ρ的一致估计量。
r取值在-1与1之间,它描述了两变量线性相关的方向和程度:
r>
0,两变量之间为正相关;
r<
0,两变量之间为负相关;
r=
1,两变量之间完全相关;
r=0时,两变量之间不存在线性相关关系,但可能存在其他形式的相关关系(如指数关系、抛物线关系等)。
而且|r|离1越近,两变量之间的线性相关程度越高;
离0越近,线性相关程度越弱。
在说明变量之间的线性相关程度时,根据经验,按照相关系数的大小将相关程度分为以下几种情况:
|r|
0.8时,可视为两个变量之间高度相关;
0.5
|r|<
0.8时,可视为中度相关;
0.3
0.5时,视为低度相关;
0.3时,说明两个变量之间的相关程度极弱,可视为不相关。
3.符号说明
——各指标各样本的观测值(i=1,2,3分别表示交易量、成功率和响应时间;
j=1,2,...,n为样本序号);
——各指标平均值;
——各指标标准差;
4.模型假设
1.假设附件中的数据都是真实可靠的,不存在虚假性。
2.假设三个指标的异常值只由题中给出的四种故障对的影响,暂不考虑其他故障的影响。
3.假设模型建立及数据分析过中不存在系统性误差。
5.建模过程
5.1问题一的建模与求解
5.1.1交易量的特征参数提取(附件中给出了0123-0423共计91天的数据)
一.运用spss作出交易量,时间和日期的散点图,结果如下:
由上图可以看出:
①交易量和时间存在明显的相关性,每日各时间对应的交易量曲线呈M型,且排除春节期间的交易量,不同日期的曲线形状相似度很高。
②交易量在23-7h交易量较其他时间较低,考虑到晚上人流量少的实际因素,属正常情况。
二.再对不同日期日总交易进行分析,结果如下:
由上表发现日交易总量在一月相较其他时间有显著的波动,我们推测是春节因素的影响,因此分析时将一月与其他月份分段处理。
三.由上表知,材料中提及的工作日和非工作日的日总交易量并没有明显区别。
再考虑工作日和非工作日全天各时间点的交易量的区别。
对四个月每月随机选取一工作日和一非工作日全天所有时间交易量,作这两天的联合散点图,结果如下所示:
表一:
0123蓝(周三)和0128红(周六)
表二:
0206蓝(周一)/0211红(周六)
表三:
0306蓝(周一)/0311红(周六)
表四:
0403蓝(周一)/0408红(周六)
可以发现,除表一以外,其他时间的工作日和非工作日全天各时间点的交易量并无明显区别;
而对于表一所出现的异常我们推测是春节的原因所致(0128为初一,实际情况来看这一天人们外出去ATM机提款的频率确实比其他日期的小);
四.再将每分钟交易量作为个体,对不同日期同一时间(或相同分钟)的交易量进行分析,发现排除春节对交易量的影响后(即以上频数分布直方图中圆圈标记部分),剩下数据符合正态分布特征:
第0000分钟
第1249分钟
第2359分钟
将每分钟交易量作为个体,对不同日期同一时间(或相同分钟)的交易量进行分析,发现排除春节对交易量的影响后(即以上频数分布直方图中圆圈标记部分),剩下数据符合正态分布特征。
故因此分析时将一月与其他月份分开处理。
五.
①不考虑一月的数据,考虑将每分钟(共计1440分钟)的交易量的平均值和方差的集合作为其他时间所要求得的交易量的特征参数。
样本均值
:
其中{
}为一组样本数据。
标准差
现已求得每分钟(共计1440分钟)的交易量的平均值和方差,考虑数据太多,现只截取一部分如下:
②只考虑一月的数据,考虑将每分钟(共计1440分钟)的交易量的平均值和方差的集合作为春节所要求得的交易量的特征参数。
5.1.2成功率的特征参数提取
一.先运用spss作出成功率与日期和时间的散点图:
可以看出,不同日期的成功率相似程度较高,因而我们仅对不同时间的成功率进行分析;
二.再对成功率-时间作散点图:
根据上图我们可以得出以下结果:
①成功率-时间图的散点分布较为集中(0.8~1.0)且基本不随着时间变化而变化,啜茗成功率与时间不存在相关性;
②在23-7小时内,成功率散点的分布的离散程度明显比其他时间(方框内)的大,而由交易量-时间关系图可知此时的交易量显然很少,根据我们的猜测,交易量少正是造成了成功率低的原因;
③在23-7h时间段内,严重偏离样本值的点即异常值较多;
三.①未排除异常值的情况下,对位处理数据进行分析得到结果:
描述统计量
N
均值
成功率
131013
.958561
.0275838
有效的N(列表状态)
在未排除异常值的情况下明显该结果不能作为特征值。
注一:
异常值是指一组测定值中与平均值的偏差超过两倍标准差的测定值。
与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。
在处理数据时,应剔除高度异常的异常值。
异常值是否剔除,视具体情况而定。
在统计检验时,指定为检出异常值的显著性水平α=0.05,称为检出水平;
指定为检出高度异常的异常值的显著性水平α=0.01,称为舍弃水平,又称剔除水平(rejectlevel)。
标准正态分布下:
注二:
在异常数据的删除方法中,最常用的就是拉依达准则法,即我们所熟知的3δ法,也就是把一组观测数据中与平均值的偏差超过三倍标准差范围的数据剔除。
拉依达准则(3
准则)
设对被测量进行等精度测量,独立得到X1、X2...Xn算出其算术平均值
及剩余误差
(i=1,2,...,n),并按贝塞尔公式算出标准误差
,若某个测量值
的剩余误差
(
),满足下式
|
|=|
-
|>
3
则认为
是含有粗大误差值的坏值,应予剔除。
在整理试验数据时,往往会遇到这样的情况,即在一组试验数据里,发现少数几个偏差特别大的可疑数据,这类数据称为Outlier或ExceptionalData,他们往往是由于过失误差引起。
对于可疑数据的取舍要慎重。
在试验进行中时,若发现异常数据,应立即停止试验,分析原因并及时纠正错误;
当为试验结束后时,应先找原因,在对数据进行取舍。
如发现生产(施工)、试验过程中,有可疑的变异时,该测量值则应予舍弃。
这类数据的不能清楚地判定原因时,可以借助一些统计方法进行验证处理,方法很多,如常用的"
拉依达准则"
和"
格拉布斯准则"
,还有如狄克逊准则,肖维勒准则、t检验法,F检验法等。
这些方法,都有各自的特点,例如,拉依达准则不能检验样本量较小(显著性水平为0.1时,n必须大于10)的情况,格拉布斯准则则可以检验较少的数据。
在国际上,常推荐格拉布斯准则和狄克逊准则。
但对于异常数据一定要慎重,不能任意的抛弃和修改。
往往通过对异常数据的观察,可以发现引起系统误差的原因,进而改进过程和试验。
②现通过spss运用拉依达准则法得到第一次处理后的数据
第一次处理后的数据的散点图如下:
运用spss对第一次处理后的数据(即第一次排除异常值后)进行数据分析可得:
129158
.960492
.0199457
对比未处理数据知已排除131013-129158=1855个异常数据。
③为增加数据精度,在第一次处理后的数据的基础上重复使用拉依达准则法筛选数据;
第二次处理后的数据的散点图如下:
此时数据拟合较好,精度也比较高;
再对第二次处理后的数据进行数据分析可得:
127642
.961306
.0185891
对比第一次处理后的数据知再次排除了129158-127642=1516个异常数据;
以上求得的结果即为成功率的特征值;
5.1.3响应时间的特征参数提取
一.运用spss作出未处理时响应时间-时间的散点图:
二.①对未处理的数据进行数据分析可得:
响应时间
100.7709
601.48210
求响应时间特征参数与求成功率同理,也采用拉依达准则法排除异常值,同样也处理两次。
②先采用拉依达准则法排除异常值,得到第一次处理后的数据:
对第一次处理后的数据进行数据分析(即第一次排除异常值)情况下的得到的结果:
130962
92.5159
25.61787
对比未处理数据知已排除131013-130962=51个异常数据;
③在第一次处理后的数据的基础上重复拉依达准则法,得到第二次处理后的数据:
对第二次处理后的数据进行数据分析可得:
130523
91.7680
14.87636
此时数据拟合较好,精度也比较高。
故以上第二次处理后的数据即为所求的特征值;
5.2问题二的建模与求解
5.2.1交易量异常检验
在问题一中已经求出交易量-时间(分钟)的特征参数,对每一分钟求其置信区间:
根据其正太分布特征性,尝试选取
或
作为其置信区间,在置信区间外即判断为交易量数据出现异常,我们首先尝试选取
作为其置信区间,但是发现排除了过多的正常值,于是考虑选取
作为其置信区间,发现模型合理性更高。
通过对该模型的进一步分析可以得出在交易量低于一定值的一段时间区间内,置信区间下界小于0,会将比较小但显著异常的交易量包含进去,因而该模型在这种情形下不能达到其预期效果。
因为23-7h交易量较低,易出现置信区间下界小于0的情况,所以考虑在用原模型检测8-22h异常交易量基础上再设计另一模型来检测23-7h的异常交易量。
由于交易量异常一般对应交易量过小严重偏离正常值的情况,于是考虑在新的模型中加入一个交易量下限指标,即某时间段交易量正常值最低限度A,检测该时段内交易量低于A的个数超过一个阈值,就判定该时段交易量数据出现异常.考虑到该模型的精确度,被检测的交易时段时间不能太长,理想时间是10~50min,因为该时间段内各分钟的交易量差别不会太大,且便于在发现该时段存在异常交易量之后寻找异常交易量时间点。
该时间段交易量正常值最低限度A取该时间段每分钟交易量的
的均值。
该模型用于实际检验时要注意区分检验时间对应的日期,即检验时间在春节期间时应使用第一题中求得的春节期间的特征参数,非春节期间同理。
(编写的程序见附录一)
5.2.2成功率异常检验
在第一题中运用拉依达准则法对成功率异常点筛选结果如下:
原数据
用拉依达准则法第一次处理
用拉依达准则法第二次处理
0.958561
0.960492
0.962306
0.027583
0.019945
0.018589
排除异常点数量
1855
1516
我们发现,运用拉依达准则法对异常点筛选效率较高,且对正常点的误排除的概率较小,所示实际应用时,可采取拉依达准则法第二次处理后得到的数据的特征参数,即其均值和标准差,对成功率求置信区间.尝试选取
作为其下限,不考虑上限,成功率越高越好,在其下限外即判定该交易成功率出现异常。
(编写的程序见附录二)
5.2.3响应时间异常检验
由于响应时间与成功率数据分布类似,故异常检验方法也类似。
在第一题中运用拉依达准则法对响应时间异常点筛选结果如下:
51
439
作为其上限,没有下限,响应时间越低越好。
超过上限即判定该交易响应时间出现异常。
(编写的程序见附录三)
分行侧网络传输结点故障
业务量异常下降
分行侧参数数据变更或配置错误
数据中心后端处理系统异常
数据中心后端处理系统应用进程异常
交易成功率异常下降
响应时间异常增加
5.2.4各个已知的故障对各指标的影响
实际操作时,三个指标的异常检验模型结合银行报警系统同时进行,当检验出某指标出现异常情况时立即进行警报提醒,在确认某时间或时间段出现某指标异常后,再依据上图进行故障检验一一排查即可。
5.3问题三的建模与求解
①实际各时段异常交易量数量趋势:
由之前分析可知在低交易量时段即23-7h成功率波动较大且出现较多异常偏离的较小值。
但是这些成功率较小点可能不是异常值。
因为我们猜测可能异常交易量在各时段发生频数相近,而在低交易量时段对影响成功率贡献较大,而在高交易量时段对影响成功率贡献较小所导致低交易量时段成功率较小值较多,但实际并未发生故障。
考虑到这种影响,可以对这方面的数据进行适当采集和分析,从而减少在低交易量时段成功率的误报。
②中央数据处理系统的负载能力:
在交易量大的时段出现交易量骤减或者成功率下降可能是因为处理系统负荷过大引起的处理缓慢或者传输堵塞,经过一段时间即可恢复正常,而不是前端或后端的故障问题导致,采集这个数据能在一定程度上减少误报。
③故障的修复时间:
根据三个指标的数据异常对应的不同的故障修复时间可以更加准确的判断数据异常是否是由于故障所致。
④每分钟交易金额对应需要耗费的处理时间:
大笔交易金额可能会显著增加交易的响应时间或者减少每分钟的交易量,采集这个数据可以在出现交易量下滑或者响应时间骤长时更加准确判断是否为故障所致。
6.模型的综合评价
模型的优点
将影响ATM机正常交易的各个指标影响因素都考虑在内,给各个指标赋予特征参数,从而考虑对交易的影响。
在求特征参数过程中,多次采用拉依达准则,充分提高参数的精度,这样处理使得模型更加合理有效。
模型的缺点
在对异常值进行检验时,还是会错误处理正常值,这个无法避免。
模型在实际检验预警过程中是针对每分钟各指标进行检验的,可能存在工作量大等问题。
而实际中故障的影响一般存在连续性,即某一时间段皆异常或者异常点明显偏多,而某一时间单一点检测出现异常可能是由于系统误差导致的,而实际并不存在故障,从而出现增加误报的问题。
模型的改进
考虑更多的指标,如5.3所示,实际各时间异常交易量数量趋势;
中央数据处理系统的负载能力;
故障的修复时间;
每分钟交易金额对应需要耗费的处理时间。
在检验报警时,考虑对一段时间的异常点进行检验,当连续出现异常或者异常值超出某一范围时进行预警,这样既能减少工作量,避免频繁预警,还能减小误报率。
模型的推广
本文所涉及的模型主要建立在数据分析上,适用于统计量庞大,多变量多指标问题的解答。
7.参考文献
[1]汪冬华,《多元统计分析与spss应用》,上海:
华东理工大学出版社,2010.9
[2]刘桂荣,《统计学原理》,上海:
华东理工大学出版社,2016.2
[3]张冬泉,《ATM业务及故障监控系统的研究与开发》,2006
[4]陈化年,《ATM监控及故障分级管理系统的研究与实现》,2010
8.附录
附录一:
交易量异常检测模型程序
#include<
stdio.h>
#defineN10
doubleAVR[2][1440]={{…},{…}};
/*非春节期间与春节期间交易量对应于每一分钟的平均值*/
doubleDEV[2][1440]={{…},{…}};
/*非春节期间与春节期间交易量对应于每一分钟的标准差*/
intmain()
{
inti=0,j=0,m=0,n=0,check;
intnumber=0,number1=0,number2=0;
inttime[N],time1[N]={0},time2[N]={0},t;
doubletrade[N],trade1[N],trade2[N];
while
(1)
{
printf("
检测时间是否在春节期间?
是输入1,否输入0(输入结束按回车键)\n"
);
scanf("
%d"
&
check);
printf("
请输入%d分钟内的每分钟交易量与对应的时间(时间在前,交易量在后,两者以逗号隔开)\n"
N);