欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

数据分析方向大全11篇

时间:2023-06-27 15:53:44

数据分析方向

数据分析方向篇(1)

引 言

运动训练科学的基本理论在1960至1970年基本形成,而研究则在1990年后正式开始。运动训练科学属于自然科学尤其是数学、化学、物理学、生物学、生理学等科学的产物。传统的运动训练科学遵循的是小数据研究理念与模式,然而,随着大数据的到来,小数据所展现出来的碎片化、分散化的特点不能完全的反映运动训练的模式,而大数据的分析存储、收集、使用数据的能力则在运动训练科学中逐渐应用。从训练人员身上的传感器、可穿戴设备以及场内的摄像头,再到服务人员手中的互联网以及终端设备,这其中大量的数据已经被收集起来,进而为以后的训练服务应用。不论是受伤运动员的训练还是教练的战术布置,都已经更加完整已经呈现在我们面前。可见在大数据时代的到来,为运动训练科学提供了重要的帮助。也为运动训练科学领域注入了新的生机与活力,推动其在科学化研究和运动训练现代化研究的发展,解决了在运动训练中许多遗留下来的问题,并且提供了新的研究方法思路,为运动训练科学开辟了一条新的研究道路。

一、大数据时代下运动训练科学的研究现状

在大数据的背景下,不论是运动员的恢复、预防或伤病,运动竞赛的过程,运动的训练的评价和效果,还是在竞赛过程中的战术分析与安排、运动员的选材、运动训练的时间等都与大数据有着紧密地联系。因此,在大数据时代下如何从众多的数据中寻找在运动训练中各种数据之间的联系,发现隐藏在运动之中的秘密,从而准确的为运动员或者在训练中提供有效的数据,帮助运动员到达合理的身体状态与竞赛成绩是对运动训练科学是极为必要的。如今大的数据的出现帮助在田径、游泳、篮球、足球、棒球、羽毛球等运动提供了一定的数据支持,为竞技赛场增添了一丝色彩,潜移默化的改变着运动训练科学领域的认知。

高尔夫球运动受到了各国运动员的喜爱,如今运动员也正是依靠数据分析来帮助他们在技术方面、训练方面更加全面,以此提高他们的训练成绩。例如Track Man技术是帮助运动员测量在每次击球后的击球方向、旋转速度、角度和力度等,然后通过数据软件等进行分析,帮助运动员了解自己的数据之后,更加针对性的进行训练。在上个世纪八十年代,美国男子职业篮球联赛就通过数据来展示运动员在场上的得分、进攻、掩护、挡拆、对抗数据,经过近四十年的数据积累,裁判可以根据比赛回放等来进行更好的判断,教练也可以利用数据对战术进行分析安排。截至目前为止,凡是聘请了数据分析师的球队俱乐部平均胜率都打到六成以上,而其他俱乐部仅有40%的胜率。在某些运动中运动员可以通过佩戴传感器来检测运动员的心率、垂直弹跳以及加速度等,从而保障运动员的生命安全,并且制定相应的训练,提高运动员的运动能力。

在德国,每一个足球场地四周布置传感器,甚至在每位球员的训练中也都放置了传感器来对运动员的运动变化细节进行分析。这些数据会在很短的时间内传到终端平台中,有由教练对这些运动员的运动轨迹、攻击范围以及运球的速率等相关信息进行战术分析;在网球的训练中,也有许多场地安置了传感器来捕捉网球的发球速率、旋转、发球角度等来判断球员的打法、击球特点。为战术的安排提供强有力的数据支持。而运动员的发球失误率以及非受迫性失误上升时,教练则会判断球员的体力或者心理状态不足。除了这两项运动外,乒乓球、羽毛球、棒球等都通过这种独特的数据方式来帮助球队以最小的经济利益获取成功,从而提高运动员的比赛成绩。

二、大数据背景下运动训练科学的研究方向

(一)明确运动科学训练研究对象

在大数据背景下要想确定运动训练科学的研究方向,首先要明确习研究对象。而我国近代运动训练科学是一种实体的研究,不依赖于其他事物外部复杂的实体。而在实体的研究中主要利用分解还原的研究方法,在数据的研究模式采用小数据研究。例如,在竞技体育中将各项竞技因素分开,单独训练体力或者技术,并且以弹跳力能力、心率肺活量、肌肉围度等指标来确定运动员的能力。然而,在运动训练科学的研究表明,实体是依附于关系的,关系甚至比实体更加重要。例如,核算与蛋白质相互作用产生生命,原子之间相互作用而产生分子。故而,对于训运动训练科学来说,关系要比实体更加重要。如果我们能在运动训练科学中找到这些信息之间的联系,就能准确的分析在运动训练中的技巧与对策,从而提高运动员运动训练的效率。

(二)明确运动训练研究视角

我国近现代运动科学训练都是单向度,如研究运动技术或者运动员的生理机能等。我国运动训练科学的研究方向首先要由单向度多向度发展,促进运动训练科学的有效进行。

结语

综上所述,大数据时代的到来为我国运动训练科学研究领域带来了新的机遇。我们需要迎接\动训练科学思维研究的变革,融入大数据的变迁,顺应时代的变化,明确运动科学训练研究的对象以及视角,提高运动员比赛能力和运动技巧,从而帮助运动员在比赛中取得良好的成绩。

作者简介:

白曼利(1981.3-),女,民族:汉族,籍贯:陕西咸阳,学历:研究生,专业:体育教育,研究方向:运动训练,职称:副教授。

杨江林(1982.1-),男,民族:汉族,籍贯:云南丽江,学历:大学本科,专业:体育教育,研究方向:运动训练,职称:副教授。

数据分析方向篇(2)

从图中数据显示,该网站主要流量来源于外部链接,表明各种推广营销手段还是有一定效果的,而直接访问带来的流量却不太理想,说明该其用户忠诚度较低,需要继续加强。而搜索引擎流量的话其主要靠内容,而从该站数据看来,其内容还是比较欠缺,需要加强优化。。

2. 网站访问时段

从上图观察发现,我们可以分析出用户在上午9点-11点,下午14点-17点,这两个时段较为活跃,那么便可根据此进行推广,因为访客越是活跃,进行推广便更呕效果。同样的,在做竞价推广时,也可以此作为参考。

3. 搜索引擎分析

有统计数据可以发现,各个搜索引擎过来的流量有多少,而从该网站数据上看,该网站的主要访客来源于百度,竟然如此,该站就更加需要加强百度优化,更多的去迎合百度。

4.搜索词

通过对搜索词的查看,我们可以查看用户主要通过哪些词来到该网站,从而可根据此来对长尾关键词进行挖掘。同时我们可以发现用户是通过一些我们根本想不到的词来访问网站,通过这些词我也可作为研究用户搜索习惯的重要参考因素。

5.访问时长及跳出率

通过对访客的页面停留时间长短及跳出率,我们可以分析出用户的需求点,从而分析出哪些最终页,哪些是过度页。如此此我们就可以根据此来对页面进行优化,以及分析哪些栏目更应放在首页等。

6.浏览器访问比例

数据分析方向篇(3)

摘要:在当前移动互联时代,云计算、物联网等新的信息技术的发展,使得网络中的数据信息呈现出几何递增的趋势,大数据逐渐成为了通信运营商关注的焦点。文章结合大数据的相关概念,对大数据平台建设的有效方案和措施进行了分析,希望能够为运营商大数据平台的设计规划提供一些借鉴。

数据分析方向篇(4)

2016年1D6月,中国大数据领域投融资金额规模达到503.70亿元,排名第二的美国,投融资金额规模为111.38亿元。其他上亿元投资的国家分别为以色列5.35亿元、英国4.32亿元、德国2.24亿元、加拿大1.06亿元。

中美大数据领域投融资对比

从2016年上半年的整体投融资状况来看,中国和美国的投融资事件占全球绝大多数的比例,中美两国大数据业务的发展基本代表了大数据在全球的发展状况。深入对比中美大数据领域的投资,对掌握大数据的应用方向和技术方向具有较大的意义。

从图3可以看出,在大数据行业应用方面,中美都有涉及的行业有医疗、营销、物流、娱乐、体育和教育。其中,医疗领域是2016年上半年行业中发生投融资事件最多的领域,中国发生18起,美国发生5起;其次为营销领域,中国发生6起,美国发生3起。

相比美国,大数据的应用行业在中国更加广泛和活跃,2016年上半年中国有大数据投资而美国尚未涉及的领域比较多,如媒体、交通、金融、汽车、物联网、艺术、招聘、旅游、农业和租房等领域。其中媒体行业发生10起投融资事件,交通行业发生6起,金融行业发生6起。

在大数据技术应用方面,2016年上半年涉及的投融资方向有数据分析、数据应用、数据安全和数据工具。其中数据分析方向投融资事件最多,美国15起,中国14起;其次为数据工具方向,美国8起,中国5起;数据应用方向,中国6起,美国3起;数据安全方向,中国5起,美国3起。

从投融资的金额规模上看,2016年上半年,中国和美国的侧重点各不相同,中国偏重于大数据行业领域的应用,而美国侧重于大数据技术领域的应用。2016年上半年中国在大数据行业应用的投资总规模达到485.1亿元,在大数据技术应用领域只有18.6亿元;美国在大数据行业应用领域的总投资规模为26.9亿元,在大数据技术应用领域达到84.4亿元。

中国投融资规模的TOP3均为行业领域,分别为交通、物流和医疗,投融资规模分别为305.4亿元、105.0亿元和50.7亿元。而美国投融资规模的TOP3中有两个为技术领域,分别为数据工具44.2亿元、数据分析31.3亿元;有一个为行业领域――医疗16.6亿元。在行业应用方面,中美投资事件最多的均为医疗领域。

中美数据分析领域投融资市场对比

可以看出,美国比较侧重发展大数据的技术应用,而数据分析是大数据技术应用领域投融资最多的技术方向。2016年上半年,中国在数据分析方向的投融资事件达到14起,美国15起,高于中国。在金额方面美国更是远远超过中国,投融资金额高达31.3亿元,而中国只有7.3亿元。

数据分析方向篇(5)

财务分析的目标是运用财务数据对公司当期和过去的业绩及其可持续发展的能力进行评价。财务分析方法主要有比率分析法和现金流量比率分析法。比率分析法是财务分析中最重要和核心的量化分析方法。在财务比率分析中,更多的是通过比较分析来挖掘财务比率背后隐含的经营信息。当前,比较分析应用最多的是横向比较分析和纵向比较分析。在传统的报表分析手段和工具中,财务报表分析者对于比率分析,往往是通过一张图表生成一个比率进行横向比较分析或者纵向比较分析。如果建立一个统一的比率分析数据透视模型,就可以在同一张图表上,灵活地进行横向比较分析、纵向比较分析和综合分析,将为财务报表分析者进行有效的财务分析提供极大的帮助。

Excel是微软公司办公软件Office的重要组成部分,具有功能强大的数据处理和绘图分析功能,能提供丰富的函数。数据透视表是Excel用于进行快速汇总大量数据的交互式表格,数据透视图是一种交互式的图表,它以类似数据透视表的方式通过图形化的方法来查看和重排数据。数据透视表和透视图集中展现了Excel强大的数据统计分析处理能力,灵活快捷地对数据库表从多个维度(字段)进行统计和分析,是数据透视表和透视图最大的特点。借助数据透视图可以解决如何在一张表或图中,对财务比率进行横向比较分析和纵向比较分析的问题。本文借助Excel数据透视图的强大功能,建立一个有效的比率分析数据透视模型,从而实现财务比率多维透视分析。

一、建立财务比率分析模型

财务比率分析始于企业财务比率的计算。目前的财务比率分析主要有盈利能力分析、短期偿债能力分析、长期偿债能力分析、资产管理能力分析、现金流量分析和市场比率分析等。在财务比率分析模型建设中,首先需要借助Excel建立单个企业的比率分析表。

(一)建立单个企业的比率分析表

在建立单个企业的比率分析表时,首先需要建立基础数据表(资产负债表、利润表、现金流量表、股票价格表等)。

在基础数据表的基础上,借助Excel计算公式定义的功能,可以建立财务比率分析表,如表1所示。在该表中,定义各个财务比率的公式,如每股收益=净利润/股本总额,在本例中,转换为Excel公式即为:D5=利润表!E35/资产负债表!E80。类似地可以定义全部的财务比率计算公式。

在建立单个企业的基础数据表和财务比率分析表后,将各个企业的基础财务数据输入或导入到基础数据表模板,就可以生成各个企业的财务比率分析表。

(二)建立行业比率分析表

数据透视表和图是对数据表的数据字段进行汇总分析,数据字段是数据表中的列名(数据表中的每一列同质数据作为一个字段)。要建立财务分析多维透视表和图,首先需要建立一个汇集行业各企业财务比率的Excel文件,将用于实现横向对比分析的同行业多家企业比率数据经过格式调整,放在同一张数据表中。该过程首先需要确定数据表的字段,以便于用来多维透视分析。在笔者建立的多行业比率分析表中,设定了5个数据字段:指标名称、指标类别、股票名称(公司名称)、时间、指标值,从而建立了如表2所示的行业比率分析表。

表2“行业比率分析表”与表1“单个企业财务比率分析表”在表格显示形式上最大的区别在于表2本质是一张二维表(由行和列构成的二维表,每行表示一个独立的数据项),而表1本质是一张三维表(由行字段——指标名称,列字段——指标时间和隐含的页字段——公司名称三维构成),每个指标值所占据的单元格都是由三维字段来约束的。三维的数据表无法在一张表上显示所有企业的指标数值,不便于进行数据透视和分析,所以必须先将单个企业三维模式的财务比率分析表转换为表2所示的二维模式下的财务比率分析表。然后再将各个企业二维模式下的财务比率分析表进行合并,从而完成表2“行业比率分析表”的建设工作,为财务分析多维透视表和图的建设提供数据来源。

在将单个企业三维模式的财务比率分析表(表1所示的格式)转换为二维模式的财务比率分析表(表2所示的格式)过程中,“指标名称”、“指标类别”、“股票名称”(或公司名称)、“时间”4个字段的数值的填充工作比较容易完成,最为繁琐的是“指标值”字段中数据的填充。每个公司的比率指标值数量为“指标名称数量”ד年份数”。如果每个指标值都通过人工来转换,工作量将是非常大的。解决这个问题可以借助Excel中的查找函数——Vlookup来实现。

在二维格式的“行业比率分析表”的基础上,就可以建立用来进行多维透视分析的源数据表。

二、运用透视图建立分析模型

(一)建立数据透视图模型

以“行业比率分析表”作为源数据表,通过借助Excel的“数据透视表和透视图”功能,就可以轻松建立一张数据透视图模型。利用“数据透视图向导”可以建立如图1所示的数据透视图模型。

在“数据透视图模型”中,首先有“数据透视表字段列表”,该列表是以源数据表的各列字段名(各列第一个单元格的值)生成的列表,选择任何字段都包含了要在数据透视图中进行分析的数据。可以将这些字段按照需要分别拖到“页字段”、“分类字段”、“系列字段”和“数据项”区域。页字段是用来筛选在数据区中要处理的源数据的。分类字段类似于图形的X轴,在Excel图表中是分类轴。系列字段类似于二维图形的Y轴,是用来建立数据系列的,在Excel图表中是值轴。

在行业比率分析多维透视模型中,需要从“数据透视表字段列表”中将“指标名称”字段拖动到页字段区域,以实现按指标进行数据筛选。将“时间”字段拖动到分类字段区域,以建立分类轴。将“股票名称”(或公司名称)字段拖动到系列字段区域,以建立数据系列。将“指标值”字段拖动到数据项区域,以告知Excel系统用来统计分析的数据项。同时需要借助Excel数据透视表工具栏的“字段设置”功能来设定“指标值”的汇总方式为“平均值”、“最大值”或“最小值”[实际上,在本文所建立的行业比率分析多维透视图中,由于任何一个数据项(某一时间某一公司某一指标的值)只有一个,所以无论是使用“平均值”还是使用“最大值”或“最小值”的数据汇总方式都是一样的统计结果,那就是显示指标值本身],通过设定指标值的汇总方式可以展示指标数值本身。本文中,笔者采用了“平均值”作为数据项的汇总方式。

在设定完数据透视图的页字段、分类字段、系列字段和数据项字段及汇总方式后,“行业比率多维透视分析模型”就建立完成,可以通过Excel图表的一些格式设置来使得图表更为直观。建立完多维透视分析模型后,从页字段“指标名称”下拉框中选定任何一个指标,就可以得到如图2所示的单指标横向比较和纵向比较分析图。

(二)运用数据透视模型进行财务分析

本小节以多维数据透视分析模型为依据,对中医药行业上市公司(云南白药、同仁堂、康美药业、太极集团、紫鑫药业)的盈利能力财务比率之一——净资产收益率进行比较分析,说明多维数据透视模型在财务分析中的运用。

图2列示了近年来上述公司净资产收益率的变动趋势。以云南白药为例,2007—2009年净资产收益率呈下降的趋势,从2010年起净资产收益率开始反弹,并将增长趋势持续到2011年。再看太极集团,2007—2011年,该公司的净资产收益率持续徘徊在5%以下,2010年跌到了-9%的谷底,而在2011年又开始反弹。

图2还列示了竞争对手的净资产收益率,为进行竞争对手之间的财务比率比较分析提供了基本依据。从图2中可以看出,2007—2011年,云南白药的净资产收益率远高于其竞争对手。然而,太极集团的净资产收益率却远低于其竞争对手,并且差距逐渐拉大。是什么原因导致云南白药的净资产收益率一直处于最高水平?是什么原因导致太极集团的净资产收益率一直处于最低水平?要回答这一问题,我们可以从图3和图4得到答案。图3列示了影响云南白药净资产收益率的驱动因素,不难看出,云南白药持续较高的净资产收益率主要来自于其持续增长的销售净利率和较高的总资产周转率的影响。图4列示了影响太极集团净资产收益率的驱动因素。从图中数据,我们可以发现,太极集团持续较低的净资产收益率主要来自于其较低(甚至为负)的销售净利率和极高的权益乘数的影响。

三、结论

数据透视表和透视图的应用,展现了Excel强大的数据统计和分析处理能力。通过建立数据透视模型,灵活快捷地对数据图表从多个维度进行统计和分析,不仅打破了传统财务分析工具的局限性,同时也使财务分析变得更加立体化,从而实现了财务比率多维透视分析。

【参考文献】

数据分析方向篇(6)

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)28-6659-04

智能时代的到来,模式识别得到了广泛的重视和应用。支持向量机(SVM)由于有着坚实的统计学理论基础,能够实现结构风险最小化,特别是能够克服机器学习中经常遇到的“维数灾难”问题,并且在二类分类中表现出优异的性能,从而在分类中占有重要地位。SVM不仅能够进行线性分类,而且在非线性分类中也表现出良好的性能。这归因于SVM中成功应用了核函数的思想,把在低维空间中不可分的输入数据映射到高维的特征空间(也叫希尔伯特空间)中去,在高维空间中就有可能可分。核函数思想在SVM中的成功应用,打开了核函数的应用领域,从本质上来说,只要一个应用中直接或间接地需要用到两个向量内积的运算,核函数都有可能在该领域有所作为。这样,核函数的应用,并没有改变本来应用的思路,同时,核函数注重的是两个向量之间的内积结果,使得在应用中并不需要知道真正的变换函数是什么,从而方便了分类或聚类等应用。主成分分析(Principal component analysis,PCA)在模式识别中得到了广泛的应用,是一个对线性输入空间进行降维的有效方法,但实际工程应用中的数据空间往往不是线性的,如果能够将核函数的思想应用到PCA中,就能够使得PCA对非线性的数据空间也能够进行有效降维,能够有效改进模式识别的算法效率,降低对存储空间的要求。

当前对核主成分分析的研究取得了很多成果,在应用中也得到了有效应用。但是,核主成分分析的具体实现过程、核函数的参数选择、核函数的直接构造、由函数产生核以及主成分分析不考虑分类类别的改进上,还有很多工作需要做,该文在以上几方面予以分析,并在应用中予以实验验证。

1 核函数

核函数的研究起源于1909年,Mercer提出了核的定理与条件,1940年后,再生核得到研究,1964年Aizermann等人将核的思想运用到机器学习领域,1992年Vapnik等人在SVM中成功应用了核函数,从此核函数得到了深入的研究与应用。

核函数是一个n维欧氏空间Rn到希尔伯特空间H的变换上的内积函数,即K(x1,x2)= (Φ(x1)Φ(x2) )。

核函数具有一个重要特性:一个对称函数K(x1,x2)是核函数,那么K(x1,x2)对应于x1,x2…xn的Gram矩阵非负定;反过来,若K(x1,x2)对应于x1,x2…xn的Gram矩阵非负定,则K(x1,x2)是核函数。

因此寻找核函数可以利用以上性质,只要找到一个对称函数K(x1,x2),做出其对应的Gram矩阵,判断该矩阵的正定性就可以得出K(x1,x2)是否是核函数。当前较为广泛使用并有效的核函数有高斯径向基核函数[K(x1,x2)=exp(-||x1-x2||2/(2σ)2))]、多项式函数K(x1,x2)=((x1x2)+1)d。

但是,在实际工程应用中,有些应用场合,数据分布具有一定的特殊形式,通过多项式核函数或高斯径向基核函数并不能达到最佳效果,即使通过大量的实验,也很难找到最恰当的核函数参数。这时,可以根据数据分布的特点,进行核函数构造,这样构造出的核函数在数据处理上有可能达到很高的效率。

另外,还可以根据某些不是核函数的函数,通过一定的方式,构造出核函数。因为,根据核函数的性质,一个函数若是核函数,它对应的Gram矩阵必是非负定的。那么,若一个函数不满足这个特性,则可以通过一个过渡函数,运用以下公式将它改造为核函数:

[K(x1,x2)=i=1Ntrans(xi,x1)trans(xi,x2)]

其中,N为输入空间中样本的个数,x1、x2是输入空间的向量,trans()是一个过渡函数。实际上,Sigmoid核函数f(x)=1/(1+e-x)在手写数字识别领域得到了应用并取得较好效果,但是Sigmoid函数对应的Gram矩阵不具有非负定特性,因此,严格意义上来说Sigmoid函数不是一个真正的核函数,而是一个经过某个过渡函数改造成的核函数。[1]

2 主成分分析

2.1 主成分分析(PCA)

在对输入数据进行模式识别时,经常会发现样本数和输入的向量的维数很大的情况,这对处理时间和所占用的空间有很高的要求,处理得不好,会导致主存溢出的情况。因此,对于很大的维数,往往需要通过某种手段,将维数降低。实际上,这种情况是可行的。因为,在采集的数据样本中,很多属性之间有着关联。例如对学生考试进行分析,若有七门功课:语文、数学、英语、政治、生物、物理、化学,这些科目的成绩中很多科目成绩之间是相关的;再如,在定制衬衣时,需要身高、胸围、坐高、臂长、腰围、肋围等六项数据,但这些数据往往是相关的,实际中只要身高、胸围、腰围几项即可。

主成分分析(PCA)是数据降维的有效手段,特别是对于线性数据。PCA通过变换使得结果具有最大的均方差,在二维空间中,能够将每个样本投影到一个一维空间中。对于n维空间,可以将输入数据样本的协方差矩阵求出。协方差矩阵cov为:

[cov(A)pXp=1N-1i=1p(xi-x)(xj-x)] A为nXp数据输入矩阵

协方差矩阵是个对称矩阵,对角线上diag(cov(A))的元素即为对应向量的标准差。协方差矩阵保持了原始输入空间的信息,特别是,若原始输入空间数据满足高斯分布,则该输入数据的所有信息都在协方差矩阵中反映出来。

将协方差矩阵cov(A)求出特征值和特征向量,并将这些向量按照特征值的大小按降序排列。根据应用的需要,对特征值进行分析。将特征值的累计贡献率计算出来,并根据应用的要求,若一般应用环境,累计贡献率取85%即可;对于一些精度要求高的应用,累计贡献率取95%甚至以上。这样,将大于累计贡献率的特征值取出,将对应的特征向量排列成矩阵,将输入空间的数据通过该特征向量矩阵进行转换,就得到降维后的输入数据。

例如,当一个输入空间有30个数据,每个数据7个特征,经过计算得到7X7的协方差矩阵,对此协方差矩阵求特征值、特征向量,假设根据累计贡献率的要求,只需要4个主特征,得到一个7X4的特征向量矩阵。用输入样本数据或测试样本乘以这个矩阵,就得到降维后的数据。当然,数据原始信息会有一定的损失,但很小,一般不影响分类结果。

经过PCA降维后的数据,可以通过降维过程的逆操作,恢复成原来的数据。累计贡献率阈值越大,恢复数据的精度也就越高。注意降维过程减去了均值,恢复数据要加上这个均值。

2.2 Fisher判别分析(FDA)

PCA主要应用在线性数据降维上,在降维的过程中,可以发现主要通过协方差矩阵,对原始输入数据进行处理,并没有用到类别的信息,因此PCA是一种无监督的线性降维方式,这种降维方式对于有些分类,对导致较大偏差。

Fisher判别分析(FDA)在对主要成分进行分析时,不仅要进行原始数据的处理,同时要关注类别信息,因此,被称为有监督的主成分分析。FDA采用类间散布矩阵和类内散布矩阵,然后计算特征值和对应的特征向量。

Fisher判别分析(FDA)采用类内聚集程度与类间离散程度的比值也决定,该比值越大,说明对分类的贡献越大,该成分就有可能成为是主成分。

2.3 核主成分分析与核Fisher判别分析

主成分分析(PCA)对线性输入空间数据有良好的降维效果,采用核函数的思想,将核函数应用到PCA中,形成核主成分分析,这样,将在低维空间非线性很难降维的数据通过核函数映射到高维特征空间(希尔伯特空间)中,通过选择适当的核函数与参数,就有可能在高维空间中进行有效降维。FDA也可以采用核函数思想改进为核Fisher判别分析。

在分类中,有了降维后的数据,时间和空间效率能够提升,但在核主成分分析时没有对类别信息加以利用,因此在实际的分类中,可以采用核主成分分析结合核Fisher判别分析进行,这样对有些难以分类的数据集能够有效进行分类。

3 核主成分分析及其应用

3.1 核主成分分析的过程

传统PCA中,首先需要计算协方差矩阵:

[cov(A)pXp=1N-1i=1p(xi-x)(xj-x)]

采用核函数的特征空间的协方差矩阵为:

[cov(A)pXp=1N-1i=1p(?(xi)-?(x))(?(xj)-?(x))],其中[K(xi,xj)=?(xi)?(xj)]

若输入空间数据满足“中心化”,即[?(x)]=0,则上式可简化为:

[cov(A)pXp=1N-1i=1p(?(xi)(?(xj)]

根据PCA的特点及再生核理论,最优投影轴应该是特征空间中的样本的线性组合,写成拉格朗日函数形式并对线性相关系数求导,得:

[Kα=λα],其中[α]为特征空间的样本之间线性组合的系数。到了这一步,就可以对K矩阵求特征值和特征向量即可。

以上核主成分分析是假设数据的中心化即均值为零的情况。若不满足此条件,可以通过对特征空间的所有数据在希尔伯特空间平移一个均值的距离,这样的平移不改变特征数据的形状。

在进行核主成分分析时,也可以通过以下公式进行核矩阵K的中心化(标准化):

[K_new=K-U*K-K*U+U*K*U,其中U=(1)N*N/N(N是样本的个数)]

3.2 核主成分分析的应用与实现要点

Matlab在模式识别上具有直观、有强大的计算能力以及绘图能力,下面以Matlab 7.1作为平台,对核主成分分析进行实现。

3.2.1 传统PCA在Matlab上的实现

传统PCA在Matlab中有两个函数可以完成数据降维。

若输入数据的协方差矩阵已知,则可以通过pcacov()函数进行PCA降维。设协方差矩阵为V,则通过[c,l,e]=pcacov(V)就能得到V的所有特征值的降序排列l,每个主成分的贡献率e以及主成分系数c。可以通过函数barttest()进行Bartlett维数校验,通过pcares()函数进行主成分的残差分析。

最常用的做PCA分析的函数是pcacomp(),只需要输入数据矩阵X,就可以通过:

[c,s,l ,t2]=princomp进行PCA降维分析。C代表主成分的系数矩阵,s代表主成分矩阵,l代表降序排列的样本协方差矩阵的特征值,t2代表某个样品对应的霍特林(Hotelling) T2的统计量,这个统计量可以用来进行设备运行的故障检测,用来表示某个观测值与观测数据中心的距离,可以用作异常点分析。

在对输入数据矩阵计算协方差矩阵时,需要进行数据的标准化。可以用三种方法进行标准化(设输入数据矩阵为X,是一个nXp矩阵):

1) s=std(X)

stds=X./s(ones(n,1),:)

[c,s,l ,t2]=princomp(stds)

2) s=std(X)

stds=X./repmat(s,n,1)

[c,s,l ,t2]=princomp(stds)

3) s=zscore(X)

[c,s,l ,t2]=princomp(stds)

此外,在协方差的计算上,计算的顺序将会大大影响最终的结果。如100个样本30维特征,应该计算出的协方差矩阵是30X30,若没有注意到这一点,最终可能算出的协方差矩阵是100X100。

3.2.2 核主成分分析在Matlab上的实现

Matlab在模式识别工具箱stprtool里提供了进行核主成分分析的kpca()函数。stprtool工具箱不是Matlab 7.1的标准工具箱,需要下载后并设置到Matlab路径下。

%X是数据输入矩阵,数据分布可以不是线性,可以是圆状、椭圆状等

opt.ker=’rbf’%opt是结构变量,ker分量指出核函数类型,arg是参数

opt.arg=5

opt.new_dim=2 %new_dim是输出维数

Y=kpca(X,opt)

采用kpca函数很简单,但并不灵活。下面采用类Matlab来进行核主成分分析的算法实现。由于很多场合下的数据分布接近高斯分布,并且高斯分布的协方差矩阵对原始信息无丢失,下面核函数采用高斯径向基函数,高斯径向基函数需要输入一个参数。步骤如下:

1) 准备好训练数据T,测试数据TT,并设置高斯径向基函数的参数rbf,累计贡献率大小为thres;

2) 训练数据T、测试数据TT标准化;

3) 运用高斯核函数计算核矩阵,由于核矩阵是对称的,只需要计算出上三角矩阵即可,另一半元素用赋值完成,可以提高运算效率;

K(i,j)=exp(-norm(T(i,:)-T(j,:))^2/rbf);

4) 运用K_new=K-U*K-K*U+U*K*U中心化高斯核矩阵;

5) 对K_new进行特征值及特征向量的计算:[ev,evalues]=eig(K_new);

6) 计算累计贡献率;

7) 找出累计贡献率大于或等于thres的特征值,将对应的特征向量组成矩阵;

8) 对测试数据TT进行测试。

上述算法可以看出,采用了核函数,PCA成为核主成分分析,但具体的实现过程与传统的PCA很类似,但带来的效果是可以进行非线性降维。并且采用了核函数,从线性空间向高维空间的转换并不需要具体关心转换函数的形式。

3.3 核主成分分析的效果

下面用上述的核主成分分析算法对Matlab 7.1自带的cities.mat数据进行分析。cities.mat共收集了美国329个城市在历史上一段时期内城市生活质量的数据统计,共有9个指标:艺术、住房、健康、气候、娱乐、犯罪率、经济、交通和教育。

不同指标的数据值相差很大,需要进行标准化处理。

图1 核主成分分析后的第1主成分和第3主成分

图2 cities的主成分pareto图

从运行的结果看,核主成分分析能够对cities.mat的数据进行降维,效果与传统PCA精度相当,运用tic、toc指令进行计时,传统PCA执行时间约 2.6秒,核主成分分析需时4.6秒,这是因为核主成分分析需要计算核矩阵,高斯核需要计算二范数以及exp运算。但核主成分分析由于采用了核,计算量上有所增加,但对线性、非线性输入空间都能进行有效降维。

4 结束语

核主成分分析在传统的主成分分析的基础上,有机地结合了核函数的思想,从而使得核主成分分析能够有效处理非线性的输入空间数据的降维。核主成分分析如果结合核聚类、核Fisher判别分析,充分利用输入数据的特点和分类类别,进行数据维度的降低,不仅能够加速分类的效率,而且能够提高精度。由于核函数的引入,因此,对于核函数的参数选择,核函数根据数据输入特点的直接构造,或从任一函数生成一个核函数就显得至关重要。未来的进一步应用将会在核函数的生成与核主成分分析、核Fisher判别分析的结合上,作为模式识别的预处理,将做深入的探讨。

参考文献:

[1] 徐勇,张大鹏,杨健.模式识别中的核方法及其应用[M].北京:国防工业出版社,2010:27-39,138-142.

[2] 邓乃扬,田英杰.支持向量机-理论、算法与拓展[M].北京:科学出版社,2009:92-96,105-114.

[3] 万家强,王越,刘羽.改进KPCA对分类数据的特征提取[J].计算机工程与设计,2010,31(18):4085-4092.

[4] 汪司飞,黄斐.基于K-均值聚类的KPCA在故障诊断中的应用[J].计算机应用与软件,2013,3(4):120-130.

数据分析方向篇(7)

Abstract:Support Vector Machines (SVM) based on structural risk minimization (SRM) principle is a new machine learning technique and has many advantages in solving small sample size, nonlinear and high dimensional pattern recognition. In this paper, it is applied to the credit scoring prediction of suppliers in the government procurement activities. To get better classification accuracy, PCA(Principal Component Analysis) is combined to SVM to mine the independent attributes of supplier credit.And then, SVM is trained by these independent attributes obtained. By this way, the model of PCA-SVM for credit ananlysis of suppliers in the government procurement activities is builtto evaluate the prediction accuracy of PCA-SVM,while comparing its performance with those of neural networks (NN) and traditional SVM.

Key words:government procurement;credit analysis; support vector machines

政府采购不同于一般的采购行为,它具有政策性强、规模大、资金多等特点。政府采购项目,尤其是国家重点建设项目,如北京奥体项目、南水北调工程、三峡工程等,更是集政治性、经济性、社会性于一身,对国家的社会效益、政治效益和经济效益都会产生广泛而深远的影响。因此,在政府采购中为避免国家的财税流失、保证政府投资效益,提高政府采购效率,必须规范政府采购市场,促进供应商在市场竞争中遵守国家法律、法规,规范经营,并将对供应商的管理提高到信用管理的高度。

在市场经济环境下,良好的履约能力对政府采购项目按时、保质、保量地完成是十分必要的,而供应商履约能力是与其信用水平密不可分的。因此,在对供应商进行规范化管理过程中,政府部门应对供应商的信用进行公正、客观地分析。这具有很强的理论与现实意义,引发了国内外学者广泛的研究和探讨[ 1-3]。常用的信用分析方法包括层次分析法、模式识别理论和神经网络等。由于信用分析具有多属性和非线性等特征,这些方法在应用中都很难取得满意的效果。

笔者尝试将数据挖掘技术与机器学习方法相结合,建立基于主成分分析——支持向量机技术的供应商信用分析模型。通过主成分分析技术进行数据挖掘,改善了信用属性数据的特性,提高了支持向量机的建模效率。

一、模型的总体设计

供应商信用分析效果的好坏,主要取决于信用分析中所选用的属性数据的特性以及所采用的方法解决非线性复杂问题的能力。

当前,商业信用分析主要是通过基于财务指标的信用特征而进行的商业信用等级划分。由于财务属性数据种类繁多,且数据之间往往存在紧密的相关性。这无疑加大了信用分析建模的难度。因此,有必要在进行信用分析之前,对信用属性数据进行数据挖掘。在众多的数据挖掘技术中,主成分分析方法既能够有效去除属性数据间的相关性,又可以降低数据维数。因此,它被选作供应商信用属性数据特征挖掘的工具,以构造新的更有效的信用属性数据。

数据挖掘后,接着面临的问题是如何有效地构建供应商的信用分析模型。由于在政府采购多采用“短名单”,这就造成了供应商的信用分析具有典型的小样本、多属性及非线性等特征。传统的信用分析方法很难进行有效地分析。神经网络技术虽然能够进行良好的经验学习[ 2],但由于其基于经验风险最小,易出现过拟合问题,从而降低了模型的泛化能力。

20世纪90年代兴起的支持向量机(Support Vector Machines,SVM)是基于结构风险最小化原理的统计学习方法, 适用于小样本分类问题。在解决高维、非线性问题时,SVM通过非线性映射把非线性分类化为线性问题来处理。从而,显示出其显著的优越性[ 4-5]。因此,SVM技术是进行供应商信用分析建模的有效工具。

 

笔者将PCA技术与SVM技术相结合构建政府采购中供应商的信用分析模型,建模的基本过程如图1所示。

二、信用属性数据的特征挖掘

主成分分析方法目前主要有两种:标准主成分分析方法和基于核的主成分分析方法。

(一)标准主成分分析

标准的主成分分析是一种有效的数据特征挖掘方法[ 6]。它基于数据二阶统计矩,对由一系列观测数据向量组成的向量组进行分析,通过选择样本点分布方差大的坐标轴进行投影来降低维数而使信息量损失最少。

记供应商的信用观测属性矢量为:

数据分析方向篇(8)

关键词:

数据流分析;网络协议逆向;加密协议解析;动态二进制插桩;协议字段语义

0引言

随着互联网的发展和网络应用的普及,网络通信已经成为各种软件系统的重要功能。如何通过软件逆向分析的方法分析软件网络行为、解析软件使用的通信协议,是现阶段网络安全领域的一大热点,也是软件安全性分析、网络安全策略制定等工作的重要内容[1]。

协议逆向解析是指采用逆向分析的思想,解析出目标网络应用程序所使用的协议格式,以及各个协议字段所对应的程序语义信息,其在漏洞挖掘、网络入侵检测、网络管理、指纹生成、应用程序会话重放等网络安全领域具有十分重要的应用价值[2]。

现阶段对于协议逆向解析已经取得了一些研究成果。Cui等[3]提出了一种通过观察网络数据流中不同协议字段的出现次数,推断协议字段结构的方法。由于这种方法不考虑具体协议内容,因此分析效果依赖于样本数据流中字段重复出现的次数和每次出现的形式是否一致。Ma等[4]通过对网络流量的内容进行统计建模,识别和区分流量对应的不同协议;但该方法只能用于识别协议类型,无法解析具体的协议结构。Small等[5]则设计并实现了利用自然语言处理和字符串对齐算法对网络数据流进行学习,自动地对收到的网络请求进行应答的方法;该方法能够根据数据内容的排列模式从样本数据中选择类似的会话用于自动应答,但无法分析具体协议语法和语义。这类基于统计分析的方法需要大量的网络数据作为分析样本,同时无法处理混淆、加密流量,更无法获取协议字段的语义信息。

基于上述研究现状,结合解析网络协议的目的,本文提出了一种基于数据流分析[6]的网络协议解析技术,以解决加密网络协议的逆向解析问题。数据流分析技术关心的是数据在程序执行过程中的传播路径,通过动态污点跟踪的方法,分析污点数据在内存中的读写情况,达到分析软件行为的目的。这种方法在保证分析效率的前提下,能够有效应对协议格式加密、软件加壳、代码混淆等情形。

1基于Pin的动态数据流记录

本文将协议逆向解析的工作划分为数据流记录、数据流分析和网络协议逆向解析三个阶段。

要进行数据流分析,首先要获得程序的动态数据流信息。由于程序在动态运行期间,实际执行到的指令条数往往能够达到千万甚至亿数量级,规模庞大,因此如何提高记录效率是数据流信息记录的关键。

动态二进制插桩平台Pin[7]在效率和可扩展性两方面有着独特的优势,因此,本文结合条件插桩、延迟写入、代码缓存刷新等技术,设计并实现了一款基于Pin的动态数据流记录插件,可高效准确地记录用户指定程序片段在执行期间的数据流信息,并生成含有指令地址、指令机器码、内存、寄存器和指令属性等信息的二进制文件,再对这些文件进一步加工处理合并,最终生成具有统一格式的指令信息二进制文件。

2基于数据关联性分析的数据流跟踪

传统的数据流跟踪过程需要事先指明污点源[8],且一次分析仅能获得与污点源相关的少量信息,污点源变更后又要重新分析,而整个分析过程涉及到污点传播分析、污点管理[9]等很多复杂的工作,因此会造成严重的时间浪费。为避免此问题,本文将传统的数据流跟踪划分为数据关联性分析和数据流跟踪两个阶段。

2.1数据关联性分析

数据关联性分析处理所有程序执行期间使用过的内存和寄存器信息,并最终生成一张全局性的数据关联图,该图能够标识出不同层次间和层次内的数据关联性信息。数据关联性分析过程中涉及到污点传播分析和污点管理,因此用时较长,但仅需执行一次,待数据关联图生成完毕,后续的数据流跟踪只需在数据关联图基础上进行。当污点源发生改变后,无需重复污点传播分析等耗时过程,可大大缩短分析时间,提高分析效率。

该方法首先将函数指令划分为一个个独立的区域,在此基础上进行数据关联性分析,具体过程描述如下。

2.2数据流跟踪

数据流跟踪分为正向跟踪和反向跟踪两种。由2.1节可知,本文数据流跟踪建立在数据关联图基础之上,而并不以原始的程序轨迹信息作为输入。对程序从网络获取的数据进行正向跟踪,可以分析得到程序对获取到的数据进行处理的过程,进而达到解析协议的目的。而反向数据流跟踪的作用在于分析程序发送的数据的生成过程,从而得到发送数据的协议格式。

2.2.1正向数据流跟踪算法

本文设计了一种基于数据关联图的正向数据流跟踪算法。该算法首先需要指定污点源,然后顺着程序的执行流程分析污点的传播,最后生成一张正向数据流传播图。该算法能够解决污点源扩散到了哪些地方,影响了哪些数据,是否会影响到程序执行流程等问题。算法具体步骤如下:

1)将指定的污点源加入污点集合,从区域信息数组中取出第一个区域,作为待分析区域;

2)若待分析区域的某些输入出现在污点集合中,则将这些输入所关联的输出加入污点集合,并对该区域做上标记;

3)若已到达区域信息数组的尾部,转4),否则读取后一个区域作为待分析区域,转2);

4)输出污点集合中的所有污点以及与其关联的污点源,输出所有被标记的区域。

2.2.2反向数据流跟踪算法

与此同时,本文也设计了一种基于数据关联图的反向数据流跟踪算法。该算法首先需要指定污点源,然后逆着程序的执行流程分析污点的传播,最终生成一张反向数据流传播图。该算法能够解决污点源从哪里来,是由哪些数据、经过什么路径产生的等问题。若将污点源指定为影响某条跳转指令的标志位,则可对此处引起程序执行流程改变的所有数据进行捕获。反向跟踪算法与正向跟踪算法十分类似,具体步骤如下:

1)将指定的污点源加入污点集合,从区域信息数组中取出最后一个区域,作为待分析区域;

2)若待分析区域的某些输出出现在污点集合中,则将这些输出所关联的输入加入污点集合,并对该区域做上标记;

3)若已到达区域信息数组的头部,转4),否则读取前一个区域作为待分析区域,转2);

4)输出污点集合中的所有污点以及与其关联的污点源,输出所有被标记的区域。

3基于数据流跟踪的网络协议解析

软件所使用的网络通信协议格式对于研究软件的网络行为有着重要的意义[10],对于未知网络协议的逆向解析,主要目的是解析出分隔符、关键词、长度域、目标域等格式信息,以及各个字段,尤其是协议中的加密字段在程序运行过程中对应的行为语义信息。利用第2章所阐述的数据流跟踪算法,可以达到这些目的。

3.1污点源的设置

网络协议的格式以及各个字段的语义信息最终都会体现在软件接收和发送的数据中。因此,本文将分接收和发送数据两种情况来进行污点源设置。

当程序接收到网络发送来的数据时,会开辟一块内存空间用于存放接收的数据,此时可以将读入到内存空间的每个字节标记为污点数据并对应于一个唯一的污点标签。然后根据2.2.1节的算法生成一张正向数据流传播图,分析对所接收信息的处理过程。

在程序发送数据时,将send()、sendto()、WinhttpWriteData()等发送函数的发送缓冲区标记为污点源,利用2.2.2节的算法进行反向数据流跟踪,最终分析出发送数据的来源以及数据的生成过程。

3.2分隔符和关键词的解析

定义6分隔符。用来标识协议字段结束的一个或连续多个已知值的字节[11]。

分隔符的解析思想是,从数据流跟踪阶段得到的指令级数据传播关系图中,提取出与污点数据相关的比较类指令信息,判断这些指令中与常量字符比较的污点标签是否连续,以此确定协议消息中的分隔符,其解析流程如图3。其中,污点数据标签用污点字节在数据中的偏移来表示。

定义7关键词。关键词是指既出现在协议消息中,又出现在协议应用程序中的协议常量,如HTTP协议中的“GET”。

关键词的解析思想和间隔符类似,均是通过跟踪污点数据与非污点的常量字符(串)的比较来确定相关字段。

3.3长度域和目标域的解析

长度域用于确定目标域。在处理目标域时,通常程序会访问消息中的某些连续字节,这些访问大多在一个循环中实现,并且循环次数是受长度域控制的。因此,解析长度域时,首先利用IDA(Interactive DisAssembler)等静态反汇编工具来完成一些静态分析工作以获知:1)哪条比较指令表示的是循环跳出点;2)每条指令属于的循环集(注:当存在循环嵌套时,一条指令可能属于多个循环)。然后,利用数据流信息和静态分析结果提取出所有既是循环跳出点又对污点数据进行处理的比较指令,这些指令涉及的污点字节即为潜在的长度域。最后,对每个潜在长度域,检查其控制的循环中涉及的污点字节标签是否连续,据此确定目标域。若找到对应的目标域,则正确地识别出了一个长度域和对应的目标域。

3.4加密协议字段的解析

当下许多恶意软件在进行网络通信时,都采取了流量加密的手段,即对网络收发数据的关键字段进行了加密处理。程序在处理这些字段时,通常需要先执行加解密操作,然后再按照处理非加密流量的方法逐个字段进行处理。在执行加解密操作时,需要对被加解密的内容整体读入和写出,我们对这种整体处理的情况进行特殊处理,即如果污点源被作为一个整体进行处理,那么将其视为加解密操作,同时把处理结果作为新的污点源。

经过这种特殊处理后,程序的加解密过程在数据流关联性分析和数据流跟踪中就会表现出很强的特征,即在对同一个数据包处理的过程中,会出现大量的污点标签不同的污点源标记对应于这同一个数据包,这说明程序对该数据包内容进行了多次加解密操作。通过人工对相应的代码段进行静态反编译分析及动态调试,也印证了这一事实。

利用上述特征,可以先将协议中相应的字段划分为加密字段,然后再结合人工调试和静态反编译对处理这些字段的程序段进行数据流分析。对于一些具有明显特征的常见的已知加密算法,可以利用现有的研究成果还原出数据的原文字符串,观察得到相应的语义信息。对于一些不常见的或由于复杂度过高无法还原数据的加密算法,也可以通过程序在解密后对解密数据的处理过程,如API调用等信息,推断出这些字段的语义信息。实验结果证明,这种方法对协议中加密字段的语义解析取得了不错的效果。

4实例测试

为了验证该技术的有效性,本文选取了一个典型的基于互联网中继聊天(Internet Relay Chat,IRC)协议的僵尸程序Agobot3.BJ作为测试用例。Agobot族的恶意软件有大量的变种,提供了多达数十种控制命令,具有DDoS、网络扫描、HTTP和FTP两种方式的下载等执行功能,并且支持通信流量的加密。其分析的具体结果如表1所示。

表格(有表名)

可以看到,这条消息中的“http.download”没有拆分,而是作为一个整体被处理(通过人工调试也印证了这一点),故该字段中的“.”被识别为命令字段的一部分,而“:”后的“.”在分析过程中符合分隔符的特征,故被识别为分隔符字段。

另外在测试过程中还发现,该样本的分析结果中出现了大量的不同污点源对应于同一数据包的情况,根据3.4节的论述,这是程序在对数据进行加解密操作。这说明该样本不是对关键字段进行加解密,而是对整个数据包的内容进行了加解密处理。上文所述的分析结果都是对程序解密数据包后的数据进行分析的结果。通过人工分析样本的静态反编译代码得知,程序先将数据包整体读入内存,在进行加解密操作时并没有开辟新的内存区域,而是对同一块内存区域进行反复加解密,故使得分析结果中出现了大量不同的污点源对应于同一数据包。这也印证了本文对于程序加解密操作的数据流特征的推断是正确的。当然,并不是所有的加密协议都会对数据包整体进行加解密处理,在其他的样本中就出现了只对参数字段和自定义命令字段进行加密的情况。

由于无法得到Prospex[12]、Polyglot[13]和Tupni等[14]网络协议逆向解析工具,所以无法直接获取这些工具对本文选取样本的分析结果。但通过与相关文献中的结果对比可以发现,之前的协议逆向大都针对未加密协议,而且这些技术大都利用网络流量的统计特征,因此通常无法解析出加密协议中的字段语义信息,在这些方面本文所提出的技术有着明显的优势。但是在应对未加密协议时,基于数据流的方法的精确度和效率较之前的解析方法有一定程度的降低。总体而言,本文所提出的技术在保证了未加密协议的正确性的前提下,能够有效地对加密协议进行解析,达到了预期的目标。

5结语

本文以动态数据流分析技术为基础,提出并实现了一种网络协议解析技术,论述了本技术的具体思想和具体实现方法,并通过实例测试验证了该技术的有效性。本技术的后续改进工作包括:1)解决多线程下的数据流分析问题。因为大部分复杂网络通信软件的通信过程都是通过多线程协作完成的,现有技术在进行多线程数据流分析时还有大量的人工分析成分,下一阶段要把这些工作自动化,以提高分析效率。2)细化解析粒度。现有技术在协议逆向时无法解析出小于一个字节的协议字段,这在某些软件的网络行为分析中会造成障碍,下一步要通过细化解析粒度来解决这个问题。

参考文献:

[1]

应凌云,杨轶,冯登国,等. 恶意软件网络协议的语法和行为语义分析方法 [J]. 软件学报, 2011, 22(7):1676-1689.

[2]

WILLEMS C, HOLZ T, FREILING F C. Toward automated dynamic malware analysis using CWSandbox [J]. IEEE Security Privacy, 2007, 5(2): 32-39.

[3]

CUI W D, PEINADO M, CHEN K, et al. Tupni: automatic reverse engineering of input formats [C]// CCS 2008:Proceedings of the 15th ACM Conference on Computer and Communications Security. New York: ACM, 2008: 391-402.

[4]

MA J, LEVCHENKO K, KREIBICH C, et al. Unexpected means of protocol inference [C]// Proceedings of the 6th ACM SIGCOMM Conference on Internet Measurement. New York: ACM, 2006:313-326.

[5]

SMALL S, MASON J, MONROSE F, et al. To catch a predator: A natural language approach for eliciting malicious payloads [C]// Security 2008: Proceedings of the 17th USENIX Security Symposium. Berkeley: USENIX Association, 2008: 171-183.

[6]

KRUEGEL C, ROBERTSON W, VALEUR F, et al. Static disassembly of obfuscated binaries[C] // Proceedings of the 13th Conference on USENIX Security Symposium. New York:ACM, 2004:18.

[7]

NEWSOME J, SONG D. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software[EB/OL]. [ 2012-10-01]. http:///docs/newsome2005.pdf.

[8]

NICHOLAS N. Dynamic binary analysis and instrumentation or building tools is easy [D]. Trinity Lane, Cambridge: University of Cambridge, 2004.

[9]

周侃. 基于数据流跟踪和库函数识别检测溢出攻击[D]. 上海:上海交通大学, 2011.

[10]

王卓. 基于符号执行的二进制代码动态污点分析[D]. 上海:上海交通大学, 2010.

[11]

潘,吴礼发,杜有翔,等.协议逆向工程研究进展[J].计算机应用研究, 2011, 28(8): 2801-2806.

[12]

何永君,舒辉,熊小兵.基于动态二进制分析的网络协议逆向解析 [J].计算机工程,2010, 36(9): 268-270.

[13]

数据分析方向篇(9)

平衡度误差即为理想要素与实际被测要素间的变动量,同时在平衡度误差数据处理过程中要求相关技术人员应注重确保被测要素与基准间的平衡性,继而由此达到最佳的误差数据处理状态。而分析法在误差数据处理流程中的贯穿,要求相关技术人员应注重获取直线度误差,且在计算过程中采取最小包容区域准则方向,以此达到高效率数据处理目的。

一、平衡度误差数据模型建构路径

第一,在平衡度误差数据模型建构过程中要求相关技术人员应注重对最小包容区域进行严格把控,即确保其符合相间准则,并注重选定两条最小包容平衡线,继而由此实现被测要素数据的获取,满足误差评定条件。同时,在平衡度误差评定过程中为了提升整体评定效果,亦应注重将被测要素、基准要素作为标准,获取直线度误差数据信息,并以误差数据曲线绘制形式将平衡度误差评定结果直观地呈现出来;

第二,在平衡度误差数据模型建构过程中为了满足模型建立需求,应注重依据误差数据将误差曲线设定为n个测点,并注重确保n=1,2,3,4……n,且利用y1,y2,y3……yn对基准要素测点误差值进行表示,同时设定被测要素测点误差值为yd1,yd2,yd3……ydn,并建立直线方程,y=(yi-yj/i-j)x+(iyj-yi/i-j),最终由此实现对测点误差值的判断;

第三,在平衡度误差值数据模型建构过程中亦应注重对误差数据的评定,且注重在误差评定过程中设定曲线上任一点到基准要素方向连线为Lij的y向距离,并设定平衡度误差为f,由此建立误差数据计算公式:f=yemax-yemin,由此达到平衡度误差数据分析目标,达到最佳的误差分析状态[1]。

二、平衡度误差评定方法

当前平衡度误差评定方法主要涵盖了对三角法、最小二乘法、三点法、基准面方程法等几种误差评定方式,且要求相关技术人员在平衡度误差评定环节开展过程中应注重合理贯穿计算机测量数据处理方式,将平衡度误差评定数据转化为测量矩阵,且在矩阵设计过程中将其计算单位设定为μm,并保持水平方向、竖直方向、测得数据方向分别为X轴、Y轴、Z轴,同时将矩阵数据置入到Windows 98操作分析环境下,继而利用AutoCAD2000对平衡度误差数据进行分析,达到高效率误差数据分析效果。

三、平衡度误差计算机数据处理

1、软件总体架构。基于分析法应用的视角下,平衡度误差计算机数据处理行为的展开对软件总体架构设计提出了更高的要求,为此,相关技术人员在总体架构设计流程开展过程中应注重首先针对平衡度误差分析条件对软件进行层次划分处理,即规划为主界面、数据运算处理、结果输出三个层次。同时,在主界面设计过程中为了提升整体误差数据处理效果,应注重确定计算规模,并发挥AutoCAD2000功能达到误差数据图形分析效果,且通过CAD图形分析模块、三角形准则运算模块等的完善,快速获取平衡度误差值,达到最佳的误差数据处理效果。其次,在软件CAD图形分析模块完善过程中,应注重导入点阵线框模型,同时确定平衡度准则,最终以图形分析的形式全方位展现计算数据,且实现对平衡度误差效果的判断[2]。

2、软件设计与开发。第一,在软件设计过程中为了满足分析法应用需求,应注重完善求解基准方向、平衡于基准方向被测要素两个软件组成部分。同时在软件系统运行过程中,创建Windows应用程序,且在程序建立过程中注重对Visual C++6.0的应用[3],由此获取代码信息:

Void Cwucha View::OnDraw(CDC*pDC)

………………

//求yemax

//求yemin

f=yemax-yemin//平衡度误差

即在此基础上满足平衡度误差数据处理需求,提升整体数据处理效果。

第二,在平衡度误差处理过程中亦应注重完善启动系统、初始化系统等软件结构组成部分,达到最佳的平衡度误差分析效果。

结论:随着社会的不断发展,工业生产等领域在可持续发展过程中逐渐凸显出平衡度误差等问题,影响到了产品生产质量。因而在此基础上,为了对此问题进行有效缓解,要求相关技术人员应注重从软件总体架构、软件设计与开发等角度出发,营造良好的计算机数据处理环境,达到最佳的平衡误差数据分析状态,且就此增强整体误差数据分析效果。

参 考 文 献

数据分析方向篇(10)

2实例研究

为了验证投影寻踪动态聚类模型在房地产投资环境评价中的适用性,下文将进行实例研究.考虑指标数据的易获得性,以辽宁省工业地产的投资环境分析为例.张军涛和刘建国利用主成分分析法筛选了影响辽宁省主要城市投资环境评价的主要指标,之后利用聚类原理对数据进行了聚类分析;杨建喜和宋永发利用基于遗传算法的投影寻踪方法将高维数据降维到低维数据,然后利用雷达图对投影特征值进行聚类分析,研究了辽宁工业地产投资环境的排序.以上两篇论文中使用两类不同的方法得到了类似的排序和聚类结论.本文的研究以此为基础,通过投影寻踪动态聚类模型进行辽宁省工业地产投资环境评价,然后与文献的结论进行比较,以检验投影寻踪动态聚类模型的适用性.工业地产是区别于住宅地产,商业地产和综合用地以外的工业性质的房地产.影响工业地产投资环境评价的因素众多,参考文献从社会文化环境、基础设施环境、经济发展环境、工业发展环境4个方面选择36个指标对辽宁省14个地级市的工业地产投资环境进行分析评价。首先,确定辽宁省工业地产投资环境的分类数,这里参照文献的分类,将整个样本分为3类。同时得各个城市的投影特征值,投影特征值排序以及投影特征值聚类结果。最后,将本文的分析结果与文献的分析结果进行对比。所得排序和分类结果与用投影寻踪分析方法和用主成分分析方法基本一致,验证了本模型在房地产投资环境评价中的适用价值.但与文献中的基于遗传算法的投影寻踪算法相比:克服了需要根据经验来确定投影指标函数的密度窗口半径参数和对投影特征值要借助雷达图进行聚类再处理的过程;与文献的主成分分析方法相比:投影寻踪动态聚类模型能够更多的利用原始指标信息,使得出的结论可能更加客观可靠.同时投影寻踪动态聚类模型在对数据的排序过程中自动输出聚类结果,不需要再借助其他方法进行聚类分析.这具有文献中所用方法无法比拟的优势.在同一聚类数据中,个别数据的排序结果与文献中结论稍微不一致,这主要是由于在用遗传算法求解时每次生成的单位投影向量带有一定的随机性所致。

数据分析方向篇(11)

一、移动电子商务的定义

移动电子商务(M-Commerce)是由电子商务(E-Commerce)衍生出的新生概念。随着互联网的不断发展,移动电子商务正在全世界范围内的普及和发展。移动电子商务本质上是电子商务技术的一种创新,基于移动无线网络,依托手机等个人移动通信设备,使用户能够减少时间和空间的限制并进行活动,是电子商务的一种新形式,并改变了电子商务的传统格局。

据艾瑞咨询最新统计数据显示,2016年移动购物市场交易规模约3.3万亿元,占网络购物总交易规模的70.2%,继2015年超过PC端之后,成为电子商务的主流渠道。同时,根据最新的一季度报告预测,2017年第三季度左右,全球移动电子用户将达50亿左右。

二、移动电子商务中的数据分析与应用

数据分析是移动电子商务重要的组成部分,同时也为产品决策提供重要参考。针对移动产品,数据分析就是利用挖掘数据的分析方法与技术手段,在手机用户大量的交易数据中总结产品流量和顾客转化率之间的规律和特点,分析消费者的消费特点。具体则是通过网络和交易信息提取客户、市场、产品环节的数据,然后建立相关模型,在更加动态化的商业环境下,能够更有效的优化产品及商业模式。

1.数据挖掘

通过自动化或半自动化的工具,数据挖掘可以挖掘出数据内部隐含的模式,并从中发掘信息或知识,同时从已有的数据中提取模式,提高已有数据的内在价值,并且把数据提炼,转化成为知识。在移动电子商务的运营之中,针对大量繁杂的客户消费及使用稻荩需要应用多种数据挖掘技术来分析客户特征,获取用户关注点,培养用户忠诚度,并在此基础上制定有效的营销计划来吸引优质用户。

在数据挖掘中最常使用的四种分析法:分类分析,关联分析,序列模式分析和聚类分析:

(1)分类分析可以定义区分数据类或概念的模型和函数,以便能够使用模型预测未知类标记的对象类。

(2)关联分析通常利用数据关联规则进行数据挖掘,其目的是挖掘隐藏在数据间的相互关系。

(3)序列模式分析同样也是为了挖掘数据之间的联系,但侧重于分析数据间的前后序列关系。

(4)聚类分析,是指根据“物以类聚”的原理,将本身未有类别的样本聚合成不同的簇,并对每一个簇进行描述的过程。

2.数据处理

(1)数据收集

一款移动电子商务产品的分析团队在处理数据前,首先要解决的问题是数据源的收集。数据收集可以分为二大类。第一类是直接能获取的数据,通常为内部数据。第二类则称为外部数据,是需经过加工整理后才能得到的数据,如手机应用平台的下载数据。

(2)数据清洗

数据清洗是数据处理中的重要部分,通过工具或编程,如Excel,Python,对数据进行筛选、清除、补充、纠正,其目的是从大量杂乱无章、难以理解的数据中抽取并推导出对解决问题有价值、有意义的数据。清洗后保留真正有价值的数据,为数据分析减少障碍。

(3)数据对比

对比,是数据分析的切入点。如果参照缺失,数据则无法确定定量的评估标准。分析过程通常采用二点切入法进行数据对比分析:横向对比与纵向对比

①横向对比,是与行业平均数据,以及竞争对手的数据进行比对,以市场为轴心。

②纵向对比,则是和产品自身的历史数据进行对比,以时间为轴心。

(4)数据细分

数据对比发现了问题后,需要用到数据细分来确定问题数据的范围,根据移动产品的差异对数据异常的范围和精度进行分析,随后进行测试与修正。数据细分通常情况下先分纬度,再分粒度。

三、数据分析

数据分析是指用适当的比较或统计方法对收集来的第一手和第二手资料进行分析,以求最大化地开发出数据资料的功能并发挥数据的作用。为了提取有效信息和形成结论,通过分析手段,可以对数据加以详细研究和概括总结。在进行正式的数据清洗,确保了数据可靠性与完整性后,可对所获取的数据进行多层面的具体分析。根据不同的数据分析层面和结果导向分类,在移动电子商务的数据分析中常应用两种分析类型。

第一种,传统电子商务营销管理中的常用分析:SWOT、4P、PEST、5W2H、Userbehavior等;第二种是统计分析:描述统计、假设检验、相关分析、方差分析、回归分析、主成分与因子分析、决策树等。

1.数据分析方法

对于第一种类型的数据分析,常可以采用比较分析法来确定基本的分析方向以及产品导向。比较分析法分为两种类型,同比与环比。

为消除数据周期性波动的影响,同比将移动产品本周期内的数据与之前周期中相同时间点的数据进行比较,计算同比增长率。而环比则反应数据连续变化的趋势,将本期的数据与上一周期的数据进行对比。同环比能为产品整体运营的发展状况提供有力的参考,但必须建立在一定的基础上和环境上。

对于统计分析,最常用的是相关分析以及回归分析。相关分析研究的是现象之间是否相关、相关的方向和密切程度,一般不区别自变量或因变量。而回归分析则通过分析现象之间相关的具体形式,确定因果关系,并用数学模型来表现其具体关系。举例来说,对一个移动电子团购平台的产品来说,从相关分析中可知“质量”和“用户满意度”变量密切相关,但只有通过回归分析方法才能确定这一对变量之间到底是哪个变量受哪个变量的影响,以及影响程度如何。

2.数据分析应用

在移动端电子商务中,APP数据分析对于开发者或运营者都是十分重要的环节,主要数据分为4个方面:用户来源、用户属性、转化率及用户忠诚度。

(1)用户来源

对于移动产品平台来说,获取用户的渠道很多,如CPA广告、交叉推广、限时免费等等。开发者从多个维度的数据来对比不同渠道的效果,比如从活跃用户、次日留存率、使用频率、使用时长等角度对比不同来源的用户。通过渠道对比,可以高效地找到最适合产品发展的渠道,以便不断完善推广策略。为了追踪App渠道来源,可以用到两种不同的方法:

①Android渠道追踪方法

国内Android市场被数十家应用商店所割据,Android渠道追踪主要围绕其中几种渠道展开。具体来说就是开发者为每一个渠道生成一个渠道安装包,不同渠道包用不同的渠道ID来标识。当用户下载了App之后,运营人员就可以通过渠道标识查看各渠道的数据。

②iOS渠道追踪方法

不同于Android的开放生态,iOS是一个完全封闭的系统。在苹果的唯一性原则以及严格的审核制度下,Android打包的做法在此则无法生效,可以通过Cookie追踪渠道更为高效的追踪数据。

(2)用户属性分析

在吸引用户下载使用之后,产品运营及开放方要尽可能地详细了解用户的设备型号、网络及运营商、地域、用户性别等宏观层面的用户特征。这些特征数据可在产品改进、应用推广和运营策略的制定上提供有力的方向性依据。

①同期群分析是一种基于同期群的核心数据及行为的对比分群方式,按用户的新增时间将用户分群,得到的每个群就叫同期群。

②获取成本分析,是指获取到一个真实的新用户所付出的平均成本。同时也要注意用户回报弥补获取成本的速度,尝试不同的渠道并跟踪用户的行为,使用如K因子传播作为降低获取用户成本的手段。

③用户终生价值分析,是指用户平均会在平台、产品上贡献多少价值。最大化用户营收的方法就是根据用户频度制定不同的定价方案,针对高频用户通过广告、精品内容收费,对于低频用户则采用单次收M模式。

(3)转化率

对移动电子商务来说,产品转化率至关重要,直接关系到开发者的产品收入。如一款移动电子游戏应用,开发者可从道具购买量、关卡和付费人群等多个维度进行交叉分析,从而查看用户付费行为动机和特征,也可以通过漏斗模型进一步分析关键节点的转化率,提高付费转化,增加收入。

(4)用户忠诚度

了解用户在一个产品应用内做了什么,并确保用户喜欢该产品,是移动产品优化产品生命周期的根本。开发者可以从留存用户、使用时长、使用频率、访问深度等维度评价用户粘度,以及RFM(Requency,Frequency,Monetary)来评估用户系数。例如,通过检测每月新增用户在初次使用后某段特定时间内的留存率来对用户进行评估。

统计留存用户的时间粒度很细,主要有次日留存、7日留存、30日留存。

四、数据分析对移动电子商务的意义

无论是公司或个人,在这个新时代,具有数据分析思维是一种更高层次的元认知能力。由于移动互联网的出现,用户数据大量积累,营销方案的制定都是基于数据分析结果来决策。作为移动电子商务公司的数据分析师,必须有对繁杂枯燥的数据进行数据分析的本领,更要有商业敏感性。

随着大数据时代的到来,以数据分析为思维的经营和管理思路将成为移动电子商务市场中消费行为及市场分析的依据,而在这种以数据为主体的决策制定中,企业获取的分析数据是直观、动态、及时的,相比咨询公司或调研公司的滞后分析具有大数据和全样本的优势。利用数据来分析用户的行为习惯,进而揣测用户的心理,深入挖掘用户需求,可以精确得出产品定位及活动,进行决策。