时间:2023-03-21 17:06:03
导语:在数据挖掘论文的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
目前现有的针对烟草营销策略的研究,多采用数据挖掘的思想,基于数据挖掘的营销策略是对终端客户进行分类,根据用户的销量和诚信记录把用户分为多个等级,但这种分级策略只能反应用户的销量信息,把这个分类作为营销策略依据太单薄,只能起一定的辅助作用。更深入地研究是根据客户的资料和历史订单数据对现有商户进行聚类,获取到自主的商户分类,但盲目的聚类会导致商户的分类没有实际意义,或获取的结果是无助于营销目的的。
2技术关键
本系统采用基于营销目的的商户聚类,技术关键包括三部分内容:数据预处理中的特征选择、基于限制目标的商户精确聚类和基于聚类结果的多层关联规则算法的研究。
2.1特征选择
假定获取的数据的维数为n,通常情况下n是很大的一个数,为简化模型,也为了防止模型陷入过拟合(维数灾难),需要进行降维处理,即仅把对项目改造判定起关键作用的因素挑选出来。本系统采用PCA算法来进行降维处理,过程如下:
1)计算标准化后的矩阵Z的样本的协方差矩阵Cov;
2)计算协方差矩阵Cov的本征向量e1,e2,…,en的本征值。本征值按大到小排序;
3)投影数据
到本征矢张成的空间之中,利用贡献分析取前m个向量Y1,Y2,…,Ym。
2.2基于营销目标限制的商户精确聚类算法
现有聚类算法一般没有约束条件,只根据相似度来进行聚类,为了能够体现约束条件,需要在聚类相似度或者样本距离之间把限制条件增加进去,这样在样本聚类的时候即可使得具有相同营销特性的样本或者客户被划分到同一个类中。烟草终端商户的大部分属性是分类属性,例如:地区、类别等,此外还有数字型属性、日期型属性,由于存在不同类型的属性,常规的聚类算法无法使用,为此,采用把数字属性和日期属性划分区间的思路,这样可以转化成分类属性的方式来进行聚类。进而可建立如下商户模型:分类对象X∈Ω,X=[A1=x1]∧[A2=x2]∧…∧[Am=xm],其中xj∈DOM(Aj),1≤j≤m,为简便起见,将对象X∈Ω用向量(x1,x2,…,xm)表达,如果属性Aj的值不存在,则Aj=ε。令Χ={X1,X2,…,Xn}为n个分类对象的集合,用集合方式表达分类对象,则Xi={xi,1,xi,2,…,xi,m},如果属性Aj的值不存在,则集合中不出现xi,j,容易得到|Xi|≤m。如果存在Xi,j=Xk,j,1≤j≤m,则Xi=Xk。为方便聚类,利用聚类汇总来压缩原始数据,从而达到提高算法效率的目的。一个类C可以由如下三元组(n,I,S)来表示。其中n为类C中的对象数量,I={i1,i2,…,iu}是C内所有属性值的集合,S={s1,s2,…,su},其中sj为ij在类C中的数量,ij∈I,1≤j≤u。集合S按升序排列,即s1≤s2≤…≤su,这同时也暗示集合I的元素按其在C中的数量按升序排列。三元组(n,I,S)被称作类C的聚类汇总CS,CS的三个成员分别记作CS.n、CS.I和CS.S;对于CS.I的任一元素ij∈CS.I,则记作CS.I.ij,对于sj∈CS.S,则记作CS.S.sj,其中1≤j≤u。
2.3基于烟草营销的多层关联规则的研究
针对本项目,对关联规则定义进行扩展,对形如:XY的关联规则,不再限定X和Y为一个项目集,而把X和Y定义为条件的合取范式,每个条件Ai=True/False为布尔表达式。此时的Ai为一个项目集,它的含义与原来的X和Y的含义相同,如果把结果中的条件布尔表达式写成Cj=True/False,则关联规则有如下形式:(A1=True/False)∧(A2=True/False)∧…∧(An=True/False)(C1=True/False)∧(C2=True/False)∧…∧(Cm=True/False)关联规则的开采问题可以分解成以下两个子问题:
①从数据集合或交易集合D中发现所有的频繁项目集。
②从频繁项目集中生成所有置信度不小于用户定义的最小置信度minconf的关联规则。即对任一个频繁项目集F和F的所有非空真子集S,SF,如果sup(F)/sup(F-S)≥minconf,则(F-S)S就是一条有效的关联规则。按上述方法发现所有类似的规则。这两个步骤中第2步要相对容易,因此项目的研究将更关注第1步,由于最大频繁项目集已经隐含了所有频繁项目集,所以可以把发现频繁项目集的问题转化为发现最大频繁项目集的问题。针对烟草营销的客户,进行关联规则挖掘时,是在上一步的基础上,即针对每一个商户群进行规则挖掘。在获取到最大频繁项目集后,顺序生成频繁项目集,然后获取到可用的关联规则。此时获取的关联规则是底层关联规则,然后再采用概念树的方法对获取的底层关联规则进行汇总。概念树由烟草领域专家根据属性的领域知识提供,按特定属性的概念层次从一般到具体排序。树的根结点是用any表示最一般的概念,叶结点是最具体的概念即属性的具体值。
目前,作为智能电网重要组成部分的智能配电网,在能量流、信息流、业务流三个方面都表现出于传统配电网不一样的特质:
(1)传统电网能量流由电网单方向流向客户,智能配电网的能量流可双向流动。
(2)传统电网信息流传输慢,信息不完整,存在较多信息孤岛,智能配电网可以实现信息全面集成,高速双向对等通信,支持分布式处理。
(3)传统电网的业务流程局限于部门内部,智能配电网的业务流程贯穿多个部门,支持互动业务流程,全局角度的优化决策。因此,涵盖电源、电网、用户的全流程,贯穿电网规划、设计、建设、运行维护、技术改造、退役的全过程,最终形成电力流、信息流、业务流的高度融合和一体化,将成为智能配电网发展、研究、建设的重点。
智能配电网的信息化建设已经全面开始,但我们仍然不能忽略存在的问题。
(1)对配网信息化的认识和定位不清楚,应用主体不明确,导致后期的应用具体的受益者少或不明显。
(2)对配电信息化系统缺乏统一细致的规划,存在“盲人摸象”的现象,提不出完整而准确的需求。
(3)容易套用调度自动化的建设思路,过分强调实时应用,而没有针对配电信息量大面广的特点,忽视了对其它系统的相关数据利用和整合,造成配电系统的信息缺口很大,模型不完整,后期的应用无法实用化。
(4)配电自动化涉及供电企业内部的生产管理环节较多,因此存在管理体制对自动化基于实时历史数据库开展配电网数据挖掘的应用与研究文/杨劭炜邱佳杰叶伟宝当前全球能源开发利用正呈现多元化、清洁化的发展趋势,我国经济快速发展,用电需求急速增加,而煤炭、风能、水能、太阳能等传统与新能源资源的分布与消费呈逆向分布,因此,国家电网公司在2009年5月21日,提出了建设“坚强智能电网”的发展战略,并分三个阶段逐步实现。国家电网“十二五”电网智能规划中明确了“电网发展方式的转变”是这一期间的核心,而作为“两个薄弱点”之一的“配电网”将是重点需要解决的。本文以配电网为切入点,引入数据挖掘技术,围绕最能体现配网管理水平的各类业务,既提高了传统配电网业务的执行效率,又能发挥信息技术强大的智能决策优势。摘要系统的不适应,或者说是自动化系统对不同的管理体制的适应性不强。造成工作职责界定不清楚,运行管理工作跟不上,系统应用和数据维护工作很薄弱。另外,根据国网“十二五”规划,国家电网公司明确要制定实施农电发展战略,大力加强农网建设。本项目正是以县公司这样的基层供电公司为研究对象,综合考虑配电网业务的复杂性,及县公司覆盖城网和农网的特点,力图在建立一个有效配电网数据挖掘与分析模型的基础上,依托先进的技术手段,提高在县公司对智能配电网的认识和管理水平,并在可能的情况下,将研究成果在浙江省范围内的县级供电企业进行推广。
2项目建设目标
实现对配调图形数据的智能化管理与各业务环节的正常流转;研究无线数据通信节点的接入及组网管理方式,接入包括可能的3G、GPRS、WIFI、RJ45、RS485、RS232等,基于星型、树型等网络结构,管理并维护多个节点,对数据进行预处理;应用有源电子标签的电子标识系统来定位现场配网设备,解决管理人员在日常巡检和维护中,突发状况时的准确定位及地理环境变迁后的配网设备查找;为移动终端上各类信息(地理背景、电力网架、电力用户信息,配网设备台帐等)提供图形化的展示和管理;实现以文件或接口的方式导入电网拓扑、电力用户信息、设备台帐信息等。项目主要研究内容:
(1)工作任务生成与流转方式的研究。提出工作任务的概念,将其作为系统中业务流转的唯一单元。设计并实现其具体流转方式。
(2)无线数据网络的研究。分析以无线数据网作为整个系统的通讯核心的技术可行性。研究无线数据通信节点的接入及组网管理方式,接入包括可能的3G、GPRS、WIFI、RJ45、RS485、RS232等,基于星型、树型等网络结构,管理并维护多个节点,对数据进行预处理。
(3)有源电子标签的研究与应用。研究使用有源电子标签的电子标识系统来定位现场配网设备的技术可行性,以解决管理人员在日常巡检和维护中,对突发状况时的准确定位及地理环境变迁后的配网设备查找。
(4)移动终端上配网信息可视化展现的研究。为移动终端上各类信息(地理背景、电力网架、电力用户信息,配网设备台帐等)提供图形化的展示和管理。
(5)与相关系统数据接口的研究与实现。研究电网拓扑、电力用户信息、设备台帐信息等数据的载入方式及其技术可行性。涉及系统包括:GIS,PMS,营销系统等。
3项目技术方案详情
3.1系统架构
(1)总体要求及架构。系统将采用面向服务架构(SOA),遵循IEC61970标准接口和CIM数据标准,集成SCADA、市公司数据交换总线(IEB)、电力营销、气象网站、负控管理等相关系统,采用数据仓库技术,有效解决多源头复杂数据的采集、海量数据之上进行快速准确科学的数据分析的难题,贴近国内供电企业电网运行工况和负荷分析预测人员及电网规划人员日常工作所需的基于省公司实时历史数据库开展配电网数据挖掘系统。
(2)技术路线。①基于IEC、CIM等标准,建立资源中心,通过IEB企业总线接收来自PMS、ACADA、电力营销、用电采集、气象系统等的多维数据;②采用C/A/S三层架构,保证平台的稳定性和时效性;③部署上满足大范围推广应用;
3.2集成框架
基于省公司实时历史数据库开展配电网数据挖掘平台集成了SCADA、市公司数据交换总线(IEB)、电力营销、气象网站、负控管理等相关系统。集成框架如图1所示。
4硬件架构
平台应用采用单独的应用服务器独立部署,需要配置相应的软硬件环境。应用服务器通过F5实现均衡负载,当用户增加,已有服务器性能影响用户体验时,通过增加应用服务器的方式提升系统整体性能。
5软件架构
基于省公司实时历史数据库开展配电网数据挖掘平台将提供6大业务分析功能及3个基础管理功能,共约40个分析子功能项,满足各级负荷分析预测人员的日常工作所要。
6结论
首先,提高财务信息的利用能力。传统财务数据查询主要面向应用,属于一种支持日常操作的事务处理,没有分析所查询的数据信息的能力,决策者也无法在分析大量历史数据的基础上多维度的比较、分析某个主题的相关数据。而财务分析中应用数据挖掘技术体现出序列导向及多维度的特点,从而有效提高财务信息的应用能力。其次,解决财务信息的噪声问题。网络环境下,企业可以方便、快捷的获取企业内部信息、各关联方及外部信息,这个过程中难免会出现信息过量的问题,如何迅速从海量信息中获取对决策有用的信息成为各决策者及管理者面临的重要问题。这种情况下,数据挖掘技术可以在海量信息中分辨、挖掘出对财务决策有用的信息,最大程度上减少信息噪声的影响。最后,提高财务分析的智能化水平。决策本身体现出动态性、复杂性、多样性的特点,而决策者本身的综合素质也会对决策的准确性产生影响,因此同一种情况可能产生不同的决策结果。随着数据量的不断增加,传统依靠程序人员设计专用程序查询数据的方法已经相对滞后,决策者需要更加智能化的信息分析方法,数据挖掘技术便可满足这一要求,其利用现有数据获取新的、有用的信息,并对信息的查询、存储过程预以优化,体现出强大的自我学习功能,从而最大程度上满足财务信息分析智能化的要求。
二、数据挖掘技术在财务分析中的应用
财务分析的主要目的是改善经营管理,提高企业的经济效益,其主要目的是保证会计信息资料的正确可靠性,以保证企业财产的安全性、完整性。比如某生态园林企业需要投入大量资金完善生产基础设施,并保证现场作业的有序,如有必要还要投资于企业产品周边附属产业的发展,因此财务决策的重要性不言而喻,而在财务决策中应用数据挖掘技术十分必要。财务分析中应用数据挖掘的基本流程包括问题识别、数据准备、数据开采及结果表达与解释等四个步骤,图1可将财务分析数据挖掘的过程直观的表达出来:
(一)问题识别
典型的财务决策包括投资决策、筹资决策、成本决策、销售决策等,企业要进行财务分析前必须识别决策问题,明确需要达到的决策目标等,再将决策目标转换为数据挖掘的目标,最后进行准确的数据定义。如企业需要投资企业产品周边附属产业,则需要利用数据挖掘技术明确以下问题:
(1)企业经营中可随时支配的资金额度,需要财务人员建立数据库模型,将可用于投资的资金情况准确、详细的计算出来;
(2)编制投资方案,即与本企业实际情况相结合,考虑具体投资计划,并对投资方案的可操作性进行分析,比如上述园林生态企业需要投资进口园林机械的项目,就需要在投资前对该项目的大小做出合理评估,了解该品牌园林机械在国际市场的占有份额、品质、成本及销售价格等信息;
(3)投资收益分析,投资的主要目的是获得更高收益,因此在数据挖掘过程中,问题识别时必须做出可靠的收益预算。
(二)数据准备
在完成问题识别后,需要根据不同的需求、从相关数据库信息中选择适用的数据信息,即进行数据准备,该过程需要收集大量与企业财务分析相关的数据信息,以保证数据挖掘的真实性、客观性,比如花卉市场分布信息、装饰装潢市场信息、园林设计与市场销售等信息。通常情况下,数据准备又可分为数据集成、数据选择及数据预处理等三个步骤,其中数据集成是把多数据库运行环境中的数据进行合并处理,去除信息噪声,剔除虚假数据;而数据选择则是分辨需要分析的数据集合,进一步缩小数据处理的范围,提高数据质量,从而保证数据挖掘的有效性;数据预处理的主要目的是解决数据挖掘工具局限性的问题。
(三)数据挖掘
当上述准备工作完成后即可进行深入的数据挖掘处理,挖掘过程中需要注意,必须以财务分析核心思想为指导,明确数据挖掘的目的性,数据挖掘的主要内容包括:选择合适的挖掘工具、具体的挖掘操作及证实发现的知识等,其中选择合适的挖掘工具至关重要,限于篇幅此处对神经网络及决策树两种方法进行简单介绍。神经网络是以自学习数学模型为基础的,利用该方法可以很容易的解决具有上百个参数的问题,为高复杂度的问题提供一种相对简单的方法;视经网络既可以表现为有指导的学习,也可以是无指导聚类,不过输入神经网络中的值均为数值型的。实际应用中通常采用该方法进行财务预警分析。决策树法是现阶段应用最广泛的归纳推理算法之一,其提供了一种展示在何种条件下会获得对应值的规则的方法,是一种简单的知识表示方法,在数据挖掘过程中,决策树法主要用于数据挖掘的分类。
(四)结果表达
结果表达即是在处理数据库信息的基础上客观的表达出数据挖掘的结果,以为企业财务分析提供可靠依据。可以说结果表达是数据挖掘的成果展示,其所表达的是最有价值的信息,如结果表达所提供的信息达不到决策的要求,则可重复挖掘过程,直至决策者满意为止。
三、结语
采用SQLServer2008软件进行统计分析,统计药物使用频次,并采用关联规则对药物配伍、药-病、药-症关系进行对应分析,采用SQLServer2008AnalysisServices对症状、体征的常用药物进行多维数据分析。
2结果
2.1活血化瘀药物使用频次统计277份医案中,陈院士使用的活血化瘀药共20种,其中使用频次排在前5位的依次为赤芍、延胡索、川芎、丹参、红花,使用频率均在23%以上;其次是生地黄、当归、牡丹皮、桃仁、牛膝、郁金,使用频率在10%以上;其他如益母草、王不留行、三七、鸡血藤、大黄、泽兰、鬼箭羽使用频率均在10%以下。具体见表1。
2.2活血化瘀药物的配伍应用配伍应用的常见两项关联如川芎、赤芍为陈院士治疗冠心病尤其是介入术后再狭窄的常用配伍,苦参、延胡索为治疗心律失常的常用配伍,桔梗、川芎为治疗气滞血瘀证的常用配伍,三七、延胡索为治疗瘀血疼痛的常用配伍。具体见表2。配伍应用的常见三项关联如桃仁、川芎、红花,丹参、川芎、赤芍,红花、川芎、赤芍,均反映了冠心Ⅱ号方(当归、丹参、川芎、赤芍、红花、降香)药物配伍;桔梗、红花、川芎反映了血府逐瘀汤的药物配伍,均为陈院士常用的活血瘀方药。其他如钩藤、川芎、天麻,、川芎、天麻,反映了治疗血瘀兼肝阳上亢的常用配伍;藿香、川芎、佩兰反映了治疗血瘀兼湿浊的常用配伍;太子参、红花、川芎反映了气虚血瘀的常用配伍。具体见表3。
2.3药-病关联分析表4示,支架术后血瘀证应用川芎、赤芍的置信度分别为0.89、0.83,置信度排在3至5位的依次为红花、延胡索、丹参,再次为黄芪、薤白、桃仁、瓜蒌、半夏,说明陈院士治疗冠心病介入术后除活血化瘀外,也重视益气、化痰法的应用,通补兼施。表5示,高血压病血瘀证应用活血化瘀药物按置信度排序依次为牛膝、赤芍、生地黄、川芎、丹参、红花,其中赤芍味苦微寒,可清热凉血、散瘀止痛;生地黄甘苦凉,滋阴和血;牛膝苦酸性平,可补肝肾、引血下行,体现陈院士选方用药注意照顾疾病病机的特点。表6示,心律失常血瘀证应用活血化瘀药物以延胡索置信度最高(0.39),其他常用的还有川芎、生地黄、丹参、当归。
2.4药-症关联分析表7示,冠心病出现心痛症状时,使用药物置信度最高的是延胡索、丹参、薤白;出现紫暗舌、黄苔时,赤芍的置信度最高;紫暗舌、畏寒同时出现时,当归的置信度最高。高血压病出现头痛时,使用天麻、钩藤的置信度最高,头痛与脉沉弦同时出现时,天麻、钩藤的置信度最高。表8示,陈院士活血化瘀治疗心血管疾病血瘀证不同症状、体征所用药物有一定差别,如治疗瘀斑舌牡丹皮使用较多,治疗心痛延胡索使用较多,治疗头痛川芎使用较多,治疗半身不遂除当归、赤芍、川芎、生地黄、红花、桃仁外,还常合并使用全蝎、蜈蚣、乌梢蛇等虫类通络药物。
3讨论
血瘀证因瘀血的原因、部位、所患疾病、体质禀赋、病情轻重等不同,其临床表现可多变,故治疗上除血瘀证的通治法和方药外,也要注意灵活变通,兼顾疾病、病位、兼证和兼症的特点。陈院士临诊每细察舌脉,再结合证候之兼挟,病程之长短,体质之虚实,对病情进行全面分析,辨证求因,审因论治,科学配伍。处方用药或根据瘀血之因辨证地运用行气活血、益气活血、养血活血、温经活血、化痰祛瘀、清热活血、活血解毒等法;或结合病变部位而采用活血通腑、活血利水、清心活血、活血通窍等法;或结合疾病特点施以专方专药。数据挖掘是从大量的、不完全的、模糊的数据中,抽取潜在的、有价值的知识(模型或规则)的过程。运用结构化数据库和数据挖掘方法有可能解决中医特色研究和发展中的关键问题,为中医特色各个信息单元之间内在隐含关系的挖掘、规律的总结、问题的发现等提供技术和方法学上的支持[9]。数据挖掘的算法有多种,如关联规则、聚类分析、决策树、贝叶斯、神经网络等[10]。在中医医案和临床资料的研究中,以关联规则和聚类分析应用较多,频数分析则常和其他算法一起使用。本研究采用关联规则这一数据挖掘方法,对陈院士活血化瘀治疗心血管疾病的用药规律进行了分析。其中对现代医学病名与药物进行关联分析发现,冠心病支架术后血瘀证应用川芎、赤芍的置信度最高,二者配伍可视为治疗冠心病支架术后的专病专方专药,其次常用的活血药依次为红花、延胡索、丹参;高血压病血瘀证对应的药物依次为牛膝、赤芍、生地黄、川芎、丹参、红花;心律失常血瘀证对应的用药依次为延胡索、川芎、生地黄、丹参、当归。分析结果与陈院士临证注意兼顾疾病特点灵活选用活血化瘀药和科学配伍的特色基本相符。其中丹参、红花、川芎、赤芍可作为血瘀证的通用药物;延胡索辛散温通,“行血中气滞,气中血滞”,功能活血行气,疗一身诸痛,冠心病心绞痛、头痛明显者可选用;川芎辛温香窜,走而不守,能上行巅顶,下达血海,为血中之气药,治疗头痛常选用之,并适当配伍他药;赤芍苦微寒,清热凉血、祛瘀止痛,与川芎合用可佐其温燥,而加强活血化瘀之功,陈院士常用二者配伍治疗多种血瘀证尤其是冠心病介入术后,以川芎、赤芍的有效组分配伍组成的芎芍胶囊,经多中心随机双盲对照研究证实具有预防介入术后再狭窄的作用[14]。
在熔炼机组优化运行的过程中,机组的运行性能指标与人员的操作水平、负荷及运行参数之间有着复杂的相互关系,这种关系在大量的生产历史数据中与机组各数据项之间关联,因此可以通过数据挖掘的方式把其中的关联关系定量的反映出来,最终反馈到实际运行中。本文结合工厂的实际情况,分析由工厂的DCS系统采集的实时运行数据,来得到用户期望的相关参数间定量的关联规则。
2交互式关联规则挖掘算法
关联规则挖掘算法在数据库的记录或对象中抽取关联性,展示了数据间位置依赖关系,其目的是寻找在大量的数据项中隐藏着的联系或相关性。其优越性在于能将用户的定制信息整合到挖掘过程中,以一种友好的方式引入约束,使挖掘出更加符合用户需要的信息,并且提高了挖掘的效率和有效性。
2.1目标数据库的确定
数据挖掘应熟悉对象的背景知识,明确挖掘的目标,根据目标确定相关数据,以此作为目标数据库,来完成对数据的预处理、挖掘和规则评价。
2.2交互式关联规则挖掘算法
表示A成立则B成立,其中给出了可信度C和支持度S。可信度C是对关联规则准确度的衡量,即在出现A的情况下出现B的概率;支持度S是对关联规则重要性的衡量,即A和B同时出现的概率。
3熔炼机组数据挖掘的实现
本文采用的是冀某工厂于2013年5月运行的数据,采样频率为2~3秒/次,采样模式为实时监测值,得到7595组数据。在分析阶段,对影响机组的主要可控参数进行了提取及预处理,参数主要包括:转速、有功功率、主蒸汽压力、调节级压力、中压缸排汽压力。以机组转速设计值为3600r/min为例来分析。对各个可控参数数据进行曲线化处理,作为分析它们之间的关联规则的数据表。上述关联规则表示,在三种负荷工况下,工厂熔炼机组有功功率与主蒸汽压力、调节级压力、中压缸排汽压力三者之间最优变化区间的关联。经分析,在机组中应用关联规则的数据挖掘技术与传统方法相比,优点是其可以对不同的可测参数进行挖掘,方法简单有效、可操作性强;运用关联规则进行挖掘,对过程能够较灵活控制,处理后的目标值直观,便于操作指导和提高运行效率。
4结论
结合目前电厂实际情况来看,设备状态监测系统与数据挖掘技术是密切相关的,就目前数据挖掘技术应用角度来看,其实施步骤及实施要点主要可以按照以下流程进行。
1.1以监测系统模型预测值实施监测数据挖掘技术规范下所确定的非参数性模型,可以在监测设备现场运行时产生符合设备运行规范的相应预测值,设备状态实时化预测值的确定,不单纯由设备现场运行情况确定,同时也会按照设备同监测系统各监测点的相互关系以及设备过往运行情况进行调整。准确的说,设备状态实时化监测,应当充分考虑到大量历史信息数据,并全面把握各模型内部测点关系后,动态化确立的,在实践当中,利用高精度的预测数值同设备实际运行数值进行分析比较,并采用统计学方法进行分析,可较为全面的把握现场设备的各项参数,并针对设备及系统的早期故障进行有效预警。比如,若单项参数的实际测量结果同预测值存在较大差异时,则应参考偏差规模大小及系统相关的预警机制,督促相关设备运营维护人员尽快处理故障,防止故障严重化或者出现规模扩大化。此外,构建科学合理化的预警条件后,主设备管理与操作使用人员,应该按照工作实践,对新设备运行状态进行较为妥善的早期处理,进行全面操作,从而全面提升设备早期稳固性与可操作性。
1.2构建监测系统模型在采用数据挖掘技术构建设备状态监测系统时,应当优先结合各子机组系统,按照现场设备构建完善的系统模型。具体来讲,就是从既有的数据库中调用大量数据,按照模型构建需要进行整理,将其转化为设备状态监测系统可识别的格式,再按照模型构建规范进行后续操作。考虑到设备原有运行数据中存在涵盖设备运行规律以及设备具体运行参数等与设备密切相关的海量数据,故可以通过对过往数据库内信息进行充分分析处理后,构建较为完善的动态模型,并依此确定最符合设备现场运行规律与设备参数的设备状态监测内容。考虑到数据挖掘技术主要是对历史数据进行全面分析整理后进行模型构建,故建模方式同样可以采用非参数形式,避免了一般性建模工作中静态参数的约束,使得设备运行现场反应更为精准,有效解决了常规建模法需要大批人力资源支撑的问题,另外,为了解决建模设备规模较大这一问题,采用数据挖掘法也能全面实现,既拥有良好效果,又具备较强的技术性。
1.3以预期值及实测值分析设备故障就目前设备情况来看,对比监测站点提供的设备实测值与预期值,可以大致分析获得设备在整个系统当中哪部分测点更易出现故障,并进一步确定设备运行风险较高的测点。以大型风机为例,大部分大型风机常拥有数几十个测点,而出现故障的测点缺一半仅有几个。在利用该设备状态监测法时,用户可以按照设备故障预防要求,选取最需要进行监测的几个点,并要求电厂调动设备管理相关部门确定完善的预警等级制度,并制定完善的故障排除和检修计划,利用数据挖掘技术整理的早期故障处理经验,逐渐构建起较为完善的在线式设备动态维护管理系统。可按照设备以往事故及预警的数据信息,对导致事故的潜在参数影响度进行分析,通过考察导致故障的现象在设备中所占据的百分比,从而基本排除导致设备事故的潜在可能,为其配备相应的设备运营维护管理计划。此外,全部设备的早期预警处理方式及结果,都应记录于整个数据挖掘技术管理系统内,通过不断整合设备过往故障处理信息与现场处理经验,从而逐渐构成完善的设备现场维护管理系统,提高设备状态监测效率。
2数据挖掘技术监测设备状态的优势
将运用数据挖掘技术后的设备状态监测系统与传统常规式监测系统对比,其主要优势如表1所示。由表1可知,在实际应用过程中,利用数据挖掘技术,构建较为完善的设备状态动态化监测系统,可以较为有效的实现规范设备参数、在线监测设备运行以及设备故障快速化排除等工作。在提高设备可靠度的同时,也能够尽可能避免超出原计划停机等大型故障。本文中所提到的实施要点,具有一定参考价值。
3结束语
关键词:数据挖掘电子商务应用
当今,国内外电子商务类网站日益兴起。许多电子商务类网站都提供了一定程度的个性化服务,比如提供商品推荐服务。而构成这些个性化服务的基础就是数据挖掘技术。
一、数据挖掘分析
1.数据挖掘的定义。数据挖掘(datamining,DM)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。包括存储和处理数据,选择处理大数据集的算法、解释结果、使结果可视化。
2.数据挖掘的方法。从商业的角度来看,数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。数据挖掘的方法大致可以分成4类:关联分析、概括分析、分类分析、聚类分析。(1)关联分析:分析表面上不相关数据之间的内在联系,揭示各事之间的依赖性和相关性,分析范围包括简单关联、因果关联等。在电子商务中,用数据挖掘找到隐藏的关联规则,当客户浏览、搜索关联规则中的某种商品时,就可以在页面中以推荐商品的形式显示关联规则中的其它商品。在进货计划和促销计划中,也可以将这个因素考虑进去。(2)概括分析:即提取数据库中指定的数据集合的一般特性,找出遍性规律。(3)分类分析:设置分类规则,把各个事务或实体按照性质和特征不同进行归类,把数据层次化和规整化,从而建立数据的分类模型。(4)聚类分析:通过分析和归纳实体之间的特征差异,选出具相识特征的实体聚合成为一个类,并用某种规则来描述该类的相同属性,形成一种聚类规则,实际上,它是与分类分析法互逆的过程。
3.数据挖掘的过程。该过程从大型数据库中挖掘先前未知的、有效的、可实用的信息,并使用这些信息做出决策或丰富知识。(1)确定业务对象:清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步。挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,为了数据挖掘而数据挖掘则带有盲目性,是不会成功的。(2)数据准备。数据的选择:搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据。(3)数据挖掘:对所得到的经过转换的数据进行挖掘。除了完善从选择合适的挖掘算法外,其余一切工作都能自动地完成。(4)结果分析:解释并评估结果。其使用的分析方法一般应作数据挖掘操作而定,通常会用到可视化技术。(5)知识的同化:将分析所得到的知识集成到业务信息系统的组织结构中去。
二、数据挖掘与电子商务的关系
在电子商务企业中,数据挖掘运用于客户行为分析,企业从中受益体现在以下四个方面:(1)可以发现客户和访问者的爱好、生活模式。(2)可以争取新顾客,怎样使产品适销对路、怎样给产品定价、怎样吸引单个客户、怎样优化Web网站。(3)可以用相应的信息确定顾客的消费周期,针对不同的产品制定相应的营销策略。(4)可以确定客户细分,为每一个客户的独特需求设计“量身定制”的产品。三、数据挖掘技术在电子商务中的应用
1.面向电子商务的数据挖掘系统设计。本系统电子商务平台采用基于三层体系结构构建,服务器端采用先进的J2EE平台构架,有完整的体系框架组成,具有很好的可扩展性、互联性和可维护性。因此面向电子商务的数据挖掘系统由数据库服务器、应用服务器和客户端三层组成,整个体系结构是以J2EE企业级的构建技术为基础。对数据挖掘过程中产生的数据,采用独立的数据挖掘库表存放,这样既不影响也不依赖数据挖掘的数据源。应用服务器完成所有的数据挖掘运算,通过接受客户端的设置,完成所有对数据进行探索、转换、挖掘的工作。数据挖掘系统的每个功能模块都以EJB的形式进行封装,以实现分布式计算和负载平衡等分布式计算的要求,把具有繁重计算任务的模块和用户交互模块分开。客户端要负责数据挖掘流程的创建工作、所有功能模块参数的设定以及各种可视化结果的显示。用户可以根据自己的要求任意创建各种形式的挖掘流程,同时按照需要执行某部分流程,获取相应的可视化分析结果,其系统体系结构如图所示。
面向电子商务的数据挖掘系统体系结构图
2.面向电子商务的数据挖掘系统功能设计。面向电子商务的数据挖掘系统主要以下几大功能模块:(1)用户信息分析。运用分类和聚类挖掘方法对用户的信息分析,可以得到用户的些特征。对用户分类相当于对具有某些公共属性的用户群体建立了概要特征描述,这些特征可以用来对新增的用户进行分类,可以发现未来的潜在用户并开展有针对性的商务活动,如自动给一类特定的用户发送销售邮件,当属于同一类的用户再次访问站点时为其动态地改变站点的内容等。通过这些举措使商务活动能够在一定程度上满足用户的要求,实现目标营销。(2)商品信息分析。运用关联规则挖掘发现商品访问中所有关联和相联系的规则,可以从交易事务数据库中发现商品间的相互联系。这对电子商务公司组织站点网页结构、开展有效的营销策略非常有帮助。(3)物流信息分析。采用神经网络预测技术,根据各物流配送点接到的网站用户订单来预测其库存数量。预测信息可以给物流配送中心以参考,用来合理地确定各配送点仓库的库存量,使各配送点的补货能更加合理有序,降低物流成本,节约库存费用。
四、结束语
数据挖掘是一个新兴的领域,具有广阔应用前景,目前,电子商务在我国正处于快速发展和应用阶段,利用数据挖掘技术,能够强化对客户的服务、促进市场最优化、加速资金周转、实现企业的创新发展。电子商务平台上的数据挖掘技术有待人们去进行更深入的研究工作,这将不断的推动数据挖掘技术的深入发展和广泛应用,创造出更多的社会和经济价值。
参考文献:
[1]张云涛龚铃:数据挖掘原理与技术.北京,电子工业出版社,2004年1月
[2]方真等:电子商务教程[M].北京:清华大学出版社.2004
现有的医院数据挖掘主要是从两个方面进行的,一个是从功能的角度,而另一个是从数据对象的角度进行的。
(一)从功能角度
常用的数据挖掘可以分为统计分析、知识发现、和其他的数据挖掘技术这三类。
1.统计分析
统计分析是指运用统计方法及与分析对象有关的知识,从定量与定性的结合上进行的研究活动。在医疗数据挖掘中的应用中,可对病人的各种医学影像进行自动分析、对在院病人的监护数据进行统计分析、分析中医诊断和方剂、疾病危险成因的研究等。
2.知识发现
它是一种间接地从数据中提取信息的方法,而且这些信息并不是直观展现的。如通过关联分析的方式来分析药物治疗的效果和预测手术术后的情况,可以分析某种疾病的发病因素,从而指导病人如何加强对该疾病的预防。可以通过患者的各项生化结果进行分析,从结果的相互关系中得出比较准确的预防与治疗方案。
3.其他类型
随着互联网、数据库等技术的发展,还出现了一些其他数据挖掘技术。如文本挖掘技术、Web挖掘技术、分类分析技术、分布式数据挖掘技术等。
(二)从数据对象的角度
按照不同的数据类型,数据挖掘通过时间序列、空间、文本、等方面进行挖掘。如从时间的角度,对医院门诊及住院患者的数量进行预测以判断病人的变化量是季节性的还是因为其他原因。
(三)从应用层面的角度
医院的数据挖掘可分为诊疗信息挖掘和管理信息挖掘。
1.诊疗信息挖掘
诊疗信息挖掘主要目的是通过对患者在医院当中的诊疗信息进行分析,从而建立起对患者有针对性的诊疗方案。如通过对慢性病人长期的住院信息,我们可以分析出病人的发病周期,分析其发病规律,从而做出有效的预防诊疗方案。
2.管理信息挖掘:
(1)财务管理
通过对病人费用的分析,我们可以得出病人各项费用的组成比例,从而分析各个科室内各种病人的费用组成,从而能针对性的控制各个科室的费用比例。使医院管理部门能有效的控制医疗费用。通过对不同时期的费用进行对比分析,可以按不同时间对各个科室的各种费用进行对比分析,并通过可视化技术,直观的展现出其变化趋势,从而使得医院的管理者能直观的看到医院的历史变化,帮助其对医院的长期发展做出一定的判断。通过数据挖掘对医院内部的各种物资设备,资产负债进行汇总,从而对医院的盈利、负债状况进行分析,以便医院管理者能真正把握医院的经营状况,能正确的对医院的经营成本进行全面分析。以便把握医院的真实情况,从而提高医院的经济效益。例如:通过对医院资金的运行情况进行分析,可以有效的了解医院资金的流向及医院当前的财务状况,从而规避一些医院的运营风险。通过数据挖掘对各类医保病人的分析,可以有效掌握各类医保病人的构成,及医保资金的运行情况。通过分析病人的收治人数及住院天数,并结合医保资金的使用进度。可以在医保费用定额的情况下,更好的指导医院各个科室,收治各类医保病人,提供更好的医疗服务。
(2)医疗质量管理
如利用数据挖掘技术对住院患者的各项住院数据进行分析,如住院天数、质量费用、诊疗方案等,从而为医院的质量管理通过方案,缩短病人的住院时间,减少病人的住院费用。通过总结灭菌工作与消毒效果的规律,加强对手术室感染工作的管理。通过对手术室及各科室无菌物品及消毒器械的使用进行动态监测从而掌握并加强手术室及各科室的院感管理。通过对医院信息管理系统中各科室的药品用量,用时间序列的方式进行分析,从而得出各科室的药品用量消耗趋势,并进一步指导科室用药,为临床科研提供更多有价值的资料。通过数据挖掘能够有效地对抗生素的使用进行有效的管理,并通过对病人使用过程中相关信息的采集,提前、分析。对抗生素的耐药性、用量及治疗效果能有一个动态的实时监控,从而有效的监测抗生素的使用情况。
(3)医院经营目标管理
通过对住院患者的职业、性别、年龄、地区等分布情况进行分析,可以得到不同类型患者的医疗需求类型,经济状况等信息,掌握患者差异对医院收入的影响。从而能针对行的采取措施来提供服务质量,增加门诊及住院量。再比如通过分析门诊病人的就诊流程的时间及住院患者从入院到出院的各个就医环节的时间分布。分析出患者的就医瓶颈,掌握影响患者诊疗效率的因素,以便能针对这些因素采取措施来帮助医院管理者进行业务流程的更新和改进,提高患者的就诊效率。
(4)经营决策管理
通过对患者的季节性分布进行分析,来预测未来时期门诊及住院的人次。从而使医院管理者能有效的分配医院资源,有针对性的改善医院诊疗服务项目。实现对医院人员、设施的合理配置。
(5)医院资源管理
充分利用数据挖掘技术对医院各个科室的各项数据进行综合分析,从而制定出针对各科室的各种合理指标。并从中分析出各科室的薄弱环节,并采取相应的措施,以提高科室的综合水平。在采购医疗设备并投入使用后,可对其使用情况及效果进行分析,实现对医疗设备从采购到报废的全程决策支持,使医院医疗设备的全部使用周期都能被管理者统筹管理,从而较好的解决医疗设备效益、代价、风险等互相制约的管理难题,充分发挥医疗设备的社会效益和经济效益。
二、结论
1.1分布式框架下的图计算工具
1.1.1Pregel为了解决MapReduce在一些机器学习算法中性能瓶颈问题,Google针对大规模图运算提出了Pregel框架,它是严格的BSP(bulksynchronousparallel)模型(BSP模型,即“大块”同步模型,其概念由哈佛大学的Valiant和牛津大学的BillMcColl提出,是一种异步MIMD-DM模型,支持消息传递系统,块内异步并行,块间显式同步),采用“计算-通信-同步”模式面向顶点的迭代方式完成机器学习的数据同步,这种灵活的面向顶点的方法和高效的容错机制的设计模式可以描述一系列的算法,并在有上千台的计算节点的集群中得以实现。在集群环境中,从远程机器上读取数据难以避免地会有延迟,Pregel选择了一种纯消息传递的模式,通过异步和批量的方式传递消息,通过共享内存的方式,有效地缓解了远程读取数据的延迟,提升了集群的性能,并且Pregel应用一组抽象的API隐藏了分布式编程的相关细节,展现给使用者一个易编程和易使用的大型图算法处理计算框架。但是Google一直没有将Pregel的具体实现开源,外界对Pregel的模仿实现在性能和稳定性方面都未能达到工业级应用的标准。同时,在图计算中,由于图的顶点、边密度的不平衡性的特点,带来BSP模型的“木桶效应”(木桶效应是由美国管理学家彼得提出的,本文指的是先完成的任务需要等待后完成的任务,处理速度最慢的任务将成为整个系统的效率制约瓶颈)的限制,网络、计算机硬件中的差异性也会使这种现象更加明显。
1.1.2SparkSpark是UCBerkeleyAMP实验室开发的通用的并行计算框架,是Pregel的优化模型,它是基于MapReduce算法实现的分布式计算框架。Spark拥有MapReduce所具有的优点,但不同于MapReduce的是,Spark采用了一种弹性分布式数据集(resilientdistributeddataset,RDD)的抽象数据结构,Spark是一个基于内存计算的开源的集群计算系统。RDD是一个具有容错机制的特殊集合,它提供了一种抽象的数据架构,使用RDD逻辑转换而来的可重复使用的共享内存,而不再需要反复读写HDFS,解决了MapReduce框架在迭代计算式中要进行大量磁盘I/O操作的问题,这让数据分析更加快速,为构建低延迟的并行性大数据分析处理框架提供了稳定的基础。同时,Spark提供了REPL(read-eval-printloop)的交互式查询以及函数式编程,支持围绕RDD抽象的API,同时包括一套transformation(转化)和action(动作)操作以及针对大量流行编程语言的支持,比如Scala、Java和Python。在图计算方面,Spark原生的Bagel以及Graphx提供了对于图操作的API,为大规模的图计算提供了低延迟,负责优化交互式的大规模并行处理框架,但是Spark的磁盘索引是简单的静态机制,无法随着迭代状态的变化而动态优化。
1.1.3GraphlabGraphlab是CMU的Select实验室提出的基于内存共享机制且面向机器学习的流处理并行框架,它的分布式处理是基于MPI(messagepassinginterface,消息传递接口)实现的,并且将数据抽象成图结构,它是以图的顶点为计算单元的大规模图处理系统,支持稀疏的计算依赖异步迭代计算等,解决了MapReduce不适应需要频繁数据交换的迭代机器学习算法问题,是继Google的Pregel之后的第一个开源的大规模图处理系统。Graphlab的核心思想是“以图顶点的方式思考问题”,以最小化集群计算节点之间的通信量和均衡计算节点上的计算和存储资源为原则,对图的顶点进行切分。类似于MapReduce中的map和reduce过程,它将机器学习抽象成GAS(gather(收集)、apply(运算)、scatter(更新))3个步骤,然后按该抽象模型设计顶点程序实现算法。在gather阶段,当前点收集邻接点和边的值,结合自身的值,进行简单的用户定义的sum(求和)操作;在apply阶段,当前点根据sum得到的值及其前一时刻自身的值计算新的点值;scatter阶段当前点利用自己的新值,结合邻接点/边前一时刻的值来计算邻接边的新值,并更新邻接边。GraphLab的算法被应用于很多推荐系统,也包括银行的欺诈侦测和电脑网络中的入侵侦测等领域。
1.1.4PowerGraphPowerGraph是卡内基梅隆大学设计的一种强大的图计算分布式并行框架,它结合了Graphlab和Pregel关于图计算的优点,有效改善了Pregel和Graphlab等框架的并行化受限于顶点的邻居个数的问题。现实世界中的图,都是典型的Power-Law(幂律)分布图,其中少部分顶点连接到图中大部分的顶点上,这种图的划分对于并行的分布式框架来说是一个非常大的难题,并且图的划分效率直接影响系统的通信开销。一般的并行框架采用的是散列随机分配方案,但这种方案没有考虑局部性,划分完成后各任务负责的子图之间的强耦合性导致后续的迭代计算过程产生大量的消息通信,严重影响负载均衡。PowerGraph使用了支持同步处理和异步处理机制的GAS模型,并且提出了一种P-路顶点切割分区方案,在减少计算中通信量的同时保证了负载均衡,很好地解决了图的Power-Law问题。
1.2单机图计算工具——Graphchi除了以上介绍的分布式图计算框架外,还可以使用单机的图算法库,如BGL、LEAD、NetworkX、JDSL、StandfordGraphBase、FGL等进行图的挖掘和计算,但这种单机的方式由于内存限制的原因,对图本身的规模有了很大的限制[2]。为解决单机图计算的内存瓶颈问题,卡内基梅隆大学的Select实验室开发了Graphchi,它是Graphlab的一个分支,采用基于磁盘的以顶点为中心的计算模型,它可以在PC上进行大规模的类似于社会网络分析的图计算,而不需要分布式的集群和云服务,也不需要考虑内存的限制。
1.2.1基于磁盘的计算要想利用单机而不利用集群来并行地进行大规模的图计算,首当其冲面临的是存储问题。庞大的图数据在内存中处理上百万条边需要几十或几百吉字节的DRAM,因为其价格昂贵,目前只对高端服务器有可用性,所以Graphchi将目光投向了价格低廉、容量大的磁盘作为其外部存储,用基于磁盘的计算模型减少内存的使用和随机存取问题。然而,如何从磁盘上处理大规模的图数据是一个难题。为了处理这个问题,Graphchi采用了新颖的PSW(parallelslidingwindow,并行式滑动窗口)模型,从磁盘上处理大的图数据。
1.2.2PSW模型Graphchi采用了PSW模型从磁盘处理大的图数据,不同于分布式框架通用的BSP模型,PSW模型能够异步处理存储在硬盘上的可扩展图数据,有效规避了“木桶效应”。PSW模型中,边的信息分区shard采用不相交子集(顶点集被分为P个子集interval(i))的形式关联存储,这种存储方式将每个子集以滑动窗口的形式分别从硬盘装入内存。Graphchi分多次取节点子集interval(i),每次取1个,并且根据节点子集中的点信息构造子图进行计算。在第p次操作所需的子图数据载入后,每个节点并行地执行用户定义的更新函数,并更新节点,节点子集更新后的块文件将被写入磁盘。图2表示PSW模型进行一次迭代的滑动窗口示意,顶点被分为4个不相交的子集,每个自己都关联一个分区,计算过程是构建一次子图顶点的子集。从内存的分区中读取顶点的入边,从每个滑动的分区中读取出边,每个分区的最顶端为当前的滑动窗口。
1.2.3Graphchi基于PSW模型的改进为了支持Graphchi的可扩展性,Graphchi对PSW模型进行了改进,通过实现一个简化的、高效的I/O缓存树来支持图边的增加和删除,改进的PSW模型如图3所示。
2Graphchi应用前景
2.1分布式图计算局限性基于图的分布式框架通过云平台的计算资源处理上百万条边的图数据有很高的效率,但是利用分布式集群进行图计算仍然面临较高的硬件和技术要求,对于那些没有分布式专业背景、没有足够的硬件资源的人来说,仍然是个巨大的挑战。首先,使用分布式框架时,使用者面临如何将强耦合性的图数据进行分割,部署到集群计算节点上的问题[3]。其次,图的分布式计算涉及复杂的处理过程,需要大量的迭代和数据通信,大多数分布式系统用到的是BSP模型,是一种同步计算模型,对于消息的处理容量有限,网络的延迟以及节点间的通信会造成“木桶效应”。再次,分布式框架处理需要计算耗时的大规模图数据时,重复计算以及系统故障使效率大大降低,同时系统的容错性也是制约运算效率和稳定性的关键瓶颈。最后,对于编程者来说,调试和优化分布式算法有很大的难度。相对于复杂的分布式集群框架来说,简单的单机进行大规模的图计算,能够规避分布式框架的问题。使用者不需考虑强耦合性的图数据如何分割放置到分布式的集群节点中,也不需管理和部署众多的集群节点,并且可以减少分布式集群节点中的通信开销,规避网络延迟、“木桶效应”等问题。例如,企业如果想要在同一张图上计算多种任务(个性化推荐、图的社团发现等),在不同的国家、不同的利益集团都要计算同一个任务的情况下,企业要想提高运算速度,就必须要增加集群节点,也就是说要增加成本。但是,如果一台机器上可以处理一个这样的大任务,企业可以为每台机器分配一个任务,每台机器之间无需互相通信,当增加机器数量时,吞吐量也随之增加,这样多种任务的处理将会变得非常简单、有效。仅仅需要一台机器就可以对大规模的图数据进行分析处理和挖掘,这可以大大简化分布式集群处理框架的复杂性,如图5所示。本文对单机处理图数据技术Graphchi的发展、应用场景以及性能进行了研究,并进行了试验。
2.2单机Graphchi应用前景在图挖掘方面,Graphchi实现了PageRank、连通分支、社区发现等算法处理和分析现实世界中大规模的图数据;另外,应用在协同过滤算法的推荐系统中,Graphchi从纷繁复杂的信息中找出可向用户推荐的有价值的信息。不仅在图挖掘和协同过滤方面,Graphchi还提供了通用的编程框架,支持使用者调用自己的算法对图进行分析和计算,这使得Graphchi使用起来更加灵活,也有更加个性化的可用性。当前Graphchi中一些应用的算法设计还不尽完善,但是随着技术的发展以及应用的普及,Graphchi因其在图计算方面独特的模型,其单机运行的简便、高可用和可观的运行效率,将在大规模图计算方面表现出越来越广阔的应用前景。为了验证Graphchi在不同硬件环境下,不同数量级别社交网络图数据应用中的可行性和可用性,下文对不同数量级的数据在两种不同的环境进行了相应的测试,并且和其他分布式框架进行了对比。
3Graphchi的可行性、可用性评估实验
3.1测试环境•Intel(R)Core(TM)2DuoCPUT6600@2.20GHz、RAM2GB、Ubuntu11.04。•Dell服务器QEMUVirtualCPUVersion(cpu64-rhel6)6核CPU、4GB内存(未特殊注明,本文中数据测试环境均为服务器环境)、CentOS6.4。
3.2数据集说明本文采用的数据集来自斯坦福的Snap网站[4]以及Netflix网站。测试的数据集为Wiki、Twitter、Facebook、Friendster等流行的社交网站,数据集大小为40MB~30GB。表1是对实验中使用到的测试数据集的说明,其中|V|表示测试数据集的顶点数目,|E|表示测试数据集边的数目。
3.3Graphchi测试结果图6表示的是PageRank和CommunityDetection两种算法对除Netflix数据集外所有数据集进行的测试,X轴表示边集的数量,Y轴表示对应的运行时间。从图中可以看出,对于两种不同算法,随着数据集的增大,运行时间大体呈线性增长。图7表示PageRank和CommunityDetection两种算法以及CommunityDetection分别在4次和10次迭代过程中,吞吐量随边数的变化。X轴为边集的数量,Y轴表示吞吐量(系统每秒处理边的数量)。Graphchi每秒可以处理的边的数量为0.2×106~2×106个。Graphchi测试Twitter2010年所有的user-follower关系,14亿条边、4千万个顶点共20GB的数据,PageRank算法需要46min,CommunityDetection算法10次迭代需要70min,Trianglecounting算法需要130min;测试在线游戏Friendster,18亿个顶点、6千万条边共30GB的数据集com-friendster.ungraph,PageRank算法4次迭代需要54min。可见,Graphchi可以在1h左右完成对社交网络一年数据的分析。这种处理能力完全可以满足使用者对大规模图数据进行计算的需求,并且具有较好的吞吐量。图8表示的是Graphchi测试两种数据集smallNetflix和Netflix协同过滤的7种算法进行6次迭代的运行时间。X轴表示7种协同过滤算法:SGD、ALS、RBM、SVD++、biasSGD、CCD++和PMF,Y轴对应的是各种算法的运行时间。Graphchi在协同过滤中的运行时间最长为450s,Netflix数据集的时间不超过300s。图9表示的是SGD算法运行50次迭代的运行时间以及RSME(rootsquaremeanerror)均方差的变化曲线。迭代20次时,算法的RSME已经趋于稳定,无限接近于0.92,而此时的运行时间约为350s。可见,Graphchi在协同过滤方面表现出良好的性能,可以在几百秒的时间内处理2GB规模的数据。图10表示的是PageRank、CommunityDetection和ConnectedComponents3种算法,wiki-Talk和com-orkut两种测试集分别在2核CPU和6核CPU上运行时间的对比。X轴表示运行时间,Y轴表示3种算法以及两种数据集。从图10中可以看出,在相同数据集上6核CPU的运行时间要比2核CPU运行时间快了近10倍。图11表示的是协同过滤的3种算法,Netflix测试集分别在2核CPU和6核CPU上运行时间的对比。X轴表示运行时间,Y轴表示协同过滤4种不同算法。Netflix数据集在6核CPU上的运行时间比在2核CPU上的运行时间快了5~10倍。图11表示协同过滤4种算法在不同核数CPU运行时间的对比。随着CPU数目的增加,运行速度也有明显的提升。相信在配置更高的单机上运行Graphchi将会有更加可观的性能。
3.4可行性、可用性分析对比本文对比了一些分布式的图处理框架,参考了一些其他文章的测试结果,见表2。在有50个节点、100个CPU的Spark框架下,在Twitter-2010数据集上运行5次迭代的PageRank算法的时间比Graphchi在4核CPU的环境中运行相同数据集快了大约5倍。在有1636个节点的Hadoop框架运行Twitter-2010数据集的PageRank算法迭代一次,Graphchi比Hadoop快45倍,比Powergraph慢了155倍。与运行在AMD服务器上的Graphlab相比,用ALS算法测试Netflix数据集,Graphchi运行时间是Graphlab的2.5倍。Trianglecounting算法测试Twitter-2010数据集在1636个节点的Hadoop环境,Graphchi比Hadoop快了3倍。相对于Hadoop来说,Graphchi的大规模图数据方面的性能远优于Hadoop;在协同过滤方面,Graphchi和Graphlab性能相差不大;与性能较好的Spark相比,Graphchi的性能表现也在可以接受的范围内;对于性能强大的Powergraph,Graphchi性能还是有一些差距。总体来说,Graphchi以单机运行方式进行图运算所表现出的性能可以和一些分布式的框架相媲美,虽然不及性能强大的Powergraph,但是这样的性能表现已经可以满足一定规模的图运算了。这样的性能表现已足以为成本不足、硬件设备配置不高的中小企业或者个人提供高可行、高可用的社交关系网络图数据分析和挖掘平台。
4Graphchi电信图数据挖掘应用
为验证Graphchi对电信大规模图数据的处理能力,本文构造了电信通话清单数据约20GB,有4000万个顶点、14亿条边(已对数据进行匿名处理),格式见表3。
4.1PageRank算法挖掘核心人物PageRank算法是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站好坏的唯一标准。它基于马尔科夫状态转移理论,通过网页的链入数对网页进行投票来得出重要性排名。发展到目前,PageRank算法也被广泛用于关键人物挖掘等社交关系网络分析中。本文应用Graphchi的Pagerank算法,对电信关系网络数据进行Rank值的计算,从而找出关键人物。表4是采用Graphchi的Pagerank算法对电信数据集进行计算Rank值的排名前10的结果,在4000万个用户中,标号为1653的用户的重要性最高,为核心用户,应该对其重点挖掘和营销推广。
4.2CommunityDetection算法进行社区发现CommunityDetection社区发现算法用于发现网络中的社区结构,也可以看作是一种聚类算法。同一社区之间的节点与节点之间的关系比较紧密,而社区与社区之间的关系比较稀疏。如果两者之间的联系越频繁,那么其社交关系就越紧密。如图12所示,可以找到3个关系紧密的社区。表5为采用Graphchi的CommunityDetection算法对电信数据集进行社团发现的结果,共发现社区1733613个,最大社区有35558616个用户。运营商可以对每一个社团分析其相似特征,进行潜在客户挖掘以及后续的客户关系维护。
5结束语