精华内容
下载资源
问答
  • 数据治理分析项目最佳实践

    千次阅读 多人点赞 2019-02-13 11:00:11
    当今信息化建设程度不断深入,企业在优化整合各种IT能力,使IT成为企业的前进驱动力核心竞争力的同时,将视角关注于更深层次的数据治理与分析,预示着以数据、流量、知识为主的数字经济时代到来,此背景下,数字化...

    当今信息化建设程度不断深入,企业在优化整合各种IT能力,使IT成为企业的前进驱动力与核心竞争力的同时,将视角关注于更深层次的数据治理与分析,预示着以数据、流量、知识为主的数字经济时代到来,此背景下,数字化转型正在各行业快速萌生并发展。

    随着各行业逐渐走向多元化、服务化、个性化发展,行业竞争趋势愈演愈烈,这时收集、利用数据资产,以支撑战略决策、风险规避、业务创新的需求急剧上升,而数据价值对于企业的作用不言而喻,因此许多数据治理、数据治理分析、大数据平台构建项目正如火如荼的进行,数通畅联在过去的一年里承接的项目大多都为数据治理分析项目,在建设过程中对于数据治理分析项目沉淀许多实施方法论和最佳实践,在此分享。

    常见问题

    在数据治理分析项目调研阶段及项目实施过程中会发现,很多企业在数据治理分析项目中无论是信息化基础设施环境,还是对项目本身的意识和认知,或多或少都存在多样的问题,具体问题如下:

    1 缺乏数据思维

    数据思维与信息化意识略有不同,具备信息化意识的管理者未必具备数据思维,数据思维是一种量化的思维模式,即理性的运用数据去分析处理事物。很多管理者已经习惯依靠自身经验的惯性思维或根据某件事情的规律去判断、解读事物的本质,没有做到用数字说话。一种为没有意识到数据思维的重要性,另一种为有意忽略数据思维,因为即使个人判断有误权威上也不会受到损害,而这些现象都会造成数据重要性被弱化,数据架构出现断层,无法更好建设数据分析平台。

    2 概念理解偏差

    大数据的宣传和噱头导致很多企业对数据分析工具或成果过于神化、期待,认为只要进行了数据分析平台的构建,就可以解决企业内部存在的一切数据问题,例如:提高内部数据质量、有效利用数据价值;节省员工对业务处理时间、提高工作效率;帮助解决数据集成共享问题,屏蔽数据信息孤岛等。事实上,上述问题仅依靠大数据分析工具是无法做到的,一味偏信过度的宣传,盲目建设只会增加信息化成本,而不能带来真切收益。

    3 数据资产混乱

    数据治理分析对于有些企业来说,仅是停留在概念层面,建设原因多为追赶当前信息化形势、信息部为凸显功绩等,他们并不知道当前内部到底有多少数据、哪些数据是核心数据、哪些是重复数据、哪些数据是需要做为数据分析源头、数据都是以什么形式存在。造成认为只要是数据,皆为重要资源,在系统没有建设到位或没有数据治理的情况下就展开项目,甚至不惜花费大量时间精力去收集内外部一切数据,认为收集数量越大,分析效果越好,殊不知在这个过程中为企业数据中心添加大量的垃圾数据,事实上对于企业内部系统中的现有数据价值密度更高,如果企业内部数据都没有梳理、治理好情况下,盲目追求大数据只是缘木求鱼。

    4 数据质量不高

    数据治理分析项目的重要前提是有数据且有正确的数据可以提供分析,但很多企业并没有注意到或者真正重视起来,反而将数据可视化部分作为建设重点,注重构建炫酷的分析界面,看起来美观且高大上,实际上只起到了花瓶的作用。事实上,数据可视化只是数据治理分析的一部分,更重要的是对数据质量的把控、数据的挖掘、预测、数据分析算法的合理应用、多维查询、即席分析等。数据质量不高表现为数据以多种格式,杂乱无序的存在于企业内外部的各个业务应用系统中,无统一数据源,数据分析可用的准确数据无法识别,展示信息不准,很难有效支持领导决策。

    5 分析偏离业务

    数据分析成果如何让领导真实看到企业数据资产情况、有效辅助企业战略决策,避免分析结果出现偏离业务现象,也是项目中需要注意产生的问题之一。各个业务部门配合差、业务梳理进展慢、领导不够重视、没有提出针对性需求、企业信息化团队业务理解掌控能力弱都会导致分析成果业务偏离。除此之外,存在一些实施厂商对客户行业不了解,套用通用业务分析模型,不能满足企业自己的实际业务情况,造成数据分析模式、分析结果不能真实体现业务价值。

    6 资源保障薄弱

    基础资源薄弱包括做项目必备的资源保障,即企业具备充足的资金、信息化团队及涉及业务员工的配合等,数据治理分析项目建设是一项周期长、投资大的工程,需要长时间资金投入去运维,在实施过程中经常会出现企业内部不够重视项目的建设,对项目期望值不高,不肯投入足够的资金或选择较为便宜的平台产品进行构建,最终做成烂尾。同样的,数据治理分析与应用集成、门户集成等项目不同,需要企业信息部及各部门人员的配合才能做好,很多企业信息部推动不利,员工不愿配合业务的梳理等情况都会导致项目进展缓慢。

    对应方案

    面对上述问题,数通畅联会根据企业信息化现状及真实业务需求,将数据治理套件进行拆分重组,构建成适合企业当下业务场景的解决方案,通常来说不同阶段的方案是由简单逐渐向高阶进行的,方案之间是一脉相承的。

    第一步解决企业内部应用、信息、数据的整合问题,同时构建数据门户,以实现企业内部运营数据的简单统计分析;第二步实施基础数据治理,保证企业内部质量,为后续数据分析奠定基础;第三步利用企业的BI决策分析与ETL工具进行数仓构建;第四步加深数据治理,结合数仓建设数据分析平台,实现企业内外部数据决策分析;最后构建数据中台,全面实现大数据分析,走向数字化、云计算、智能企业阶段,具体建设步骤如下:

    1 数据门户构建

    数据门户是企业各系统数据的统一展现平台,通过多样的图表、表格等Portlet组件高效地展现,以数据不落地的形式帮助企业实现内部应用数据分析,主要针对处在应用集成、门户集成阶段的企业,具体表现为企业具备一定数量的信息化系统,但尚未达到需要大规模数据分析的程度。

    企业数据门户解决方案涉及两款产品:AEAI ESB应用集成平台、AEAIPortal门户集成平台,AEAI ESB应用集成平台实现异构应用系统的对接,数据门户搭建的工作主要由AEAI Portal门户集成平台承担,通过配置相关的数据源进行数据获取,以图表报表的形式展现结合后的基础数据与业务数据,AEAI ESB应用集成平台负责显示数据的提供,AEAI Portal门户集成平台提供显示界面,并且支持灵活的布局以及多种图表方式展现。

    2 基础数据治理

    基础数据治理是规范企业数据的必要步骤,也是实现大数据分析的重要支撑,对于此方案实施的时间,数通畅联建议越早越好,可以在企业信息化建设第一阶段并行,不仅有效保证企业内部数据的一致性、完整性、准确性,还可以为后续深入应用集成、全面数据分析奠定基础。

    基础数据治理解决方案涉及两款产品:AEAI ESB应用集成平台、AEAI MDM基础数据平台,通过AEAI MDM基础数据平台,在整个企业内部制定并执行统一的、符合业务要求的、科学合理的数据标准,通过数据标准的执行使得企业内部的各个业务环境使用的主数据完整统一,有效简化数据清洗工作,提高数据治理,加快业务系统集成、数据治理分析、业务流程再造速度。AEAI ESB应用集成平台主要用来完成业务数据同步分发部分的功能,内置组件可以实现批量数据传输、同步、分发及控制、多协议调用、多方式触发等,辅助基础数据治理。

    3 数据仓库构建

    比起全面的数据决策分析,很多企业会根据内部原有的BI决策分析、ETL数据抽取工具等产品,先着手构建传统的数据仓库,为数据决策分析提供良好的环境,数据仓库可以有效的将数据集成到统一的环境中,提供决策数据的访问,让用户可以更快的查询所需的重要信息。通常构建数仓可以结合AEAI DAP数据分析平台展开。

    AEAI DAP数据分析平台为能够高效存储、计算、分析并处理海量数据的数据分析产品,在本方案中ETL作为数据采集、交换、传输工具,将转换处理后的数据加载到目标数据源,如ODS中,AEAI DAP数据分析平台基于ODS创建数据仓库,支持关系型数据库和大数据存储两种形式存储,通过元数据管理对数仓数据进行分类管理。结合企业内部BI数据分析系统,将系统内容集成在DAP下进行综合展现。

    4 数据治理分析

    数据治理分析属于大数据平台搭建的前期,通常在企业信息化建设的后期阶段,本阶段实施内容主要包括加强数据治理、数据集成,扩大数据治理范围,基于数仓,构建企业数据分析平台,实现数据在企业范围内的流转,并将数据分析结果以多种方式展现。数据治理分析涉及五款产品:AEAI DAP数据分析平台、AEAI DBP数据总线平台、AEAI MDM基础数据平台、AEAI ESB应用集成平台、AEAI DRP数据上报平台。

    基于AEAI MDM基础数据平台进行深入数据治理,利用AEAI DAP数据分析平台全面建立企业决策分析平台,结合数据仓库,改善人工数据与信息统计方式,利用数据库技术和信息处理能力,面向管理者提供实时、智能化、多维度的运营数据查询和统计分析,AEAI ESB应用集成平台一方面用于解决应用/数据集成问题,另一方面辅助MDM实现数据同步分发操作。

    AEAI DBP数据总线平台作为数据抽取交换工具,通过数据采集实现各系统数据的统一转换、抽取、传输,并将转换处理后的数据加载到目标数据源,如数仓、数据集市等,支撑数据分析。AEAI DRP数据上报平台用于解决企业系统之外的线下工作产生的数据上报问题,提供数据的上报及下发。

    5 数据中台构建

    数据中台模式为企业信息化建设的后期,推动着传统企业完成数字化转型,是企业信息化建设真正走向数字化、云计算、人工智能的阶段,数据中台主要帮助企业进行数据管理,打造数字化运营能力,不仅包括对业务数据的治理,还包括对海量数据的采集、存储、计算、配置、展现等一系列手段。数据中台的构建涉及七款产品:AEAI DAP数据分析平台、AEAI DBP数据总线平台、AEAI MDM基础数据平台、AEAI ESB应用集成平台、AEAI DRP数据上报平台、AEAIPortal门户集成平台、AEAI MAP移动应用平台。

    AEAI DAP数据分析平台用于搭建大数据平台,从多样性的大数据计算问题和需求中提炼并建立的各种高层抽象或模型,通过数据分析算法,进行数据统计分析、实时流处理,机器学习和图计算等,根据不同行业的业务场景更具有多样化、丰富化,同时包括自定义指标、表单查询等功能,可以满足用户不同的展示和分析需求。

    AEAI DBP数据总线平台从系统、社交、网络等渠道采集结构化或半结构、非结构化数据,按照所需的业态选择不同技术手段接入数据,之后将数据存入到相应的数据库中进行处理,通过MDM主数据治理清理脏数据,保证所需数据的准确性、完整性,之后将数据抽取或分发至计算平台中,通过不同的分析手段根据业务板块、主题进行多维度分析、加工处理,之后得到有价值的数据用于展现,辅助决策分析。AEAI DRP数据上报平台仍做为线下数据上报的工具,支撑线下业务部分的数据分析。

    企业大数据平台可以以企业战情室、战略决策室的形式集成在AEAI Portal门户集成平台构建的企业应用中心下,便于实现一体化办公与决策分析,对于移动办公需求,大数据平台支持多端展现,也可集成在AEAI MAP移动应用平台使用。

    实施过程

    数据治理分析类项目与普通集成类项目不同,其解决方案不是通用的,而是需要高度贴近行业业务的,通常都要基于行业经验结合企业实际情况来定制实现,所以做好此类项目依靠的不仅是性能高、功能全的产品和多业务场景的解决方案,还要有具备扎实行业知识的信息化团队和相关项目的实施方法论。

    1 需求调研

    需求调研主要通过信息采集、现场调研等形式,充分了解和获取客户相关方面的现状和用户对系统的具体需求及期望,本项目主要明确在实际业务环节中,业务部门共享的数据有哪些,明确数据指标,不同主数据的数据源头、数据源头部门、数据主责部门、数据使用部门、使用频度、数据范围、数据流程等。

    >>>>目标明确

    在需求调研过程中,实施方要目标明确,准确掌握项目中需要的数据、明确需要调研的部门人员、拟定调研计划及整理调研问题,有效开展调研工作,时刻明确调研工作并不只是将客户需求记录下来,更重要的是挖掘客户没有说清楚的需求、甚至客户发现的真实需求,为企业解决实际问题。同时实施方需要引导客户进行目标明确,明确其对项目所达成果的认知,清楚建设成果为其带来的好处,从而使客户可以在项目中积极配合业务梳理,提高对项目的重视程度,正视项目的开展。

    >>>>业务调研

    需求调研需要对不同层级的人员进行展开,例如企业管理者、部门主管、业务人员等,通常以沟通访谈的形式开展,至于开放式还是封闭式,可根据访谈者角色、配合程度决定,整体围绕访谈、梳理、引导三个阶段。首先从访谈中把握客户对项目的需求及建设方向,之后对企业组织架构、业务流程、信息化环境等进行引导、深入调研,在客户不了解需求或想要的效果时,需要基于以往的项目经验进行引导。

    >>>>需求确认

    调研结束后,将整理的需求与客户进行确认是必不可少的,切忌口头确认,一定要整理成文档形式,有凭有据,如《数据治理分析需求规格说明书》、《主数据标准》、《数据清洗方案》等,内部评审后需要与客户反复确认,这时需要用封闭式确认法,待客户认可并理解后签订需求确认书,也叫蓝图确认单,届时正式确定项目实施范围。

    >>>>功能设计

    很多人会认为蓝图确认后再展开功能设计工作,事实上功能设计部分的工作在调研的中后期,即达到需求准确率65%甚至更高占比的情况下就已经开展了,功能设计可以有效推动需求确认工作,通过规格说明书的撰写能反推、倒逼业务需求梳理是否正确、完备,例如通过对数据同步流程和业务对接方式的设计,可以验证调研过程中业务逻辑是否出错,存在问题。

    2 项目实施

    项目实施过程中,在进行数据来源采集、数据转换、清洗、汇总、数据分析模型建立、配置、分析展现等一系列技术类工作的同时,数通畅联会根据特有实施方法论进行实施过程全面监督、保障,通过一整套完备的管控方法及产品功能实现客户的需求,这里主要讲述对于项目的管控。

    >>>>制度保障

    数通畅联内部实行日报及周报管理制度,对项目人员人天/周工作内容及计划实时审查追溯,可及时发现项目中已知或未知的问题,并加以解决防控。对外实行项目双周滚动制,每周定时为客户发送当周项目工作总结及下周工作计划、后续工作安排,便于客户精准掌握项目进度,及时发现项目问题,有效控制项目进度,防止项目偏离拖期。

    >>>>客户参与

    项目中时刻保持与客户的良好沟通,为加强客户对项目的认知程度与参与程度,在项目进行中同步开展技能培训,包括技术人员培训、使用人员和管理层使用培训,技术人员培训主要包括MDM产品培训,数据集成规范培训,管理和维护培训,平台和工具培训包括初级数据流程集成培训和高级集成开发培训。通过原厂培训知识转移,用户IT部能掌握相关接口开发等技能,实现临时性的需求及后期维护系统服务等。

    >>>>分步上线

    分步上线是对下一阶段全面上线验收的保障,在项目交付上仍遵循敏捷机制,在项目开展2个月左右,部分功能即可上线供客户使用,所有功能正式上线前,都会经过几轮严密测试,包括内部自测、交叉联测、整体业务联测,过程中对发现的问题及时记录并快速修改,在保证系统稳定运行的情况下,同步对其它功能进行实施、扩展,对系统运行过程中或即将开发功能中的问题进行重点攻克,功能开发完毕之后,通过灰度升级方式部署在已上线的系统中,平滑过渡,整个过程不影响用户使用。

    3 上线验收

    上线验收做为项目全生命周期的结尾阶段,意味着项目整体工作已经完成,线下测试全部通过,该阶段也是较为重要的收款节点。通常在项目验收阶段会进行有效知识传递、项目经理推进验收、运维人员驻场交接等工作。

    >>>>快速验收

    基于局部上线、全面测试等良好基础,可以实现项目的快速验收,验收阶段主要工作是对项目整体实施工作的回顾和总结,对实施工作的认可,也是对双方高层领导的一个工作汇报,验收合格后,即进入系统维护期。在验收时会针对项目情况进行汇总及文档整理;双方共同召开项目验收会议,对项目实施过程、业务内容、工作程序和结果进行汇报及演示;将项目中所有文档交接于客户,并专派技术人员现场驻守,保证稳定运行后撤离,后期进行远程维护。

    >>>>知识传递

    考量一个项目是否成功,除上线的系统及为企业达到的效果之外,还有一个较为重要的指标就是看实施方在项目中知识传递的过程是否顺利、高效。数通畅联在知识传递上采用文档、沟通、培训等多种方式保障。实施过程中加强客户的参与程度,保持良好的沟通和关键功能点的指导,同时为客户输出系统操作手册、培训资料,帮助客户更好的理解掌握平台的操作。培训讲师由项目经理及主力技术人员担任,根据不同使用对象安排不同授课内容,使培训更具有针对性。

    >>>>运维保障

    实现技术驻守期与运维保障期的平滑过渡,系统上线后项目经理会根据实际情况在现场值守一周左右,这段时间工作主要为对项目成果进行迭代完善,确保系统正常平稳运行。同期项目运维人员进场进行工作交接,同样在项目值守一周左右,对客户信息化环境、关键联系人、系统测试问题等进行全面了解掌握,便于后续对项目进行运维支持。

    最佳实践

    大数据既然会火,一定有它的作用,笔者也相信未来大数据平台的建设会对企业决策分析起到灯塔作用,做到剖析过去、管控现在、预测未来,帮助企业发现以往业务中存在的问题,快速整改;管理监控当下运营过程,合理规避偏差;预测分析未来发展趋势,指明方向,辅助制定计划目标,很多企业也开始着手构建。

    关于大数据平台、数据治理分析相关项目是典型行业类项目,实施方必须具备深厚行业知识及交付经验,无论是项目经理还是技术经理、实施人员都需要对客户所处行业的特征、经营模式、运营管理、业务流程十分熟悉,可以根据企业需求快速切入,理解其个性化业务部分,从而有针对性的进行全面分析、业务梳理、整体规划。

    对于客户方不具备一定的前置条件和认知也是无法有效展开项目的,以下是数通畅联在承接行业类数据治理分析项目中,所沉淀的最佳实践,供参考。

    1 整体意识到位

    数据思维是一定要有的,重视事实,理性的正确的运用数据去分析处理事务,讲究逻辑关系,用数字说话,而不是仅仅靠个人经验拍脑门判断。除此之外,要求管理者具备较强的信息化意识、超前的规划能力、对待变革的创新力、推进执行的决断能力,对构建情况持续监督和推进,摆正对数据治理分析的预期,理性、长远、全局的看待数据治理分析所带来的成果。注重培养各部门负责人及基层员工的信息化意识,提高整体信息化能力,协作推进信息化建设。

    2 数据治理先行

    若想做好数据分析,对数据的治理很重要,通常包括企业内部信息化系统中产生的数据和外部的行业、产业、社交、政策等数据,利用数据分析前,首先要明确企业有哪些数据资产可以利用、数据都来源于哪些,应该怎么利用,之后有针对性的,进行数据的统一标准、规范、清洗、转换等操作,从数据源头保障数据质量,使分析所用数据是一致性、完整性、准确性的。

    3 强调顺势而为

    顺势而为已经成为笔者文章中老生常谈的一个关键点,本文仍要重点强调这点,大数据热潮的确炒的很火,但盲目追新并不可取,构建不得力,荒废或调整的成本远超于建设成本,在企业信息化能力或业务需求没有达到标准的基础上,按部就班保守建设不会错。因为真正做到大数据分析阶段的企业,信息化基础设施都是较为完备的,一方面具备全面的信息化系统,另一方面实现数据治理、门户集成、数据集成、应用集成、流程集成等操作,消除企业系统内外部、尤其内部的信息系统孤岛,只有这样才能有效支撑起数据分析的最终效果。

    4 合理选择方案

    若想基于数据分析结果为企业带来价值,就要注重差异化,贴近自身业务,从业务角度去考虑规划,如:业务梳理、逻辑关系、分析配置、效果展现等,根据不同的业务场景去选择合适的解决方案。对于一般大中型企业来说,关注点基本会围绕成本、收入、利润、风险这四点问题,而这些问题的数据通常存在于企业系统内部,不会涉及过多外部系统,可以先从这个问题入手,从数据治理、数据门户、数据分析平台、全面大数据平台一步一步构建。

    5 综合考量选型

    对于此类项目要从产品、供应商、实施团队多方面进行产品选型,选择具备扩展开发能力、业务集成能力、敏捷应用能力的产品,不要被炫酷的界面、分析的效果所干扰,真正去考量产品中对分析模型的构建是否敏捷、抽象能力如何、数据挖掘程度、算法是否合理等。拥有自主知识产权,能够提供底层源代码级的服务,解决系统级问题能力、快速响应问题的源厂商;具备丰富的行业知识及数据治理分析项目实施经验,提供成体系的实施方法论,并在过程中传递最佳实践,拥有良好的项目风险预测和风险管控能力的实施团队。

    6 强化培训学习

    为何要将培训学习单列出来阐述,因为在过往项目中会出现由于客户对产品理解或使用不到位而出现认为系统平台有问题的情况,所以对于行业类面向最终用户群体占比大的项目,数通畅联在实施过程中会针对企业各层级员工进行平台学习及应用,包括管理者对平台的使用、理解和建议,便于后续平台更好的升级,更贴近业务;信息化团队对平台应用、配置的掌握,便于后续独立进行平台维护、扩展或改造,实现自主可控。

    在大数据、移动互联、人工智能的技术背景下,数字化、智能化建设会越来越成为大势,未来企业如何快速响应业务需求、支撑业务创新,结果必然会在数字化、智能化方面展开竞争。数据治理分析之路如文中方案一样,是存在多样性的,企业可以根据自身情况和业务需求去构建,但只重结果不管过程的构建是无用功,发现问题不去调整的治理是瞎忙活,一旦要做,就要真正实现数据治理分析与经营管理过程的联动,通过数据发现问题、调整问题、预测问题,分阶段进行,逐步加码构建、持续提升。事实上,企业整体IT架构、数据治理分析建设之路只有进行时,没有完成时,未来也一定会源源不断有新的技术或理念出现,当下能做的就是根据形势、稳扎稳打、逐步构建,让信息化建设程螺旋式上升,持续支撑业务良好运转、推进业务不断升级与创新。

    展开全文
  • 数据清洗实例分析

    万次阅读 2017-02-05 10:54:18
    一.数据清洗工作 数据清洗:如填充缺失数据、消除噪声数据等,主要是通过分析“脏数据”的产生原因和存在形式,利用现有...DataEye数据清洗方案及实践案例 (一)噪声数据(异常值)清洗 1.利用数据分布特征及箱

    一.数据清洗工作

    数据清洗:如填充缺失数据、消除噪声数据等,主要是通过分析“脏数据”的产生原因和存在形式,利用现有的数据挖掘手段和方法去清洗“脏数据”,将“脏数据”转化为满足数据质量要求或应用要求的数据,从而提高数据集的质量,满足现阶段数据分析的需求。

    DataEye数据清洗流程如下图:
    这里写图片描述

    DataEye数据清洗方案及实践案例

    这里写图片描述

    (一)噪声数据(异常值)清洗

    1.利用数据分布特征及箱型图方法来识别单维数据集中噪声数据(异常值)

    假设一组数据如下:

    序号 1 2 3 4 … n

    数据 E1E2E3E4En

    一般情况下,对于离散程度并非非常大的数据源来说,数据自身分布将会集中在某一区域之内,所以利用数据自身分布特征来识别噪声数据,再根据箱型图的方法在数据集中域中识别离群值及异常值。

    首先,将数据集切等分成αn个区间(α可取1,10,100,1000),区间大小为

    θ=(Max{E1,E2,,En}Min{E1,E2,,En})/αn 

    截取数据分布集中的区间作为数据集中域,找到数据集中域形成新数据组E ̅。
    这里写图片描述

    [Q13IQR,Q3+3IQR][Q11.5IQR,Q3+1.5IQR]Q1Q3IQRIQR=Q3Q1

    这里写图片描述

    案例一:DataEye平均下载时长计算

    在实际情况下,现有的数据平台系统会遇到各种各样的关于指标均值计算的问题,遵循数理统计的规律,此时极大噪声数据对均值计算的负面影响是显著的。DataEye原始数据源存在一组游戏下载时长数据集如下图:

    这里写图片描述

    如果直接计算其游戏平均下载时长,得到的结果为23062.57秒,约6.4小时,与实际情况严重不符,说明这一数据集受到显著的噪声数据的影响。

    对数据集做异常值识别及剔除,将数据集等分为240300个区间,找到数据集中域[0,3266.376]

    这里写图片描述

    对取值在[0,3266.376]之间的数据做箱型图分析,对新数据组剔除离群值,得到非离群数据组[ Q_1-3IQR, Q_3+3IQR],再取非异常数据组[Q_1-1.5IQR, Q_3+1.5IQR]。
    这里写图片描述

    最后计算目标数据源的平均下载时长为192.93秒,约3.22分,符合游戏运营实际情况。通过数据分布特征及箱型图的方法来识别剔除噪声数据的方式较为快捷且效果显著,可以作为数据清洗的预清洗步骤。

    2.利用基于欧几里德距离的聚类方法来识别多维数据集中噪声数据(异常值)

    一般情况下,利用数据分布特征或业务理解来识别单维数据集中噪声数据是快捷有效,但对于聚合程度高,彼此相关的多维数据而言,通过数据分布特征或业务理解来识别异常的方法便显得无能为力。面对这种窘迫的情况,聚类方法提供了识别多维数据集中噪声数据的方法。

    在很多情况下,把整个记录空间聚类,能发现在字段级检查未被发现的孤立点。聚类就是将数据集分组为多个类或簇,在同一个簇中的数据对象(记录)之间具有较高的相似度,而不同簇中的对象的差别就比较大。散落在外,不能归并到任何一类中的数据称为“孤立点”或“奇异点”。对于孤立或是奇异的噪声数据(异常值)进行剔除处理。如下图:

    这里写图片描述

    (二)缺失值清洗

    理想情况下,数据集中的每条记录都应该是完整的。然而,存在不完整的、含噪声的数据是现有数据集的共同特点。缺失数据的出现可能有多种原因,人工输入时认为不重要而漏掉,或者被调查人不愿公布等。在数据集中,若某记录的属性值被标记为空白或“-”等,则认为该记录存在缺失值,是不完整的数据。DataEye主要使用基于k-NN近邻填充技术的算法来处理缺失数据。

    k-NN分类,训练样本用n维数值属性描述,每个样本代表n维空间的一个点,这样,所有的训练样本都存放在n维模式空间中。给定一个未知样本,k-NN分类法搜索模式空间,找出最接近未知样本的k个训练样本。这k个训练样本是未知样本的k个“近邻”。“临近性”用欧几里德距离定义,其中两个点X=(x_1,x_2,…,x_n)和Y=(y_1,y_2,…,y_n)的欧几里得距离是

    d(X,Y)=(XY)2

    设z是需要测试的未知样本,z=(x^’,y^’),所有的训练样本(x,y)∈D,未知样本的最临近样本集设为D_z,K-NN分类算法的描述如下:

    k是最临近样本的个数,D是训练样本集。对数据做无量纲处理(标准化处理),消除单位对缺失值清洗的影响。

    f(x^' )=(x^'-min⁡(x_1 x_2,x_3,…x_n)) / (max⁡(x_1 x_2,x_3,…x_n)-min⁡(x_1 x_2,x_3,…x_n))

    计算未知样本与每个训练样本(x,y)之间的距离d,得到离样本z最临近的k个训练样本集DZ 

    当确定了测试样本的k个“近邻”后,就根据这k个近邻相应的字段值的均值来替换该测试样本的缺失值。

    案例二:DataEye上报数据缺失值处理

    在DataEye实际工作中,在数据采集上,主要采用SDK接入游戏,通过SDK上报数据的方式,在复杂的数据生产环境中,由于SDK接入或数据上报接口调用等原因,缺失值往往是存在的。

    下面是一组DataEye接入游戏SDK上报的数据,很明显的可以发现,序号2及序号4在字段1上存在缺失值“-”,在数据集大的情况下,往往我们会对含缺失值的数据记录做丢弃处理,DataEye主要使用k-NN近邻算法来填充这一缺失值。

    这里写图片描述

    首先对这个数据集各个字段值做非量纲化,消除字段间单位不统一不一致的影响,得到标准化的数据矩阵。

    这里写图片描述

    对含缺失值“-”的序号2数据点做K近邻填充,取K值为5,计算序号2与其他不包含缺失值的数据点的距离矩阵,选出欧氏距离最近的5个数据点。

    这里写图片描述

    用这5个近邻的数据点对应的字段均值来填充序号2中的“-”值。得到完整序号2数据:

    这里写图片描述

    (三)重复值清洗

    字段相似度定义:根据两个字段内容计算出的表示两者相似度的度量。范围在0-1,越靠近1,相似度越大。

    布尔型字段相似度计算方法:对于布尔型字段,如果两字段相等,则相似度取0,如果不同,则相似度取1。

    数值型字段相似度计算方法:对于数值型字段,可采用计算数字的相对差异。利用公式:
    S(s_1,s_2 )=|s_1-s_2 |/(max⁡(s_1,s_2))

    字符型字段相似度计算方法:对于字符型字段,比较简单一种方法是,将进行匹配的两个字符串中可以互相匹配的字符个数除以两个字符串平均字符数。利用公式:

    S(s_1,s_2 )=|k|/((|s_1 |+|s_2 |)/2)

    其中k是匹配的字符数。例如字符串s1=“dataeye”,字符串s2=“dataeyegrg”利用字符型字段相似度计算公式得到其相似度

    S(s_1,s_2 )=7/((|7|+|10|)/2)

    设定阈值,当字段相似度大于阈值时,识别其为重复字段,并发出提醒,再根据实际业务理解,对重复数据做剔除或其他数据清洗操作。

    案例三:DataEye游戏收入破解识别(重复值识别)

    几乎所有单机游戏都面临着被破解的隐患,对于游戏厂商而言,对单机游戏是否被破解的监测能力是十分薄弱的,DataEye主要通过计算数据记录间的字段相似度,来识别重复值上报,进而根据业务理解判断单机游戏是否被破解,并进一步对重复值做清洗。
    

    下面是一组DataEye接入游戏SDK上报的数据,仔细观察会发现,在2014/9/1 0:16:40至2014/9/1 0:16:42这段时间内发生了7笔100000付费金额。

    这里写图片描述

    计算这7条数据记录的彼此的相似度:

    S(s_1,s_2 )=370/((|370|+|370|)/2)=1

    S(s_1,s_3 )=369/((|370|+|370|)/2)=0.9973

    S(s_1,s_4 )=369/((|370|+|370|)/2) 0.9973

    S(s_1,s_5 )=369/((|370|+|370|)/2) 0.9973

    S(s_1,s_6 )=369/((|370|+|370|)/2) 0.9973

    S(s_6,s_7 )=370/((|370|+|370|)/2)=1

    S(si,sj)17

    展开全文
  • 数据分析--数据清洗详解流程

    千次阅读 2020-03-31 11:51:54
    无论是做机器学习还是做数据分析,都离不开获取数据后的第一步-数据清洗工作。据统计,数据清洗工作占据整个工作时间百分之50左右,有的甚至能达到百分之70。下面我将介绍我进行数据清洗得思路流程。 数据清洗整体...

    无论是做机器学习还是做数据分析,都离不开获取数据后的第一步-数据清洗工作。据统计,数据清洗工作占据整个工作时间百分之50左右,有的甚至能达到百分之70。下面我将介绍我进行数据清洗得思路流程。

    数据清洗整体流程脑图(不断更新中…)

    在这里插入图片描述

    数据准备

    本次数据清洗工作我们使用得数据是一个借贷机构开放的用户数据(仅用于个人练习),由于源数据量有将近30万,考虑到运行速度,这里例子从这30万中随机抽取1万条数据。
    下载地址:LCIS.csv
    提取码:ag8t
    注:此数据仅仅作为方法演示使用,忽略真实数据分析时的业务逻辑考虑。

    导入相应的python工具包和数据
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    plt.rcParams['font.sans-serif']=['SimHei']#这两句作用为防止中文乱码
    plt.rcParams['axes.unicode_minus']=False
    data = pd.read_csv('data/LCIS.csv')
    data = data.sample(10000)#抽取样例10000个
    data.reset_index(inplace=True)#重置索引
    

    数据缺失值判定

    一、热力图显示数据的缺失
    sns.heatmap(data.isnull(),cmap="YlGnBu")
    plt.show()
    

    在这里插入图片描述

    深颜色的横线就代表缺失值。因为数据中我们使用了innull()方法,若判断为空,则值为1,否则值为0。从上图中,我们可以看到,最后几个属性的缺失值最多,其他的几乎没有。
    优点:能够清楚看到哪些地方有缺失,缺失程度。

    二、使用info()查看缺失值
    print(data.info())
    

    在这里插入图片描述
    在这里插入图片描述
    info()这个方法能够统计每个属性下非空值的数量,总个数以及数据量的大小。
    优点:操作方便,执行更快,能立刻发现哪个属性存在缺失值。

    三、使用apply()统计缺失率
    count_missing = data.apply(lambda x:'{}%'.format(round(100*sum(x.isnull())/len(x),2)))
    print(count_missing)
    

    在这里插入图片描述
    通过这样的方法,可以统计出每一个属性的缺失率。
    优点:百分比显示缺失率更加直观,对于缺失率高的属性,可以考虑删除。

    缺失值处理

    一、单行数据删除
    data.dropna(inplace=True)
    

    该方法将存在缺失值的数据全部删除,这里省略axis=0,因为axis默认为0.

    二、整列属性删除
    data.dropna(inplace=True,axis=1)
    

    该方法将存在缺失值的属性删除。

    三、均值、众数、0填充缺失值
    #单列填充
    data['下次计划还款利息'].fillna(value=data['下次计划还款利息'].mean(),inplace=True)
    #多列同时填充
    data1 = data[['下次计划还款本金','下次计划还款利息']].apply(lambda x:x.fillna(value=x.mean()))
    

    上述方法是均值填充,众数填充只需要将mean()换成mode()[0]
    0填充将x.mean()换成0即可。

    异常值检测

    一、均值标准差异常值检测

    此方法公式是:均值±2x标准差
    数值不在区间【均值-2x标准差的,均值+2x标准差的】判定为异常值。

    datamean = data['下次计划还款利息'].mean()#均值
    datastd = data['下次计划还款利息'].std()#标准差
    topdata = datamean+2*datastd#上限
    bottomdata = datamean-2*datastd#下限
    countdata = data['下次计划还款利息'].between(left=bottomdata,right=topdata)
    #统计异常值和非异常值数量
    print(countdata.value_counts())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    二、上下四中位和中位差异常值检测

    此方法公式:上(下)四中位±1.5x中位差
    正常值区间位:【下四中位-1.5x中位差,上四中位+1.5x中位差】

    mediandata = data['下次计划还款利息'].quantile(0.75)-data['下次计划还款利息'].quantile(0.25)
    topdata = data['下次计划还款利息'].quantile(0.75)+1.5*mediandata
    bottomdata = data['下次计划还款利息'].quantile(0.25)-1.5*mediandata
    countdata = data['下次计划还款利息'].between(left=bottomdata,right=topdata)
    #统计异常值和非异常值数量
    print(countdata.value_counts())
    

    在这里插入图片描述
    这两种方法取决于你的数据,大家可以在实践中尝试选择合适的方法进行异常值检测。

    异常值处理

    一、异常值删除

    异常值删除操作需要两步,第一步是判断,第二步删除

    mediandata = data['下次计划还款利息'].quantile(0.75)-data['下次计划还款利息'].quantile(0.25)
    topdata = data['下次计划还款利息'].quantile(0.75)+1.5*mediandata
    bottomdata = data['下次计划还款利息'].quantile(0.25)-1.5*mediandata
    countdata = data['下次计划还款利息'].between(left=bottomdata,right=topdata)
    #取出异常值索引
    index_list = data[countdata==False].index.tolist()
    data['下次计划还款利息'].drop(labels=index_list,inplace=True)
    

    当发现某一列异常值特别多的时候,我们会选择删除改属性。

    data.drop(columns=['下次计划还款利息'],axis=1,inplace=True)
    
    二、异常值重写

    检测完异常值之后,除了删除数据之外,我们做的最多的就是重写异常值。

    使用数据的最大值重写:

    mediandata = data['下次计划还款利息'].quantile(0.75)-data['下次计划还款利息'].quantile(0.25)
    topdata = data['下次计划还款利息'].quantile(0.75)+1.5*mediandata
    bottomdata = data['下次计划还款利息'].quantile(0.25)-1.5*mediandata
    countdata = data['下次计划还款利息'].between(left=bottomdata,right=topdata)
    index_list = data[countdata==False].index.tolist()
    data.loc[index_list ,'下次计划还款利息'] = data[countdata]['下次计划还款利息'].max()#最大值填充
    data.loc[index_list ,'下次计划还款利息'] = data[countdata]['下次计划还款利息'].min()#最小值填充
    data.loc[index_list ,'下次计划还款利息'] = -1#特殊值填充
    

    原文链接:https://blog.csdn.net/lzx159951/article/details/104793585

    展开全文
  • 又到了每周三的送书时刻啦!今天给大家带来的是《Python3爬虫实战——数据清洗数据分析与可视化》 (文末查看送书规则)内容简介作为一个自学爬虫的过来人,曾经走过很多弯路,在...

    又到了每周三的送书时刻啦!今天给大家带来的是Python3爬虫实战——数据清洗、数据分析与可视化

          (文末查看送书规则)

    内容简介

    作为一个自学爬虫的过来人,曾经走过很多弯路,在自学的道路上也迷茫过。每次面对一个全新的网站,都像是踏进一个未知的世界。你不知道前面有哪些反爬手段在等着你;你不知道你会踩进哪个坑里。我做爬虫的几年时间里,爬过很多的网站、遇到过很多的难题。这本书就是我这几年经验的总结,从开始的工具的学习使用,到实战项目的爬取,难度一步一步的升级,需求也越来越复杂,有各式各样的爬取方式。

    本书主要内容与数据爬取相关,包括编写爬虫所需要的基础编程知识,如Requests包、Scrapy框架和数据库的使用,到项目实战教程,适合Python基础入门的读者。如果你是其他行业的从业者,想进入IT行业成为一位爬虫工程师,又或者你已经是IT行业的从业者,本书在能够让你在对爬虫工程师的工作内容有所了解的同时,也能让你掌握作为一个爬虫工程师所需要具备的基础技能。

    作者简介

    姚良 2016-2019 深圳丝路天地电子商务有限公司 爬虫工程师。熟练使用Python语法,面向对象编程,JS破解、分布式爬虫、Scrapy框架、Requests库、Redis、Mongodb、高并发、异步编程。

    本书适合人群

    Python初学者,数据分析师,金融证券从业人员,编程爱好者,大数据从业人员,创业公司老板等。

    目录

    第一篇 基础知识

    第1章 Python环境搭建

    第2章 常用爬虫库Requests

    第3章 常用爬虫框架Scrapy

    第4章 数据存储——数据库的选择

    第5章 效率为王——分布式爬虫

    第6章 抓包的使用与分析=

    第7章 Websocket通信网站爬取

    第8章 验证码破解

    第9章 多线程与多进程并发爬取

    第10章 爬虫接口优化

    第11章 使用Docker部署爬虫

    第二篇 实战案例

    第12章 实战1:建立代理IP池

    第13章 实战2:磁力链接搜索器

    第14章 实战3:爬虫管家

    第15章 实战4:数据可视化

    第16章 实战5:爬取贴吧中的邮箱

    第17章 实战6:批量爬取企业信息

    第18章 实战7:爬取公众号历史文章

    第19章 实战8:高效爬取——异步爬虫

    第20章 实战9:爬取漫画网站

    第21章 实战10:给kindle推送爬取的小说

    第22章 实战11:爬取游民星空壁纸

    第23章 综合实战:建立一个小网站

    有粉丝想更多了解此书,请点击下面链接:

    送书规则

    公众号回复:送书 ,参与抽奖(共5本)

    本次送书5本

    或者扫一扫下方的二维码回复:送书  即可!


    展开全文
  • 对狗狗评分的Twitter数据清洗与分析数据
  • 数据清洗和特征挖掘的工作是在灰色框中框出的部分,即“数据清洗=>特征,标注数据生成=>模型学习=>模型应用”中的前两个步骤 灰色框中蓝色箭头对应的是离线处理部分。主要工作是: 从原始数据,如文本、图像...
  • 为什么需要清洗数据 错进,错出 数据科学过程 注意 非线性 会根据具体情况反复执行这些步骤(迭代过程) 并不是每一个项目都会包含这些步骤 清洗工作包含了分析方法所能决定的各种任务(交换文件的格式、...
  • 文章目录摘要关键词:数据分析;数据可视化;数据预处理;协调过滤1.问题描述1.1问题背景1.2所需关键技术2.数据分析任务 1 数据预处理任务1.1对照附录1,理解各字段的含义,进行缺失值、重复值等方面的必要处理。...
  • 一、数据情况分析 1.1 数据情况回顾  该论坛数据有两部分:  (1)历史数据约56GB,统计到2012-05-29。这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式。  (2)自2013-05-30起...
  • python数据分析-数据清洗流程(附脑图和代码实例)

    千次阅读 多人点赞 2020-03-11 16:11:28
    无论是做机器学习还是做数据分析,都离不开获取数据后的第一步-数据清洗工作。据统计,数据清洗工作占据整个工作时间百分之50左右,有的甚至能达到百分之70。下面我将介绍我进行数据清洗得思路流程。
  • IMDB电影数据分析实践

    千次阅读 2018-05-26 08:13:52
    Abstract: IMDB电影数据分析练习。1.项目简介数据集包含来自MovieLens 电影推荐服务的5星评分和文本标记数据和来自IMDB1950-2012年IMDB TOP10000排行榜数据MovieLens数据集包含27278部电影的20000263份评分和465564...
  • 前言 “压根儿就没有干净的数据集。” —— 乔希·沙利文 《纽约时报》将数据清洗称为“看门人工作”,并称数据科学家百分之八...(4)数据分析和机器学习。 数据需要哪些处理?需要什么样的转换?适用什么样的算法?
  • 文本数据分析里面情感分析的应用十分广泛,本质上来说就是一个分类任务,在我之前的文章里面对有对中文数据的情感分析相关的工作,对于英文数据的分析还没有实践过,这里就想基于英文数据集来做一点分析性的工作,...
  • 数据分析与数据管理系统实践 一、数据介绍 公司员工信息 ,Excel文件 提供 44 名员工 姓名、所在部门工作职务车的编号 公司员工的信用卡刷记录(两周) ,Excel 文件 约 1400 行信用卡刷记录,内容包括:员工...
  • 数据科学领域5个常用Python库 Numpy入门 数学基础回顾之矩阵运算 Array的创建及访问 数组矩阵运算 Python的input和output Pandas入门 主要用户数据分析处理 两种常用数据结构: Series时间序列 DataFrame数据框 ...
  • 相关的源码会发给大家实践,让你真正做到学以致用。 视频详解和实操代码可联系运营小姐姐(微信id:BT474849)免费领取。 一、机器学习算法流程 • 数据预处理 • 模型训练 • 参数选择 • 模型(内部)评估 • 模型...
  • 数据清洗

    千次阅读 2017-10-04 23:00:41
    数据清洗数据清洗的目的是消除数据中的错误、冗余和数据噪音,是数据预处理中的一部分。
  • 文章目录写在前面:自己已经创建公众号啦~AI算法交流+开源数据汇总+私房数据及标注数据共享+自己实践项目开源欢迎大家关注:DeepAI 视界爬虫:链接网二手房(以贵阳市为例)对应的数据可视化:同时赠送给大家另一个...
  • 数据分析项目总结

    千次阅读 2018-11-29 15:40:42
    1.立项 作为一个合作项目,我们希望双方都能从项目中有所收益,对各自的工作生活能有实际帮助,过程很纠结, 反转了几次: ...转而浏览了很多公开的数据源,想把重点放在数据分析上。 海量数据,既多且杂,感兴趣...
  • 文章目录一、数据介绍二、数据清洗三、可视化分析淘宝在售手机价格区间统计商品现价&原价对比手机类型分布词云图绘制手机品牌词云图不同品牌手机总销量比较月销量气泡图收藏量价格分析不同价格等级总销量饼图...
  • 我们目前进入了一个大数据的时代。以我目前经常处理的医疗保健数据为例。...本文尝试从数据 挖掘、分析的一般步骤入手,基于理论化的描述结合具体例子详细介绍挖掘分析建模之前数据处理的目的及方法论。
  • 在上一次对于实践一的修改的基础上,进行了第二次数据处理实践,这次的数据跟第一次的数据差不多,同样也是游戏数据,json文件,但是只是游戏不同,所以对应的数据打点也有不同,这次数据处理完并没有画图,而是导出...
  • 3、数据清洗: ① comment,price两个字段清洗成数字 ② 清除字段缺失的数据 ③ commentlist拆分成三个字段,并且清洗成数字 4、结果存为.pkl文件 ''' import pandas as pd import numpy as np import
  • EXCEL数据分析-案例实践

    千次阅读 2020-05-13 21:28:40
    EXCEL数据分析案例分享——KAGGLE牛油果价格欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个...
  • python 数据分析实践--(1)收入预测分析

    千次阅读 多人点赞 2020-03-30 23:13:39
    预览数据集,明确分析目的2. 导入数据集,预处理数据3. 探索数据背后的特征3.1 数值型变量统计描述3.2 离散型变量统计描述3 .3 了解数据的分布形状4. 数据建模4.1 对离散变量重编码4.2 拆分数据集4.3 搭建模型4.4 ...
  • 数据项目交付最佳实践

    千次阅读 多人点赞 2019-04-24 10:14:01
    任何规模的企业都会存在各种各样的数据问题,主数据管理早在十几年前...而近两年主数据管理项目数量逐渐增加,一方面是随着大数据分析的风潮,数据的利用被高度重视起来,主数据管理作为大数据分析建设的首要前提,...
  • 孔淼:大数据分析处理用户画像实践直播内容如下:今天咱们就来闲聊下我过去接触过的数据分析领域,因为我是连续创业者,所以我更多的注意力还是聚焦在解决问题和业务场景上。如果把我在数据分析的经验进行划分的话...
  • 达观数据分析平台架构和Hive实践

    千次阅读 2016-06-03 11:56:24
    2.达观数据分析平台架构是怎么样的? 3.达观怎么优化数据分析平台的? 1 Hive原理Hadoop是一个流行的开源框架,用来存储和处理商用硬件上的大规模数据集。对于HDFS上的海量日志而言,编写Mapreduce程序代码对于类似...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,483
精华内容 5,393
关键字:

数据清洗与数据分析实践项目