大数据建模与数据模型工具

一、什么是大数据

大数据一般指在数据量在10TB以上的数据集, 通常有以下5个特点:

1. 容量(Volume):数据量大,数据量的大小决定所考虑的数据的价值和潜在的信息;

2. 种类(Variety):数据类型多,包括但不仅限于文本,音频,视频以及图片;

3. 速度(Velocity):指数据产生和获取的速度快;

4. 低价值密度(Value):数据中的有价值数据量级较小;

5. 真实性(Veracity):数据质量因数据来源以及记录方式等影响因素的不同,会出现较大的差异,而这种差异性会极大程度地影响数据分析的精确性;

简单说来,大数据建模就是指利用相关的计算机技术从大数据中挖掘数据特征,并用量化理论数学化数据特征关系以描述业务需求和模式的一种方法体系

 

二、我们要如何学习并掌握这个方法体系呢?

1、首先是丰富的理论知识储备。

必须掌握和了解:计算机基础;数据分析软件;机器学习算法基础/进阶; 统计分析基本方法;计量模型体系以及数据库基础。

建模数据的抽取,清洗和加工以及建模算法的训练和优化会涉及大量的计算机语言和技术。比如:数据查询语言SQL;数据环境Hadoop和Spark;数据操作系统Linux; 数据分析软件R、Python、SAS、Matlab等。

特征工程涉及到统计/数学/信息论/计量等学科的基本概念。比如:变量的均值;分位数;峰度;谱;信息熵;cosi;衰退速率以及马氏距离等。 

建模阶段涉及多种量化模型,比如:统计模型;计量模型;机器学习模型;复杂网络等。比较常见的模型有:回归分析模型;随机森林;时间序列;神经网络;SVM等。

想要在实际的项目中自如的运用这些模型算法,不仅仅需要了解基本的数学原理,还需要深入掌握对应的计算机语言实现。至少要会在主流的分析软件中调用算法包,更高阶的要求是能自己实现算法的编写和精进。只有这样才能相对正确地设计并依据实际数据结构优化算法,得到各方面表现都相对优异的模型。


2、其次是积累实战技能。

实战是将理论和现实结合重要一环,对于那些无法在实际工作中积累大数据建模经验的同学来说,参加各平台的数据建模竞赛也许是个不错的选择。

已被谷歌收入旗下的美国著名大数据建模竞赛平台Kaggle、Analytics Vidhya平台上的Hackatons、国内天池大数据竞赛、DataCastle等都是比较不错的竞赛平台。

 

3、那些恐怕书本上较少能够直接获取,需要大量实践以及项目经验中获取知识

比如特征工程中缺失值处理、特征构建、变换等等,取决于模型方法、数据、业务目标等。除了基于之前提到过的量化指标构造的特征,最后对模型表现贡献最多的特征往往是那些构造逻辑和业务逻辑挂钩非常紧密的特征。

这里举两个例子来说明。

例1:异常的交易风险,通常表明客户存在违约或者欺诈的风险,那么如何去构造特征来描述异常交易风险呢?

可以是统计指标方差、变异度、数学指标马氏距离;

也可以是业务逻辑“过去3天的交易金额相较于历史水平涨幅大于100%”。

后者显然不专属于任何一门学科,它来自于对业务的理解和消化。

例2:在构建线性模型时通常会对变量间的非线性关系做线性数学变换(Log),而在实际的操作中,需不需要做变换以及如何变换是与具体的模型形式挂钩的。

神经网络,随机森林等模型,是不需要做线性变换的,反而会倾向于对特征做离散化处理。

模型训练调整参数,需要在心中有一杆bias variance的秤,揣着一把奥卡姆剃刀,方能建一手好模。

同样,模型算法的选择需要考虑的不仅仅是模型表现,还需要考虑成本。

因为建模是一方面,模型能够实施生产是另一方面。结构复杂和特征量大的模型往往意味着背后需要大量的计算资源,人力资源和时间资源支持。模型的现有表现和未来可能的衰减速度值不值得耗费大量人力物力去生产部署,部署后模型带来的效益是否能在长期内冲销成本也是建模人员需要去考虑的事情。

最最重要的是,需要意识到大数据建模只是解决问题的一种方法,与其他任何一种解决问题的途径手段在本质上并无不同。

建模前对业务目标的了解,对建模必要性的分析,对模型目标变量的刻画以及对建模样本的选取等问题反而比建模本身更值得引人关注。

以前端风控业务中的反欺诈识别为例,如何精确地定义欺诈行为是建模前需要解决的第一要事。如果对欺诈的定义有偏差,即使后续的算法表现优良,模型也无法最大程度地服务需求,基于不准确的定义识别出的“欺诈行为”不再符合对业务的定义,整个建模工作在某种程度上也失去了本来的意义。

就像是本来要找脸上有斑的人,由于错误的认为“斑”就是“痣”,最后找了脸上有痣的人,虽然脸上都有东西,但却再也不是对的人。

对于专业的modeler来说,真正花费在建模上时间恐怕不会超过他们日常工作的40%。

毕竟建模技术的实现容易,而让模型最大程度地的满足业务需求,发挥商业价值则需要花费非常多的心血。


三、大数据建模功能会涉及哪些工作?

第一步是业务理解和业务梳理,将业务问题抽象成数学问题。
对应的是需求和产品的职位,要求业务沟通能力,要求对所在行业的业务知识和运营有了解。

第二步,数据探索。
一般在和业务初步确实问题后要取数据,做数据探索,确定和证实前期的问题是不是真问题,还是假需求,如果是真问题,则确定下一步问题方向。这一步要求数据库,探索性数据分析,问题分析等技能。相应的是BI的职位,有些公司统称数据分析。

第三步,数学建模。
也就是核心的数据挖掘算法。在工业届,都有现在的工具,主要时间都花在特征挖掘和调参方面。

第四步,提出解决方案。
即从模型结果出发,对应的业务改进方法是什么,而不是准确率是多少,业务关心的是能不能提高收入,模型怎么样他们既不关心也看不懂。

在有些公司,对数据挖掘要求不深入,那么数据分析是什么都做,有些公司,特别是乙方咨询公司,要求什么都要攻,对甲方是一条龙服务。在大部分公司,四个方面的能力都是要求的,缺少对业务的理解,算法工程师容易陷入模型中自嗨,导致最终做出来的东西业务方不用。

从上面分析,硬技能,首先是数据库,软件应用,加mysql,Oracle, python, spark 等,其次是数学知识模型算法等稍微有点难度的东西。

软技能,就是沟通,以及对问题的思考和分析能力。

我认为,硬技能容易学,但软技能不容易学。刚入行的人总喜欢强调算法,模型,大数据框架,这很正常,何为后端人员也许做的就是这些。但如果想要走得更远,做得更深,业务能力和问题分析能力的重要性就突显出来了。

最后补充一句,大数据行业职场一般有两条线,一是业务线,要求梳理业务问题,分析,建模。另一条是开发线,就是构建高性能大数据分析平台,供建模人员和业务方使用,提高公司运营效率。
 

四、大数据模型工具

当今的商业决策对基于海量 的数据依赖越来越强烈,正确而连贯的数据流对商业用户做出快速、灵活的决策起到决定性的作用。建立正确的数据流和数据结构才能保证最好的结果,这个过程叫做数据建模。在实际行业运用的过程中,为了避免认为错误并且加快进度,我们需要使用专业的软件来帮助我们建立数据逻辑模型和物理模型、生成DDL,并且能够生成报告来描述这个模型,同时分享给其他伙伴。下面所列出的工具都是精挑细选的数据建模工具,推荐给大家使用。
 

1、PowerDesigner

  PowerDesigner是目前数据建模业界的领头羊。功能包括:完整的集成模型,和面向包含IT为中心的、非IT为中心的差异化建模诉求。支持非常强大的元数据信息库和各种不同格式的输出。PowerDesigner拥有一个优雅且人性化的界面,非常易懂的帮助文档,快速帮助用户解决专业问题。

2、ER/Studio

  ER/Studio 是一个支持多平台环境的直观数据建模工具,并且本地集成了用于处理大数据平台,例如-MongoDB和Hadoop Hive。它能够进行正向和逆向工程,并且拥有“比较合并”功能,能够输出例如XML、PNG、JPEG等格式文档。内建自动执行任务功能支持当前流行数据库平台。ER/Studio功能非常强大,拥有直观的界面和很好的用户支持特别易于马上开始工作。

3、Sparx Enterprise Architect

  Enterprise Architect是一个拥有丰富功能的数据建模工具。自诩是高性价比的明智之选。Enterprise Architect帮助企业用户快速建立强大的可维护的系统,而且很容易在共享项目中扩展到大型的协作团队中去。 Enterprise Architect 同样有动态运行模拟模型的能力,用以验证模型和更加正确和深入的理解原来商业系统运作的方式。

4、CA ERwin

  ERwin 也是业界领先的数据建模解决方案,能够为用户提供一个简单而优雅的界面同时处理复杂的数据环境问题。Erwin的解决方案提提供敏捷模型,同时元数据可以放在普通的数据库中进行处理,这样就能够保证数据的一致性和安全性。Erwin支持高度自定义的数据类型、APIs,允许自动执行宏语言等等。Erwin还建有一个很活跃的用户讨论社区,使得用户之间可以分享知识和各种经验。

5、IBM - InfoSphere Data Architect

  InfoSphere 是一个很创新的、运行在开源平台-Eclipse上的数据建模工具。Infopshere主要聚焦于一下三个主要的特性:高效、简洁、高度集成。InfoSphere能够帮助商业用户建立逻辑、物理模型图,并且之后能非常方便的在各种不同的应用和系统中进行使用。InfoSphere是一个端到端的解决方案,可以快速高效地用在建立、部署、更新数据模型。同时也非常简易的集成了IBM的其他相关产品。

  以上便是推荐的大数据建模工具,他们在数据建模方面带来的效率几乎是大家公认的,用好上述工具将让你能力得到再一次跃迁。

 

你可能感兴趣的:(大数据)