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

2023-11-19

一、什么是大数据

大数据一般指在数据量在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的其他相关产品。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据建模与数据模型工具 的相关文章

  • MyBatis参数传入集合之foreach动态sql

    foreach的主要用在构建in条件中 它可以在SQL语句中进行迭代一个集合 foreach元素的属性主要有item index collection open separator close item表示集合中每一个元素进行迭代时的别名
  • 期货反向跟单--交易员的培养问题

    根据我们统计的数据显示 今年做国内期货反向跟单的团队 无论是从赢利金额 稳定性 还是成功概率 都比做国际期货的团队要高 尤其是最近纯碱 焦煤焦炭 PTA 红枣等几个品种的行情 更是频繁拉爆了很多盘手的账户 本文转发自公众号 反跟单交易 转载

随机推荐

  • 【Mysql】Communications link failure,The last packet sent successfully to the server was 0 millisecond

    项目背景是数据库和项目不在同一台服务器下 在启动时 突然遇到以下错误 Exception in thread main com mysql jdbc exceptions jdbc4 CommunicationsException Comm
  • Java图书馆

    io流用的不是很熟练 还有Book类的应用出了点问题 越改越错 从2个错误改到102个QAQ 孩子想哭 问了好多人也没改成 最后勉强成型 而且上个星期内分泌系统出了点小问题 天天往医院跑 开始敲的太晚了 现在要备战期末考 等期末考结束再改改
  • Linux系统编程:多线程交替打印ABC

    引言 分享关于线程的一道测试题 因为网上基本都是Java的解决方法 决定自己写一篇来记录一下线程的学习 问题描述 编写一个至少具有三个线程的程序 称之为线程 A B 和 C 其中线程 A 输出字符 A 线程 B 输出字符 B 线程 C 输出
  • Spring源码深度解析:文章目录

    文章目录 序号 内容 链接地址 1 一 Spring整体架构和源码环境搭建 https blog csdn net wts563540 article details 126686645 2 二 手写模拟Spring https blog
  • Windows server 2016 部署 AD域

    AD域的简单介绍 为什么要使用域 假设你是协会的系统管理员 管理高职部所有的机房 如果你要为每台电脑设置登录帐户 设置权限 比如是否允许登录帐户安装软件 那你要分别坐在所有电脑前一一设置 如果你要做一些改变 你也要分别在这所有电脑上修改 相
  • 【论文解读】NLP重铸篇之Word2vec

    论文标题 Efficient Estimation of Word Representations in Vector Space论文链接 https arxiv org pdf 1301 3781 pdf复现代码地址 https gith
  • mysql出现“ You can't specify target table '表名' for update in FROM clause”解决方法

    You can t specify target table 表名 for update in FROM clause 翻译为 不能先select出同一表中的某些值 再update这个表 在同一语句中 实例 表 result 表studen
  • (java 基础知识) Java打印---javax.print

    package com print import java io import javax print import javax print attribute import javax print attribute standard p
  • 华为OD机试 - 快递运输(Java)

    题目描述 一辆运送快递的货车 运送的快递放在大小不等的长方体快递盒中 为了能够装载更多的快递 同时不能让货车超载 需要计算最多能装多少个快递 注 快递的体积不受限制 快递数最多1000个 货车载重最大50000 输入描述 第一行输入每个快递
  • React Native_综合练习(react-navigation)

    据说 react natvigation是官方推荐使用的 搞不懂为啥官方放弃更新natigator了 所以在上篇文章的基础上使用react natvigation 1 StackNavigator 用来跳转页面和传递参数 2 TabNavi
  • Linux系统移植:Kernel 顶层 Makefile(下)

    Linux系统移植 Kernel 顶层 Makefile 下 继续分析 Linux 内核源码顶层 Makefile 执行过程 一 make defconfig 过程 与 uboot 的顶层 makefile 相同 在编译源码前 要用 mak
  • 解决openai网站拒绝访问的问题,Access denied,You do not have access to chat.openai.com

    解决步骤 清除浏览器的历史纪录数据 尝试更换科学上网节点 开启无痕浏览模式 我通过这三个步骤登录成功了 希望可以帮助到大家
  • F5杯—网络是有记忆的

    0x00 前言 CTF 加解密合集 CTF 加解密合集 0x01 题目 网络有记忆 我也有 所以 我想她了 提示 1 题目既提示 2 flag包括小写字母 单词 下划线 IDEgOChWMyVNM1wtGVhbI1NeMCE0Vy9RHVB
  • scanf函数的读取

    scanf的处理机制 scanf 以删除的方式从缓冲区读取数据 输入设备的数据存储缓冲区 比如键盘 也就是说 scanf从缓冲区读入一个数据项 该数据项在缓冲区中就被清除掉了 而如果scanf需要读取一个数据项 返现缓冲区当前是空的 那么程
  • 《斗破CPP》 第叁章(中) ---- 左值右值问题

    斗破CPP 第叁章将会分成上中下三部分分享给大家 上 偏向于讲述循环 中 讲1个中级难度的运算符 下 偏向于讲解具有强大功能的语句以及控制符 不管有基础还是没基础的小伙伴 都可以重点看看 上 后半部分 中 前半部分 下 后半部分小总结 目录
  • java实现简单的生成52张牌、三个人洗牌、码牌算法

    定义一个Pocker类 用于定义牌类 package demo public class Poker private String suit 花色 private int rank 数字 构造函数 public Poker String s
  • Java学习day17

    异常处理 异常处理机制 代码 public class Demo01 public static void main String args int a 1 int b 0 假如要捕获多个异常 从小到大 try if b 0 throw t
  • Mybatis一对多查询,分页显示问题解决方案

    分页查询在我们的开发中也许是遇到最多的功能 一张表的分页 多张表一对一功能的分页相信大家写来都是得心应手 但是在一对多分页查询的时候大家写法不对的时候 可能会遇到查询的总条数和实际总条数对不上的问题 不多说下面请看演示 1 先提供2张表的建
  • 3254 Corn Fields 这题解真的不能再详细了!

    题意 农场主John新买了一块长方形的新牧场 这块牧场被划分成 M M M行 N N N列 1
  • 大数据建模与数据模型工具

    一 什么是大数据 大数据一般指在数据量在10TB以上的数据集 通常有以下5个特点 1 容量 Volume 数据量大 数据量的大小决定所考虑的数据的价值和潜在的信息 2 种类 Variety 数据类型多 包括但不仅限于文本 音频 视频以及图片