B题ATM交易状态特征及异常分析Word文档格式.docx
《B题ATM交易状态特征及异常分析Word文档格式.docx》由会员分享,可在线阅读,更多相关《B题ATM交易状态特征及异常分析Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
因此对于这三个指标,我们将其分别与时间日期进行处理分析,得出它们都属于正态分布,依此提取其特征参数。
针对问题二,经过分析,三个指标之间不存在明显相关性,且每个指标都至少对应一个故障源,因此可以对三个参数异常数据进行独立检测。
首先使用三个指标提取的特征参数,通过大量数据的分析,发现成功率和响应时间数据十分集中,我们采用方差分析法判断异常数据。
针对问题三,我们考虑增加交易金额,网络随机信号传输时间和网络负载率作为扩展数据,这样我们可以将各个参数的正常区间划分更为可靠,提升故障异常发现的概率同时减少误报率。
关键词:
方差分析法、散点图、相关性分析、正态分布
一.问题重述
某商业银行的ATM应用系统包括前端和后端两个部分。
前端是部署在银行营业部和各自助服务点的ATM机(系统),后端是总行数据中心的处理系统。
前端的主要功能是和客户直接交互,采集客户请求信息,然后通过网络传输到后端,再进行数据和账务处理。
持卡人从前端设备提交查询或转账或取现等业务请求,到后台处理完毕,并将处理结果返回到前端,通知持卡人业务处理最终状态,我们称这样完整的一个流程为一笔交易。
商业银行总行数据中心监控系统为了实时掌握全行的业务状态,每分钟对各分行的交易信息进行汇总统计。
汇总信息包括业务量、交易成功率、交易响应时间三个指标,各指标解释如下:
1、业务量:
每分钟总共发生的交易总笔数;
2、交易成功率:
每分钟交易成功笔数和业务量的比率;
3、交易响应时间:
一分钟内每笔交易在后端处理的平均耗时(单位:
毫秒)。
?
交易数据分布存在以下特征:
工作日和非工作日的交易量存在差别;
一天内,交易量也存在业务低谷时间段和正常业务时间段。
当无交易发生时,交易成功率和交易响应时间指标为空。
商业银行总行数据中心监控系统通过对每家分行的汇总统计信息做数据分析,来捕捉整个前端和后端整体应用系统运行情况以及时发现异常或故障。
常见的故障场景包括但不限于如下情形:
1、分行侧网络传输节点故障,前端交易无法上送请求,导致业务量陡降;
2、分行侧参数数据变更或者配置错误,数据中心后端处理失败率增加,影响交易成功率指标;
3、数据中心后端处理系统异常(如操作系统CPU?
负荷过大)引起交易处理缓慢,
影响交易响应时间指标;
4、数据中心后端处理系统应用进程异常,导致交易失败或响应缓慢。
附件是某商业银行ATM应用系统某分行的交易统计数据。
假设附件的数据对应的交易状态无异常。
你的任务是:
(1)选择、提取和分析ATM?
交易状态的特征参数;
(2)设计一套交易状态异常检测方案,在对该交易系统的应用可用性异常情况下能做到及时报警,同时尽量减少虚警误报;
(3)设想可增加采集的数据。
基于扩展数据,你能如何提升任务
(1)
(2)中你达到的目标?
二.问题分析
汇总信息包括业务量、交易成功率、交易响应时间三个指标。
根据题意以及相关资料的查阅,有几个方面对这三项指标影响较大。
负荷过大)引起交易处理缓慢,影响交易响应时间指标;
针对问题一,利用SPSS通过相关性分析和图像可以直观发现业务量,交易成功率,交易响应时间三项指标之间不存在明显的相关性,只有交易量与时间、日期存在明显的相关性。
因此我们将交易量时间日期分别进行处理,并提取特征参数。
我们对日总交易量图分析,发现交易量在1-2月之间相较其他时间有显着的波动,推测是春节因素的影响,故分析时将其分开单独处理。
通过分析每日交易量图,我们发现工作日和非工作日的日总交易量和每日交易量散点图并没有明显区别。
排除春节影响的日总交易量平稳时间段,我们将每分钟交易量作为个体,发现其符合正态分布特征,取其平均值和方差作为特征参数。
对于成功率指标,我们通过散点图发现其在交易量少的时间段波动范围较大,因此使用一个模型将交易量累加到一定值的平均成功率来替代,处理后提取其标准差和平均值作为特征参数。
对于响应时间,通过对其图像的观察,得到数据点分布的特征,同样提取其标准差和平均值作为其特征参数。
针对问题二,经过分析,三个指标不存在明显相关性,且每个指标都至少对应一个故障源,因此可以对三个参数异常数据进行独立检测。
首先使用三个指标提取的特征参数,通过大量数据的分析,发现成功率和响应时间数据十分集中,我们可以采用方差分析法判断异常数据。
交易量与时间及日期存在相关性,所以数据处理较为复杂,因此我们建立了多个模型来判断异常数据。
经过图像分析发现,不同日期对应的相同时间(每分钟)交易量散点分布基本符合正态分布,因此我们对每一分钟根据其正态分布特性分别求出置信区间作为正常数据区间,由于这个模型在交易量极小时无法区分异常数据,因此我们使用编程建立了对交易量进行连续极小值进行检测的模型来处理。
在对1-2月异常数据处理时,建立了一个模型,采用平稳时间段的平均数据与计算出的权值相乘的方式来近似处理,取得了较高的准确度。
在建立异常和故障报警模型时,考虑到现实中故障有一定的持续时间,因此在模型中只有当一个指标出现异常持续一定时间,才会发出异常或故障报警。
针对问题三,我们考虑每种故障对应的修复时间和增加交易金额,网络随机信号传输时间和网络负载率作为扩展数据,这样我们可以将各个参数的正常区间划分更为可靠,提升故障异常发现的概率同时减少误报率。
三.模型假设
1.不考虑网络故障对数据造成的影响。
2.银行的经营状况不会对交易量产生影响。
3.不考虑洗钱犯罪对交易数据造成的影响。
4.不考虑ATM机现金储存量对交易成功率的影响。
四.符号说明:
μ1:
交易量平均值
σ1:
交易量标准差
μ2:
成功率平均值
σ2:
成功率标准差
μ3:
响应时间平均值
σ3:
响应时间标准差
五.模型的建立与求解
5.1问题一的模型建立与求解
5.1.1业务量、交易成功率、交易响应时间、与时间日期的关系
我们使用SPSS分别建立了三个特征参数与时间日期的相关性分析。
时间
交易量
成功率
时间pearson相关性显着性(双侧)N
1
30212
3.33**
000
-0.50**
交易量pearson相关性显着性(双侧)N
成功率pearson相关性显着性(双侧)N
响应时间
-0.48**
002000
-048.**
响应时间pearson相关性显着性(双侧)N
022000
由上图的相关性分析可知,时间与交易量显着相关性;
成功率与交易量存在负相关,时间与成功率是负相关。
通过SPSS做出三个指标相应的散点图,进行对比处理,由相应时间与成功率的散点图可知,成功率与响应时间无关。
5.1.2对交易量进行分析提取:
为了便于观察大量数据的特征,我们使用spss分类汇总并用Excel绘制出了日总交易量与日期的折线图
由日期的日总交易量,可以看到有一段较大的波动,即一月下旬至二月初时间段内日总交易量,我们猜测是中国的的传统节日——春节导致的较大波动,所以需要把这段分开处理数据。
一周内的时间和日总交易量
因为春节的影响,我们把春节的这两个周去掉,然后把剩余日期按周分类,研究一周内的工作日与非工作日对日总交易量的影响,有上图可以证明其影响不明显。
我们用spss做出了一天内的交易量的散点图,整个图像显示为M型。
由上图可知,凌晨1.点至6点的交易较低,考虑到是改时间段,大部分人休息,人流量较少;
而9点到12点,13点到17点为每天都峰值,也是因为人流量的影响。
由此可以看出时间对交易量有显着的相关性。
交易量与日期、时间的散点图
之后我们又使用MATLAB绘出了交易量,时间,日期的散点图,由图可以验证以上的亮点验证,交易量与时间显着相关,且在春节期间,交易量有较大的波动。
根据以上结果我们进一步分析,不同日期的相同时间内交易量服从正态分布,下列三个图印证了这一观点。
通过对交易量的正态分析,可以提取其平均值和方差作为特征参数。
使用VSC++编写程序来计算平均值和方差。
5.1.3对成功率进行分析提取:
首先我们使用spss做出成功率与时间的散点图,如下图所示。
成功率-时间散点图1
由上图可知,成功率的分布与时间变化无关,验证了上面相关分析,且在凌晨1点到七点这个时间段内,成功率比较分散,由上面的交易量与时间的散点图可知,此个时间段的交易量较少,交易量低正是造成成功率离散程度高的原因,与异常和故障并无直接关系,因此使用编程设计了一个模型,来消除这个无关因素的影响。
模型处理过程如下:
对交易量不足设定值K的时间进行连续累加——>
当累加值超过K时计算一次成功率——>
以这个成功率来代表这段时间的成功率
模型流程图如下:
考虑到后续及时报警因素的考虑,经过多次尝试,K值定为50时效果明显,且最长累加时间为10分钟,符合及时报警的考虑因素。
下图为处理后成功率-时间的散点图
成功率-时间散点图2
从处理后的散点图可以看出该模型符合预期设定的目标。
根据处理后的图像,发现成功率值都集中在较高的区域,因此我们决定使用方差分析法来寻找其置信区间。
方差分析法作为一种数理统计方法广泛应用于气象、水文、地震等行业数据的科学统计与分析。
可应用方差分析法计算最新采集数据与其均值的离散程度,从而对异常数据进行筛选。
以下为利用方差分析法对异常数据进行筛选的方法:
如果实验数据的总体x是服从正态分布的,则
式中,μ与σ分别表示正态总体的数学期望和标准差。
此时,在实验数据中出现大于μ+3σ或小于μ—3σ数据的概率是很小的。
因此,根据上式对于大于μ+3σ或小于μ—3σ的实验数据作为异常数据,予以剔除。
具体计算方法如下:
对于实验数据x1,x2,x3,……,xn,先计算其均值
(i=1,2,3,…n)
再计算残差
则标准差
如果某个测量值
的残差满足
则认为xd为异常数据,予以剔除。
成功率的数据分布集中在一定范围内,当数据变化的绝对值超过N倍标准均方差变化阀值的数据个数达到一定标准时通常说明数据存在异常。
利用方差分析数据异常,N的取值采用两种方法来实现:
①单次N值比较法,通常情况下N值默认为3,即数据变化超过3倍标准方差即认为该点数据不正常,当这种不正常的数据点个数超过用户设定的某个数值时即认为数据存在异常,N的取值和不正常数据点个数可由用户根据测项类型与长期统计结果具体设定,通过该方法可检测出数据超出3倍均方差的数据异常;
②双次N值比较法,利用第1次N值比较去除干扰,即认为数据变化超过N次标准方差的数据点为干扰点,去掉干扰点后进行第2次N值比较,通常取N为2,即去掉干扰后,数据变化超过2倍方差的数据个数超过用户设定的某个数值时即认为数据存在异常。
[2]
分析成功率的数据,发现成功率存在极大偏离值,因此使用双次N值比较法更为合理。
根据双次N值比较法的需要,我们先进行第一次N值比较处理,去除极端异常值之后求出成功率的平均值和方差作为其特征参数。
5.1.4对响应时间进行分析提取:
响应时间-交易量散点图
响应时间-时间散点图
根据上图我们可以得出以下结论:
1.,由交易量与响应时间的散点图可以看出,随着交易量增大,响应时间的分散逐步集中,且在时间与响应时间的散点图中,凌晨一点到七点,响应时间较集中的数据中有小段波动,因此我们推测是由于白天交易量大,银行的服务器及处理器较多,因此降低了响应时间
2.响应时间数据集中在一个较窄的区间,数据点的离散程度较低
同样的,分析响应时间的数据,由于响应时间存在极大偏离值,因此使用双次N值比较法更为合理.
根据方差分析法的需要,我们先进行第一次处理,去除极端异常值之后求出响应时间的平均值和方差作为其特征参数.
5.2问题二的模型建立与求解:
5.2.1交易量的异常检测模型:
春节期间的交易量异常情况在之后进行讨论,首先对春节之外的正常情况进行处理.
a.交易量异常检测模型1
a.1模型的建立
根据第一问求出的特征参数和时间和交易量的正态分布特性,对每一分钟分别求出置信区间.根据其正态分布的特性,试选取μ±
2σ或μ±
3σ作为其置信区间,在其置信区间外即判定该交易量数据出现异常,通过下面的图像对比,我们可以得出μ±
3σ的区间选取更为合理.通过对该模型的进一步分析可以得出在交易量低于一定值的一段时间区间内,置信区间下界小于0,因而该模型在这种情形下不能达到其预期效果,所以我们设计了另一模型来处理这种情况.
b.交易量异常检测模型2
b.1模型的建立
该模型的设计方案采用如下流程图:
我们使用VS-C++编写程序来实现这一模型.该模型检测连续K分钟内交易量低于A的个数超过一个阈值,就判定交易量数据出现异常。
c.春节期间交易量数据异常检测模型
c.1模型的建立
之前已分析得出春节期间每日的交易量-时间(分钟)点图与正常期间每日的交易量-时间(每分钟)点图相似度较高.因此尝试用春节期间单天的总交易量与单天基准总交易量的比值作为权值,与单日基准交易量-时间(分钟)点值相乘来近似估计春节期间的某日交易量-时间(每分钟)点值.
对正常期间日总交易量的方差和图像进行分析,发现其数据较为稳定.因此可以将正常期间日总交易量的平均值作为基准A,单日基准交易量-时间(分钟)点值取模型1.1中求出的μ
c.2模型合理性分析
通过spss绘制出春节期间每一天该模型预测出的交易量-时间(分钟)点图与对应春节某日实际交易量-时间(分钟)点图,发现预测准确度较高,模型建立合理.
5.2.2成功率的异常检测模型:
成功率异常数据检测方法
成功率数据分布十分集中,与响应时间较为相似,因此使用相同的模型,得出下表
μ
0.956799
0.956809
σ
0.0201516
0.0164322
异常点数量
1137
853
5.2.3响应时间的异常检测模型:
使用方差分析法来进行响应时间异常数据检测。
响应时间得出的特征参数为:
利用第1次N值比较去除干扰点后得到的方差及平均值。
根据方差和平均值进行第2次N值比较,一般取N为2,即去掉干扰后,数据变化超过2倍方差的数据即认为数据存在异常.这里我们通过VS-C++实现该模型。
100.765
92.5106
601.405
25.6154
5.2.4交易状态异常检测方案模型:
通过三个重要指标的异常数据检测模型的建立,当任一指标出现异常数据即可及时发现.根据题目中描述常见的故障场景包括但不限于如下情形:
1)分行侧网络传输节点故障,前端交易无法上送请求,导致业务量陡降;
2)分行侧参数数据变更或者配置错误,数据中心后端处理失败率增加,影响交易成功率指标;
3)数据中心后端处理系统异常(如操作系统CPU负荷过大)引起交易处理缓慢,影响交易响应时间指标;
4)数据中心后端处理系统应用进程异常,导致交易失败或响应缓慢。
故障场景1对应交易量出现异常降低的数据。
故障场景2对应交易成功率出现异常降低的数据。
故障场景3对应响应时间出现异常上升的数据。
故障场景4对应响应时间出现异常上升的数据和交易成功率出现异常降低的数据。
故障场景1
故障场景2
故障场景3
故障场景4
正常情况
以上分析得出每一个指标数据出现异常至少对应一个故障场景(而且故障场景不限于以上4种)。
结合现实中故障有一定的持续时间,因此只有当一个指标出现异常一定时间,才应发出故障报警。
因为缺少每种故障场景所需的修复时间,我们将其暂定8分钟。
a.模型的建立
因为题目所给数据中没有故障标记,8分钟内异常数据次数累计的阈值难以确定,所以在这里我们假定该阈值为N。
我们使用VS-C++编写程序来实现这一模型,当某一参数8分钟内异常数据超过阈值N,就判定交易状态异常并及时报警。
考虑到数据中心后端处理系统异常(如CPU负荷过大)引起交易处理缓慢,这样的故障在一定时间内可以自我恢复,所以我们设置了另阈值M,我们在此设定M为2,若2次之后仍检测为故障,判定为没能自我修复,则输出故障信号。
三种特征参数的数据检测,都为间断性重复检测,时间间隔为0.1S,排除意外因素导致误报率提高。
并且对三种数据的异常数据次数在相应时间内累加,并与相应的阈值比较,并判定故障原因,减小误报率。
5.3问题三的分析:
需要获得的数据有:
1.每分钟交易金额
若每分钟交易金额增大,每笔交易的平均时间会有一定的增加,间接的导致交易量的下降。
若但是值得注意的是,交易金额在交易量绝对数量较大时对交易量影响较大,在ATM闲时影响会比较小。
发现交易量的突降,如果同时交易金额的突增,可以不进行故障场景1预警,降低故障场景1的误报率。
2.网络随机信号传输时间
一般通信系统中传输的信号都具有一定的不确定性,因此都属于随机信号。
在信号传输过程中,不可避免地会受到各种干扰和噪声的影响。
假如交易时随机信号传输时间过长,这也将导致交易反应时间过长,交易量也会明显下降。
所以,应排除网络随机信号传输时间的影响,这样可以减少误报率。
3.网络负载率
若检测到网络负载率达到较大值或者满载值,响应时间较大,成功率较低或交易量骤减就很可能不是前端或后端的故障问题导致,而是数据传输过程出现阻塞导致,此数据的采集也能一定程度上减少误报率。
[3]
六.模型的评价
6.1模型的优点:
1)在问题一中我们首先进行了相关性分析,从而直接排除了成功率与响应时间的特征参数的分析,使问题得到了简化。
2)在问题二中我们对三个指标的异常数据判断分别建立了模型,减少了误报率。
3)在问题三中我们考虑增加每分钟交易金额、网络随机信号传输时间、网络负载率,从而使各个参数的正常区域划分更为可靠,大大地减少了误报率。
6.2模型的缺点:
1)对于异常数据没有进一步分析,可能导致系统误差比较大,影响报警精确性。
2)特征参数不够全面,分析结果可能与实际情况有差距。
七.参考文献
[1]:
蔡宁伟,ATM现金存取款异常行为的实证研究,中国电子银行网
[2]:
杨小勇,方差分析法浅析——单因素的方差分析,实验科学与技术,2013,11
(1)
[3]:
张旭,跨银行自动柜员机(ATM)网络,广州:
广东机械学院学报,第14卷第2期
八.附录
Spss代码:
GETDATA/TYPE=XLSX
/FILE='
C:
\Users\ASUS\Desktop\工作簿1.xlsx'
/SHEET=name'
Sheet1'
/CELLRANGE=full
/READNAMES=on
/ASSUMEDSTRWIDTH=32767.
CORRELATIONS
/VARIABLES=时间响应时间
/PRINT=TWOTAILNOSIG
/MISSING=PAIRWISE.
/VARIABLES=时间交易量
4.
/VARIABLES=时间成功率
5.
/VARIABLES=成功率响应时间
6.
/VARIABLES=交易量成功率
7.
GRAPH
/SCATTERPLOT(XYZ)=日期WITH交易量WITH时间
/MISSING=LISTWISE.
8.
/SCATTERPLOT(BIVAR)=时间WITH交易量
9.
C++交易量累加达到阈值统计成功率函数
intmain()
{
fstreamin;
in.open("
all.txt"
ios:
:
in);
if(!
in.is_open())
{
cout<
<
"
文件无法打开"
endl;
return-1;
}
intnum=0,max=0,maxi;
floata;
while(in>
>
a&
&
fabs(a+1)>
1e-6)//0:
序号1:
日期2:
时间3:
交易量4:
成功率5: