中企动力 > 商学院 > 大数据分析步骤
  • ?

    tableau——大数据分析工具(一)

    凌晴

    展开

    帕累托图(Pareto Chart)可以分析总利润额的多少百分比来自于多少比例的客户,也可以分析总销售的多少百分比来自于哪几种主要的产品

    eg:创建一个帕累托图,来分析是否是80%的利润额来源于20%的大客户,或者是别的情况

    步骤:连接数据源(supermarket)

    1、将“客户姓名”、“利润”分别拖放于列、行上

    2、右键单击“顾客姓名”,选择“排序”,弹出对话框,将“排序顺序”设为“降序”,“排序依据”处勾选“字段”并选择“利润”,“聚合”设为“总计”,单击确定键

    3、将试图改为“整个视图”

    数据分析交流:283296032

    4、右键单击“利润”,单击“添加计算表”并作如下设置

    1)计算类型设为“汇总”,计算依据设我“客户名称”,勾选“添加辅助计算”,“从属计算类型”设为“总额百分比”,计算依据“客户名称”

    5、从维度列表再次将“客户名称”拖放至【详细信息】

    6、右键单击“顾客姓名”,将“度量”设为“计数”,【标记】选择“条形图”

    7、右键单击“客户名称”,单击【添加表计算】,并作如下设置:

    1)“计算类型”设为“汇总”,“计算依据”设为“客户名称”

    2)勾选“添加辅助计算”,目的是要将横轴上的刻度变为百分比的形式

    3)将“从属计算类型”设为“总额百分比”,“计算依据”处选“客户姓名”

    8、做如下设置,使得帕累托如更加直观

    1)右键单击纵轴,添加一条参考线,设为常数值0.8

    2)再次右键单击纵轴,单击【编辑轴】,将轴标题改为%of利润

    3)右键单击横轴,添加一条参考线,设为常数值0.2

    4)再次右键单击横轴,单击【编辑轴】,将轴标题改为%of顾客

    5)从【度量】列表框中选中“利润”拖放于颜色框内

  • ?

    大数据到底是干什么用的?

    元绿

    展开

      大数据这个词已经被炒的满天飞,还有的人说它是泡沫,现在什么东西即使没用大数据技术也要加个大数据概念,要不都觉得落伍了,当然这是迎合宣传的手段,不过搞虚假宣传还是不太好的。那真正使用大数据技术的地方且比较有代表性的产品有那些:

      ·云存储:中国比较好的有百度云,国外比较好的有AWS等。正是因为有这些产品的出现,数据在云端的概念才终于变成现实了,大家都不用踹着U盘到处跑了。

      ·内容推荐:最具代表性的有今日头条,它正是运用了大数据技术来找到你喜欢的内容并且推荐给你。自从这个产品出现以后已经有很多人抛弃以前的新闻阅读方式。它让网易新闻、新浪新闻、腾讯新闻等产品上了不少火。现在大家都开始纷纷的学习它。

      ·物品推荐:电影网站、音乐网站、电商网站这些网站都会把根据你的浏览行为进行分析,根据你的兴趣推荐给你相应的物品,比如爱奇艺、QQ音乐、京东等。

      ·广告计算:应用比较好的有百度、谷歌、淘宝、腾讯,他们要根据广告主的价格和广告的效果计算广告的排序,好在流量中达到最好的变现效果,这时数据的处理速度与数据的量级直接影响了他们的收入。

      ·金融:银行正使用大数据分析用户的消费行为、购买能力以及还款能力,用来降低提供给用户的贷款风险,减少环帐率。

      ·信用:支付宝的芝麻信用加入了更多的维度,比如你的人际关系、学历、车等等元素来评估你的信用值,给信用值高的人提供更好的服务,比如信用度高住酒店就不用交押金。

      ·数据分析:这个具有代表性的产品不多,但确是大数据应用非常主要的场景,一般都是公司内部定制性的,所以一般不公开,但确实各种公司都在用,比如网站的流量分析、相关产品的用户特性分析、微博的语义分析。可以根据这些分析为自己的业务或者产品发展方向提供决策依据。

      ·智慧城市:这个现在比较有代表性的功能就是可以根据人流控制路灯的亮度,可以达到省电的效果。通过车流控制红绿灯的变化,减少道路拥堵。

      正是有了大数据处理技术的应用才使以上这些方面有了更好的发展,如果没有大数据处理技术的出现那可能就会因为数据太多处理不过来或者根本就无法处理。那自然就会导致一些业务的发展落后或者根本无法进行的。当然未来大数据的应用场景将会越来越多,比如物联网、人工智能等等。前景十分看好。

      如果以上这些你都不了解那我就再举个更俗的例子,就是”你一撅屁股我就知道你要拉什么屎“。这是因为你对某个人或物接触时间长了,知道了对方足够多的信息,促进了你对事物的认知,从而就能更了解这个事物并预测到它下一步动作。大数据处理技术也就是这么个过程,它的过程可以分为收集,处理,分析识别、预测这四个步骤。其实就是模拟人类对事物认知这个过程并把这个过程程序化、海量化。

      还觉得大数据是泡沫的您还这么想吗?可别再继续无知下去了。

  • ?

    不知道这7个典型数据项目步骤,都不好意思自称大数据人

    西门丝

    展开

    数据科学是一门跨学科的科学,它可以从结构化或非结构化的各种形式的数据中提取知识和见解。随着数据科学工具自动化程度的提高,无论是在接地气的零售领域,还是在高大上的基因领域,数据科学都在被用来进行知识发现和预测分析。同时,随着传感器、物联网的发展,未来几年数据科学对社会的推动有望加速。

    那么,数据科学的典型步骤是什么样的?企业如何最大化其数据资产价值呢?

    1.了解目标问题

    在进行数据科学的具体操作之前,首先要充分了解你想要解决的问题,征求相关领域专家的帮助,包括解释业务问题、提供数据集、确定项目目标等。很多数据科学项目失败的原因就是一开始就没有非常明确的目标,导致最终效果不理想。为了了解问题,你可能要与市场营销、财务、运营、IT甚至人力资源部门的同事进行交流,而且会收到各方不同的意见或建议,尽管有时候这会让人崩溃,但是对于数据项目的健康推进来说,这个过程还是不可或缺的。

    开始数据项目的正确方法是找出业务最短板,然后顺着这个问题抽丝剥茧,分析数据解决问题。有时候业务问题与数据项目之间会有非常明确的对应关系,但是有时候业务问题和数据项目之间的联系并不那么明显,需要分多个步骤来将业务问题与数据项目逐一映射起来。数据项目的发起和最终驱动力,往往都是来自业务部门需求(例如财务、销售、运营等),因此,多与这些部门的同事交流,会让之后的数据工作事半功倍。

    2.找到合适数据

    有些数据可能是来自内部业务,例如电商应用的数据,但是如今随着社交网络的发展,数据项目的数据已经不能局限于企业本身的数据,必须包含来自各种外部来源的数据,同时也包括非结构化数据来源、如社交媒体甚至电子邮件。物联网传感器是另一个很大的数据来源。因此,数据采集可能需要一定的创造力,在领域专家的帮助下更多地收集有用的数据。

    3.数据清洗转换

    在项目早期,数据清洗转换非常重要,以便将原始数据清理并转换为更适合机器学习的形式。鉴于一些企业数据的状态比较差,此步骤可能需要花费相当长的时间和精力,通常可占用高达75%的数据项目的时间和成本。在数据转换的过程中,记录所有数据转换日志很重要,因为转化过程会成为数据重新利用时的参考。

    4.探索性数据分析

    探索性数据分析是指使用统计方法和数据可视化来尝试发现数据中有趣的特征和趋势。有时,只需要基于原始数据(或原始数据的样本)的简单绘图就可以显示出非常重要的趋势或关系,这将有利于指导数据项目的方向。探索性数据分析可以在花费较少的时间和成本的情况下确定你的项目应该采用的特定机器学习算法和使用的最佳特征变量。这一步骤可能需要与业务专家探讨探索性数据分析过程中显示出来的特征,以免发生遗漏,错过重要的特征和线索。

    5.选择合适算法

    确定基本方向后就要选择适合于解决问题的机器学习算法,将数据分成训练数据、交叉验证数据和测试集。在这一阶段,需要对很多机器学习类型进行测试,是做定量预测、定性分类,还是只是使用聚类技术进行探索?在测试之后,你就能更容易地选出最适合用于特定应用的算法,如果之前有过此类研究,则在选择算法的时候会相对容易很多。

    6.验证模型功效

    没有一种算法能够在处理所有数据集时的各项指标都优于其他算法。在特定的数据集上,一种特定的算法可能最有效,而另一种算法可能在其他数据集上表现更好,选择最佳算法可能是实践中数据项目最具挑战性的部分之一。因此,模型的效率评估对于项目的成功与否至关重要。需要量化给定观测值的预测响应值在多大程度上接近该观测值的真实响应值。还需要确定模型在处理不同的数据集的误差。

    7.讲述数据故事

    数据项目的最终结果可以通过精心设计的可视化作品来获得最佳的展示效果。能够直观、准确传达信息的可视化作品创建起来难度很大,可能需要多次尝试才能成功。事实上,建立有效的可视化作品需要一定的创造力和艺术修养。好消息是网上有很多好的可视化的案例可以参考。

    完成数据科学过程后,就可以将结果传达给管理层了。为了达到更好的效果,需要一个会讲“数据故事”的人,这个人可以根据数据以更生动的形式将数据作品要表达的意思传达出去。大多数管理人员没有数据分析或统计数据的背景,而数据科学家的工作就是将数据全部归结为业务人员可以理解的形式,因此,讲述数据的故事是数据科学的一个组成部分。

    结论

    在完成这些步骤之后,数据项目并没有结束,重要的是不断重复这个过程,get到查看不同特征变量的预测能力,评估不同的模型,评估预测精度的新能力。数据项目可能并非让人一直有成就感,因为数据科学家的真正目的是不断地证明自己或企业的一次又一次的错误。数据科学是定期寻找现有问题的新答案的过程,当你找到那个新答案时,它给你带来的成就感也是非常巨大的。

  • ?

    大数据分析:数据分析报告怎么用?

    仇丑

    展开

    作者:冯大福

    来源:说说数据分析那些事儿

    大数据,这个被炒烂了的概念,现如今已被人工智能替代。我们先不讨论人工智能,就大数据而言,我们都是在强调它的技术,例如网络热词:hadoop+spark,data mining。而我们在用大数据时候,经常神话它的影响。例如,广告投放精准化,社会安全管理有序,医药行业智能化等。

    当然这些是我们的畅想,同时确实也离不开数据分析影响,但是我们有没有停下脚步去想一想,到底大数据怎么去落地呢,怎么去分析?怎么利用数据来去使企业做出决策,例如:广告投放精准化?

    1

    我们了解什么叫大数据分析吗?

    麦肯锡给大数据定义:

    “一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。”

    基于我对以上定义的理解,我总结的大数据分析就是,将获取的数据打通、整合、找寻规律,立即得出决策信息。

    数据获取

    我总结的数据源可分类三类:

    (1)一方数据:用户事实数据

    例如用户在某金融机构购买的理财产品,时间、哪个出单口、姓名、电话等,或者运营数据,例如某互联金融app,用户操作行为数据。

    (2)二方数据:其实这部分叫做广告投放数据

    例如,广告展示量,活动页点击量,广告来源等。也有公司将这部分数据作为第三方数据,因为有些广告监测公司会利用此数据和人群数据整合构建自己dmp这样的公司一般宣称为第三方公司,三方数据。

    (3)三方数据:行业数据,也叫公开数据

    例如行协的数据,或者互联网行为数据,例如某互联网公司用户在此网站的行为数据,或者嵌入sdk的app后我们能采集到的安装活跃列表,以及可采集到线下数据。

    打通:其实就是利用关键点的采集整合一二三方数据。例如我们可以通过手机号将一方和三方数据整合,或者利用cookie,或者imei号等将二方、三方数据整合。但是由于现在监管制度对手机号敏感数据的控制,以及互联网和移动端数据的跨平台打通技术难点,我们现实的匹配率很低,例如一方和三方的数据匹配达到20%其实就算比较不错的情况,当然运营商数据除外。

    找寻规律:目标就是数据清理,从非结构化数据变成结构化数据,以便统计,数据探索,找寻规律,形成数据分析报告观点。本文将会在第三部分阐述。

    立即决策:将数据分析报告中的观点系统化或产品化,目前而言,大部分公司还是会依靠人工决策。

    为什么需要大数据分析?看上去大数据分析似乎按照这些步骤来,但是从第一步的数据源来说,其实已经反应了大数据的特点,就是杂乱无章,那么怎么从这些数据找寻规律,分析的内容和目标是否对应上,似乎就是我们需要大数据分析的理由。

    现在,大数据的分析通常采用的数据报表来反映企业运营状况,同时,对于热点,人群分析,我们看到的统计值,目标核心都是用数据分析报告提炼的观点来指导运营,那么问题来了,怎么用数据分析来指导数据决策呢?

    2

    数据分析的报告思路

    (从移动端的角度进行切入)

    基于我对数据分析的理解,我将数据报告会分成三大类:市场分析、运营分析、用户行为分析。

    市场分析

    由于市场分析一般而言是定性、定量分析,最近热播剧《我的前半生》贺函和唐晶的职业就是来去咨询公司的一般会以访谈、问卷调查来一份市场分析报告去告诉客户他们的市场占有量,消费者观点等。

    这里,我们以移动互联网数据的市场分析为例,通常来说,数据源是公开数据,或者在第三方数据。正如我们所讲,将sdk嵌入开发者应用,就可以收集到安装以及使用列表,那么开发者使用的sdk越多,我们能收集的数据源也越多,这样就可以形成安装app排名,使用app排名,这里面所说的覆盖率、活跃率也是这个意思,例如:即此款应用安装量、使用量在整体金融类的安装量、使用量占比。

    那么,这些市场分析的作用呢,一般而言,是对公司市场营销的总结,比如某金融公司kpi是为了获客,他们做了一系列营销,下个月排名我们可以查询到此款应用的安装量,是否较上个月上升呢? 那么我们的竞品表现呢,他们是不是也做了一些列的营销活动排名上升下降?我们都可以通过市场分析、竞品分析来观测,但是这部分的观点由于是市场数据,我们只能通过大量的搜寻官网活动,或者互联网广告推测营销来推测是否竞争对手排名上升和这些营销活动有关。

    同时,根据市场的走势图,我们能发现潜在的竞争对手,例如:我们能看出下图中的工商银行由于手机属于高覆盖高活跃组,即安装xxapp活跃人群也是最高的,因此,无疑xx银行是所有银行组潜在竞争对手。需要更加注意他们的市场策略。

    运营分析

    移动互联网提出的方法论:3A3R,笔者之前在做咨询的时候,此方法论也可以将网站分析套用,总结来说3A3R就是:

    感知 → 获取 → 活跃 → 获取 → 营收 → 传播 → 感知

    这里需要注明下,运营分析只是一个公司的baseline,让产品经理、运营人员、市场人员根据自己本公司的数据参考做出合理的决定,同时,运营的数据只是参考或者叫警示,若要具体,需要特定细节的分析,例如是否app改版,怎么改?需要增加哪家渠道合作?

    (1)Awareness 感知

    根据广告投放数据进行分析,目的判断渠道广告页对app 或者网站引流情况,同时可以帮助广告主设计监测表格,以数字角度衡量广告投放效果。

    但是,广告数据一般而言在广告监测公司手中,或者公开的使用工具上例如GA,我们需要依靠广告公司设计营销环节,例如活动页,加监测代码,或者在媒体、app应用商店加入代码便于监测广告表现,而往往这样的数据很难加载,一般是由应用商店,或者媒体提供,同时,以上数据,监测公司数据一般而言也不会提供给广告主,只是会提供统计值。

    言归正传,我们看感知数据其实目的就是想衡量我们的大量的营销投放钱花的对不对,广告的展示量、点击量等是最好衡量一个公司的广告市场部门绩效,没有广告投放,就无法带来获客,因此钱花的值不值,能带来多少客人,才会有下一步 acquisition。

    (2)Acquisition 获客

    获客是第一步广告投放拓展,用户点击广告后到达应用商店或者着陆页后去下载app,访问网页后,登陆app后的数据是广告公司或者应用商店提供不了的数据,因此获客其实有两重目的。

    目的1: 衡量第一步提供的数据是否准确,即是否渠道作弊

    目的2: 判断渠道是否好坏

    目的3: 判断营销活动是否有效

    例如下图中,我们发现4成用户是搜索流量较上个月增加了6%,是不是我们需要增加和sem的合作呢?而在媒体引荐渠道中,我们通过渠道衡量客户转化率,点击-用户激活的,激活的注册转化,可否重点对某应用商店增加合作。

    下图是目的3的应用,来衡量三个月内的新增用户,活跃用户是否受活动营销、广告投放、版本更迭等影响。例如:7月28日的版本更迭,增加新用户的利器,那么产品经理需要分析下这个版本到底哪里的改变,让用户增长这么快,而8月份的营销活动会唤醒沉睡用户,反应考核运营人员的绩效,那么,是否我们在做促活时候可以借鉴8月的成功经验呢?而这个成功经验需要进一步做专题分析。

    (3)Activities 活跃

    获客后,我们想看看我们的新增、活跃用户的表现情况,那么就到了第三步 活跃,其实就是为产品经理改版app或者页面提供数据支持。

    活跃分析可参考以下三个步骤:

    第一:从页面浏览次数,独立访问人数,来圈定主要页面分析。

    例如某款app首页是pv,uv最高,我们会重点分析首页。

    第二:根据圈定页面,制作点击热力图,便于产品经理对后续页面改造提供数据支持,例如我们可以将点击量小的按钮在下次改版删除,对点击量大的重新排序。

    第三:根据圈定页面,制作点击热力图,便于产品经理对后续页面改造提供数据支持,例如我们可以将点击量小的按钮在下次改版删除,对点击量大的重新排序。

    (4)Retention留存分析& Revenue & Refer

    这几个实际上在企业运用的并不多,这里简要说明下。

    ① Retention

    用户积累到一定数量后,我们想看下用户粘性,那么我们就来到retention,一般是衡量活动效果时候运用的比较多,来看此次活动过后,是否用户依旧会使用我们的app,但是由于金融app属性不会像游戏应用每天进行访问,因此Retention 在实际应用中不会太多,下面的例子是个展示,不做赘述。

    ② Revenue

    这些留下来的客户给公司贡献多少现金呢?会看收入步骤, 一般公司不会将现金流数据放入在统计平台中,但是我们需要提出用户贡献的流水金额数据供我们使用,便于人群划分,例如下面简要分析:

    Refer 传播:

    最后,我们想让这些客户进行传播;核心是口碑营销,即用户自发的转发给其他用户链接,让他们下载app或者参与活动,因此传播的下一个环节又会转换营销,但是传播会受到很多限制,例如没有奖励机制的口碑传播,几乎转发量为0,同时,传播若要衡量比较困难,尤其在大量互联网用户基础上,这样会造成资源代码叠加,系统负担,因此一般企业也不会设计这样活动让营销人员参考。

    用户分析

    若说大数据分析的核心,其实就是在于用户分析,正如我们前面所讲,用户分析的步骤流程如下:

    即在力所能及的搜集数据范围内,打通数据,客户用户,精准营销。

    第一,我们可以筛选的条件列表,我们可以通过应用条件,位置,标签条件将数据整合,整合的目的就是刻画客户,定出营销策略。

    例如:我们想筛选金融客户(应用条件筛选),出现在五星级酒店(位置条件),且为母婴人群(标签)。

    但是需要注意的是,条件越多,用户轮廓越清晰,人群会越少。

    第二,根据筛选的人群,我们将线上/线上统计化,或者建模多维度分析。

    例如,我们根据筛选的人群,发现男性多于女性,苹果手机属性最高,常手机工具使用,那么我们可以将这部分目标人群用增加手机工具合作,或者和苹果合作获客或者促活。

    第三,整合以上数据分析,形成人群画像。

  • ?

    干货 | 这是一份完整的大数据处理技术总结与分析

    左傲蕾

    展开

    一 数据分析处理需求分类

    1 事务型处理

    在我们实际生活中,事务型数据处理需求非常常见,例如:淘宝网站交易系统、12306网站火车票交易系统、超市POS系统等都属于事务型数据处理系统。

    这类系统数据处理特点包括以下几点:

    一是事务处理型操作都是细粒度操作,每次事务处理涉及数据量都很小。

    二是计算相对简单,一般只有少数几步操作组成,比如修改某行的某列;

    三是事务型处理操作涉及数据的增、删、改、查,对事务完整性和数据一致性要求非常高。

    四是事务性操作都是实时交互式操作,至少能在几秒内执行完成;

    五是基于以上特点,索引是支撑事务型处理一个非常重要的技术。

    在数据量和并发交易量不大情况下,一般依托单机版关系型数据库,例如ORACLE、MYSQL、SQLSERVER,再加数据复制(DataGurad、 RMAN、MySQL数据复制等)等高可用措施即可满足业务需求。

    在数据量和并发交易量增加情况下,一般可以采用ORALCE RAC集群方式或者是通过硬件升级(采用小型机、大型机等,如银行系统、运营商计费系统、证卷系统)来支撑。

    事务型操作在淘宝、12306等互联网企业中,由于数据量大、访问并发量高,必然采用分布式技术来应对,这样就带来了分布式事务处理问题,而分布式事务处理很难做到高效,因此一般采用根据业务应用特点来开发专用的系统来解决本问题。

    2 数据统计分析

    数据统计主要是被各类企业通过分析自己的销售记录等企业日常的运营数据,以辅助企业管理层来进行运营决策。典型的使用场景有:周报表、月报表等固定时间提供给领导的各类统计报表;市场营销部门,通过各种维度组合进行统计分析,以制定相应的营销策略等。

    数据统计分析特点包括以下几点:

    一是数据统计一般涉及大量数据的聚合运算,每次统计涉及数据量会比较大。

    二是数据统计分析计算相对复杂,例如会涉及大量goupby、 子查询、嵌套查询、窗口函数、聚合函数、排序等;有些复杂统计可能需要编写SQL脚本才能实现。

    三是数据统计分析实时性相对没有事务型操作要求高。但除固定报表外,目前越来越多的用户希望能做做到交互式实时统计;

    传统的数据统计分析主要采用基于MPP并行数据库的数据仓库技术。主要采用维度模型,通过预计算等方法,把数据整理成适合统计分析的结构来实现高性能的数据统计分析,以支持可以通过下钻和上卷操作,实现各种维度组合以及各种粒度的统计分析。

    另外目前在数据统计分析领域,为了满足交互式统计分析需求,基于内存计算的数据库仓库系统也成为一个发展趋势,例如SAP的HANA平台。

    3 数据挖掘

    数据挖掘主要是根据商业目标,采用数据挖掘算法自动从海量数据中发现隐含在海量数据中的规律和知识。

    数据挖掘主要过程是:根据分析挖掘目标,从数据库中把数据提取出来,然后经过ETL组织成适合分析挖掘算法使用宽表,然后利用数据挖掘软件进行挖掘。传统的数据挖掘软件,一般只能支持在单机上进行小规模数据处理,受此限制传统数据分析挖掘一般会采用抽样方式来减少数据分析规模。

    数据挖掘的计算复杂度和灵活度远远超过前两类需求。一是由于数据挖掘问题开放性,导致数据挖掘会涉及大量衍生变量计算,衍生变量多变导致数据预处理计算复杂性;二是很多数据挖掘算法本身就比较复杂,计算量就很大,特别是大量机器学习算法,都是迭代计算,需要通过多次迭代来求最优解,例如K-means聚类算法、PageRank算法等。

    因此总体来讲,数据分析挖掘的特点是:

    1、数据挖掘的整个计算更复杂,一般是由多个步骤组成计算流,多个计算步骤之间存在数据交换,也就是会产生大量中间结果,难以用一条sql语句来表达。

    2、计算应该能够非常灵活表达,很多需要利用高级语言编程实现。

    二 大数据背景下事务型处理系统相关技术

    在google、facebook、taobao等大互联网公司出现之后,这些公司注册和在线用户数量都非长大,因此该公司交易系统需要解决“海量数据+高并发+数据一致性+高可用性”的问题。

    为了解决该问题,从目前资料来看,其实没有一个通用的解决方案,各大公司都会根据自己业务特点定制开发相应的系统,但是常用的思路主要包括以下几点:

    (1)数据库分片,结合业务和数据特点将数据分布在多台机器上。

    (2)利用缓存等机制,尽量利用内存,解决高并发时遇到的随机IO效率问题。

    (3)结合数据复制等技术实现读写分离,以及提高系统可用性。

    (4)大量采用异步处理机制,对应高并发冲击。

    (5)根据实际业务需求,尽量避免分布式事务。

    1相关系统介绍

    1) 阿里CORBAR系统

    阿里COBAR系统是一个基于MYSQL数据库的分布式数据库系统,属于基于分布式数据库中间件的分布式数据库系统。该系统是前身是陈思儒开发的“变形虫”系统(以前调研过),由于陈思儒离开阿里去了盛大,阿里当心“变形虫”稳定性等问题,重新开发该项目。

    该系统主要采用数据库分片思路,实现了:数据拆分、读写分离、复制等功能。由于此系统由于只需要满足事务型操作即可,因此相对真正并行数据库集群(例如TeraData等),此类系统提供操作没有也不需要提供一些复杂跨库处理,因此该系统存在以下限制:

    (1)不支持跨库的join、分页、排序、子查询。

    (2)insert等变更语句必须包括拆分字段等。

    (3)应该不支持跨机事务(以前变形虫不支持)。

    说白了此类系统不具备并行计算能力,基本上相当于数据库路由器!

    另外此类系统的在实际应用的关键问题是,根据什么对数据进行切分,因为切分不好会导致分布式的事务问题。

    2) 阿里OceanBase系统

    该系统也是淘宝为了解决高并发、大数据环境下事务型处理而定制开发的一个系统。该系统主要思路和特点如下:

    (1)他们发现在实际生成环境中,每天更新的数据只占总体数据的1%不到,因此他们把数据分为:基线数据和增量更新数据。

    (2)基线数据是静态数据,采用分布式存储方式进行存储。

    (3)只在一台服务器上存储和处理增量更新数据,并且是在内存中存储和处理更新数据。

    (4)在系统负载轻的时候,把增量更新批量合并到基线数据中。

    (5)数据访问时同时访问基线数据和增量更新数据并合并。

    因此这样好处是:

    (1)读事务和写事务分离

    (2)通过牺牲一点扩展性(写是一个单点),来避免分布式事务处理。

    说明:该系统虽然能处理高并发的事务型处理,号称很牛逼,但其实也只是根据电商的事务处理来定制开发的专用系统,个人认为其技术难度小于oracle等通用型的数据库。该系统无法应用到银行或者12306等,因为其事务处理的逻辑远远比电商商品买卖处理逻辑复杂。

    在目前的大数据时代,一定是基于应用定制才能找到好的解决方案!

    3) 基于Hbase的交易系统

    在hadoop平台下,HBASE数据库是一个分布式KV数据库,属于实时数据库范畴。支付宝目前支付记录就是存储在HBASE数据库中。

    HBASE数据库接口是非SQL接口,而是KV操作接口(基于Key的访问和基于key范围的scan操作),因此HBASE数据库虽然可扩展性非常好,但是由于其接口限制导致该数据库能支持上层应用很窄。基于HBASE应用的设计中,关键点是key的设计,要根据需要支持的应用来设计key的组成。

    可以认为HBASE数据库只支持作为KEY的这一列的索引。虽然目前HBASE有支持二级索引的方案,二级索引维护将会比较麻烦。

    2并发和并行区别

    并发是指同时执行通常不相关的各种任务,例如交易型系统典型属于高并发系统。

    并行是通过将一个很大的计算任务,划分为多个小的计算任务,然后多个小计算任务的并行执行,来缩短该计算任务计算时间。

    两者主要区别在于:

    (1)通讯与协调方面:在并行计算中,由于多个小任务同属一个大的计算任务,因此小任务之间存在依赖关系,小任务之间需要大量通讯和协调;相反,并发中的多个任务之间基本相互独立,任务与任务之间相关性很小。

    (2)容错处理方面:由于并发任务之间相互独立,某个任务执行失败并不会影响其它的任务。但是并行计算中的多个任务属于一个大任务,因此某个子任务的失败,如果不能恢复(粗粒度容错与细粒度容错),则整个任务都会失败。

    3本章总结

    数据量大不一定需要并行计算,虽然数据量大,数据是分布存储,但是如果每次操作基本上还是针对少量数据,因此每次操作基本上都是在一台服务器上完成,不涉及并行计算。只是需要通过数据复制、数据缓存、异步处理等方式来支撑高并发访问量

    三 大数据背景下数据统计分析技术介绍

    随数据量变大,和事务处理不同的是,单个统计分析涉及数据量会非常大,单个统计分析任务涉及数据会分散在多台服务器上,且由于计算量大,采用单台服务器进行计算,会导致计算时间非常长,单个统计分析任务必须采用并行计算方式来加快单个统计分析任务执行速度。

    1并行查询与并行计算技术介绍

    在大数据背景下的数据统计分析技术门类很多,常见的有:

    n MPP并行数据库 : TeraData、GreenPlum、Vertica等。

    n 基于MapReduce并行计算框架的数据仓库:

    HIVE(Hadoop平台) 、Tenzing(Google公司)

    n 基于Hbase的Phoenix系统

    n HadoopDB系统

    n EMC公司的hapt系统

    n MPP分布式查询引擎: Dremel、Impala、Presto、Shard query、Citusdb。

    n 基于SPARK的Shark、基于Dryad的SCOPE、基于Tez的stinger。

    n 基于hadoop+index的JethroData系统

    n 基于内存计算的Druid系统

    这些系统都解决了海量数据下的数据统计分析的问题,并且这些系统另外一个共同特点是都提供了SQL或者类SQL接口。

    为了能够较好研究这些系统,我们需要对并行查询与并行计算的相关技术做一个简要的介绍。

    首先所有的系统都可以分为三个层次: 语义层、并行计算引擎层、分布式存储层。语义层提供一个编程接口让用户表达所需要计算,并负责把该计算翻译成底层并行计算引擎可以执行的执行计划,并由并行计算引擎来执行,最下面一层是分布式存储层。

    对于提供类SQL接口并行计算系统,语义层可以认为是SQL解析层。

    1) 语义层

    SQL语言是一种声名式语言,SQL只是表达了要做什么,而没有表达怎么做。为此,SQL解析层主要作用是:将用户提交的基于SQL的统计分析请求,转化为底层计算引擎层可以执行的执行计划。也就是解决“怎么做”的问题。

    SQL解析层工作主要包括两个大方面:

    (1) 通过语法分析技术来理解要做什么。在关系数据库中,一般会把SQL语言分析后,形成树型结构的执行计划。

    (2) 在语法分析技术上,利用各种优化技术和算法,找出一种最经济物理执行计划。

    优化可以分为两个方面:一是逻辑层面优化、二是物理执行层面优化。

    (1) 逻辑层优化

    逻辑层面个人认为主要是因为同样表达一个分析请求,有的人SQL写的好,有的人SQL写的烂,因此在逻辑层面可以通过一些等价关系代数变换,实现查询重写,将写的比较烂的sql变换为好的写法。

    比较典型优化是:“把投影和过滤下沉,先执行过滤和投影操作”,减少中间结果。

    (2) 物理层优化

    物理层面优化是在逻辑优化后,结合实际物理执行过程,找出最优的物理执行计划。生成物理查询计划的工作包括:

    ü 增加一些操作符: 包括扫描和排序等。

    ü 确定各个操作符实现算法。例如扫描是全表扫描还是利用索引;Join是采用HASH连接、索引连接、合并排序等实现算法中的那一种。

    ü 确定操作符之间的数据流转方法:物化还是流水线方式。

    ü 采用基于代价估算方法确定最优的物理执行计划,目前代价估算主要是以估算该物理计划需要的IO量。另外对于并行数据库,则还要考虑通讯代价,即尽量减少数据在各个机器之间的传递。

    在物理层优化的代价估算过程中,代价估算需要依靠很多统计信息,如表有多大,表中相关列的值分布是什么样子等。传统数据库在数据Load过程中会事先计算好这些统计信息。并行计算中还需要考虑通讯代价。

    需要指出是,由于imapla、Presto、HIVE等系统只是一个查询引擎,它们可以直接查询以普通文件方式存储在HDFS系统上的文件,因此这些系统一般无法使用索引和各种统计信息来进行物理执行计划的优化,这些系统一般只能在逻辑层进行一些基于规则静态优化。根据SHARK论文,SHARK系统支持根据前面一些节点计算获得的信息,来动态优化后面执行计划。

    (3) 物化与流水线执行方法

    一条SQL语句对开发人员而言,感觉只是一次调用,但是实际上在数据库内部,一条SQL语句执行其实是有多个操作符组合而成的的树型结构计算流。如下图:

    针对该计算流有两种执行方式:一是基于物化或者是实体化执行方式,另外一种是基于数据流的执行方式。

    第一种方法的过程是: 把各个操作运算排序,并把每个操作运算的输出的中间结果存储在磁盘上,直到被另外一个操作运算所...

  • ?

    十种常用的数据分析方法

    闵幻姬

    展开

    道家强调四个字,叫“道、法、术、器”。

    层次区别:

    “器”是指物品或工具,在数据分析领域指的就是数据分析的产品或工具,“工欲善其事,必先利其器”;

    “术”是指操作技术,是技能的高低、效率的高下,如对分析工具使用的技术(比如用Excel进行数据分析的水平);

    “法”是指选择的方法,有句话说“选择比努力重要”;

    “道”是指方向,是指导思想,是战略。

    在数据分析和产品、运营优化方面,数据分析方法是其核心,属于“法”和“术”的层次。

    那么如何做好数据分析呢,今天我们来讲讲互联网运营中的十大数据分析方法。

    01 细分分析

    细分分析是分析的基础,单一维度下的指标数据的信息价值很低。

    细分方法可以分为两类, 一类逐步分析, 比如:来北京市的访客可分为朝阳,海淀等区; 另一类是维度交叉, 如:来自付费SEM的新访客。

    细分用于解决所有问题。

    比如漏斗转化,实际上就是把转化过程按照步骤进行细分,流量渠道的分析和评估也需要大量用到细分的方法。

    02 对比分析

    对比分析主要是指将两个相互联系的指标数据进行比较,从数量上展示和说明研究对象的规模大小,水平高低,速度快慢等相对数值, 通过相同维度下的指标对比,可以发现,找出业务在不同阶段的问题。

    常见的对比方法包括: 时间对比,空间对比,标准对比。

    时间对比有三种: 同比,环比,定基比。

    例如: 本周和上周进行对比就是环比;本月第一周和上月第一周对比就是同比;所有数据同今年的第一周对比则为定基比。通过三种方式,可以分析业务增长水平,速度等信息。

    03 漏斗分析

    转化漏斗分析是业务分析的基本模型, 最常见的是把最终的转化设置为某种目的的实现,最典型的就是完成交易。但也可以是其他任何目的的实现,比如一次使用app的时间超过10分钟。

    漏斗帮助我们解决两方面的问题:

    在一个过程中是否发生泄漏,如果有泄漏,我们能在漏斗中看到,并且能够通过进一步的分析堵住这个泄漏点。

    在一个过程中是否出现了其他不应该出现的过程,造成转化主进程收到损害。

    04 同期群分析

    同期群(cohort)分析在数据运营领域十分重要,互联网运营特别需要仔细洞察留存情况。 通过对性质完全一样的可对比群体的留存情况的比较,来分析哪些因素影响用户的留存。

    同期群分析深受欢迎的重要原因是十分简单,但却十分直观。 同期群只用简单的一个图表,直接描述了用户在一段时间周期(甚至是整个LTV)的留存或流失变化情况。

    以前留存分析只要用户有回访即定义为留存,这会导致留存指标虚高。

    05 聚类分析

    聚类分析具有简单,直观的特征, 网站分析中的聚类主要分为:用户,页面或内容,来源。

    用户聚类主要体现为用户分群,用户标签法;页面聚类则主要是相似,相关页面分组法;来源聚类主要包括渠道,关键词等。

    例如: 在页面分析中,经常存在带?参数的页面。 比如: 资讯详情页面,商品页面等,都属于同一类页面。简单的分析容易造成跳出率,退出率等指标不准确的问题,通过聚类分析可以获取同类页面的准确数据用于分析场景。

    06 AB测试

    增长黑客的一个主要思想之一,是不要做一个大而全的东西,而是不断做出能够快速验证的小而精的东西。 快速验证,那如何验证呢?主要方法就是AB测试。

    比如: 你发现漏斗转化中中间有漏洞,假设一定是商品价格问题导致了流失,你看到了问题-漏斗,也想出了主意-改变定价。但主意是否正确,要看真实的用户反应,于是采用AB测试,一部分用户还是看到老价格,一部分用户看到新价格,若你的主意真的管用,新价格就应该有更好的转化,若真如此,新价格就应该确定下来,如此反复优化。

    07 埋点分析

    只有采集了足够的基础数据,才能通过各种分析方法得到需要的分析结果。

    通过分析用户行为,并细分为:浏览行为,轻度交互,重度交互,交易行为,对于浏览行为和轻度交互行为的点击按钮等事件,因其使用频繁,数据简单,采用无埋点技术实现自助埋点,即可以提高数据分析的实效性,需要的数据可立即提取,又大量减少技术人员的工作量,需要采集更丰富信息的行为。

    如: 重度交互(注册,邀请好友等)和交易事件(加购物车,下订单等)则通过SDK批量埋点的方式来实施。

    08 来源分析

    流量红利消失,我们对获客来源的重视度极高,如何有效的标注用户来源,至关重要。

    传统分析工具,渠道分析仅有单一维度,要深入分析不同渠道不同阶段效果,SEM付费搜索等来源渠道和用户所在地区进行交叉分析,得出不同区域的获客详细信息,维度越细,分析结果也越有价值。

    09 用户分析

    用户分析是互联网运营的核心, 常用的分析方法包括:活跃分析,留存分析,用户分群,用户画像,用户细查等。

    可将用户活跃细分为浏览活跃,互动活跃,交易活跃等,通过活跃行为的细分,掌握关键行为指标;通过用户行为事件序列,用户属性进行分群,观察分群用户的访问,浏览,注册,互动,交易等行为,从而真正把握不同用户类型的特点,提供有针对性的产品和服务。

    用户画像基于自动标签系统将用户完整的画像描绘清晰,更有力的支撑运营决策。

    10 表单分析

    填写表单是每个平台与用户交互的必备环节,优秀的表单设计,对转化率的提升起到重要作用。

    用户从进入表单页面之时起,就产生了微漏斗,从进入总人数到最终完成并成功提交表单人数,这个过程之中,有多少人开始填写表单,填写表单时,遇到了什么困难导致无法完成表单,都影响最终的转化效果。

    以上是常见的数据分析方法,更多应用方法需要根据业务场景灵活应用。

  • ?

    大数据分析之多维数据分析入门

    霍华德

    展开

    阅读本文不需要技术背景。

    总体介绍

    首先模拟一个数据分析场景,某企业积累了如下表格所示的销售数据:

    产品销售数据表

    表格中每一行表示某个时间段内某种商品在某个地区的销售情况。很明显,这些数据涉及到了时间、地区、产品三个业务角度。

    在对这样的数据进行分析时,不同的角色都会基于自己所感兴趣的业务角度提出问题

    销售经理关心各个地区的销售情况,希望找出销售增长率在平均水平之下的地区产品总监则希望了解近期内各种产品的销量对比,以作为后期产品研发方向的参考CEO想要知道近六个月内整体销售环比信息,用以评估是否达到公司运营目标

    对于表格中的数据,可以将其转换为另一种数据格式 - "三维空间立方体",如下图所示:

    图 1 - 数据立方体

    相对于表格,以三维立方体形式呈现的数据结构更加直观。

    在这个数据立方体中,每一个坐标轴都代表一个业务角度(时间、地区、产品),坐标轴上的坐标值则表示了某个业务角度的一个确定的值(如:北京市、3月份、手机),不同坐标轴坐标值的交叉点则表示一个具体的销售额。

    实际上,此数据立方体中表示业务角度的坐标轴就是维度,类似于三维立方体的数据结构则被称为多维数据结构(也称数据立方体)。

    再次回顾前文中销售经理、产品总监、CEO各自提出的问题,不难发现他们各自所关注的维度分别为:地区、产品、时间

    图 2 - 不同角色关注不同维度

    目前我们所模拟的这个数据分析场景较为特殊,因为只有三个维度,所以可以直观的将数据想象成一个三维立方体。

    实际情况中,企业进行数据分析时往往要参考更多的维度,而且提出的问题也会更加复杂,此时,已经不能将数据以经典的三维立方体结构进行呈现。

    虽然无法在三维空间中呈现更多维度的数据结构,但是面对更多维度时进行数据分析的思路却完全不变,不同的角色只需要从自身所关注的维度出发并提出问题即可,他们即不需要了解十几甚至几十维的数据如何存储,也无需考虑多维数据查询的具体实现方式。

    核心概念简介

    在多维数据分析领域中,有几个非常重要的核心概念:

    数据立方体(Cube)维度(Dimension)成员(Member),又称维度成员(Dimension Member)度量(Measure)级别(Level)

    图 3 - 多维数据模型

    维度(Dimension)

    图 4 - 维度

    维度就是描述数据的业务角度。在不同的数据分析场景中,会存在若干个不同的维度。

    以上图为例,存在三个维度:时间、地区、产品。在这个数据分析场景中,“哪种产品销量最好?”这样的问题显然主要关注的是产品这个维度,而“哪些地区连续六个月销售额环比增长?”则同时关注了地区和日期两个维度。

    在一个多维数结构中,维度可以被抽象理解成一个坐标轴,图1中所示的数据分析场景由三个维度组成,每个维度各自代表了三维空间中的一个坐标轴。

    相对于三维空间,具有更多维度的空间结构显然不易于被理解,实际上,您并不需要在头脑中想象出一个更多维度的空间场景,下文中几个简单的步骤将帮助您快速理解多维空间结构:

    【理解一维空间结构】

    图 5 - 一维空间图

    一维空间是一把尺子,只有一个坐标轴,坐标轴上的一个坐标值就能确定一个点

    【理解二维空间结构】

    图 6 - 二维空间图

    二维空间是一个平面,具有两个坐标轴,不同坐标轴上的两个坐标值确定一个点

    【理解三维空间结构】

    图 7 - 三维空间图

    三维空间具有长、宽、高三个坐标轴,三个坐标轴坐标值确定一个点

    【理解四维空间结构】

    四维空间比三维空间多出一个坐标轴,这里我们称这个新的坐标轴为“第四坐标轴”,现在如果需要确定一个点,除了长、宽、高三个轴上的坐标值外,还需要第四坐标轴上的一个坐标值

    【理解N维空间结构】

    N(N可以是大于零的任意整数)维空间中具有N个坐标轴,需要N个不同坐标轴上的坐标值才能确定一个点

    维度成员(Dimension Member)

    前文介绍维度概念时,讲到可将维度理解成表示某种业务角度的坐标轴,而维度成员则非常类似于维度坐标轴上的坐标值。

    以时间维度为例,“一季度”、“1月份”、“2月份”这三个维度成员同属于时间维度,它们各自表示了时间维度下一个具体的时间段。

    由下图可以看出,同一个维度下的维度成员呈现出树状结构,我们将没有子级成员的成员称为明细成员(Leaf Member,又称明细维度成员Leaf Dimension Member),其他成员称为非明细成员。

    图 8 - 明细成员与非明细成员

    数据立方体(Cube)

    数据立方体表示由若干个维度所描述的一个数据集合,每个维度各自表示一个可对此数据集合进行观察和分析的业务角度。

    图 9 - Cube(数据立方体)

    之所以称为“立方体”,是因为由三个维度所描述的一个数据集,能够非常轻松的被想象成三维空间中的一个立方体结构。

    需要注意的是,在多维数据分析体系中,一个数据立方体往往具有更多的维度,虽然更多维度形态并不像三维空间立方体那样直观,但维度表示某些业务角度的作用不会改变。

    度量(Measure)

    图 10 - 度量值

    在一个数据立方体中,从每个维度上都选取一个确定的维度成员,这些维度成员组合所确定的一个点就是度量值。

    在图 10示例中,日期维度:1月份、地区维度:河北省、产品维度:手机确定了一个最细粒度的数据方块,这个小数据方块(下文称为Data Cell)就是销售额6688这个度量值,显然,这表示“河北地区1月份手机产品的销售额是6688”。

    如果仔细观察图 10,您可能会发现并没有一个Data Cell能够直接表示“北京市一季度手机产品的销售额”。由于一季度与1、2、3三个月份是父子级的关系,所以“北京市一季度手机产品的销售额”可以通过汇总计算得到,如下图所示:

    图 11 - 度量值汇总

    一般情况下,数据立方体中并不直接存储非明细成员所描述的度量值,而是通过对其后代成员中的全部明细成员进行汇总计算而得出。

    级别(Level)

    级别表示维度成员所描述业务角度的细节程度,也可理解为通过维度成员观察数据的粒度。例如日期维度中一季度、1月这两个成员,分别属于季度、月份两个不同的级别,显而易见,季度级别的维度成员描述数据的粒度较为宽泛,月级别则较为细致。

    图 12 - Level(级别)

  • ?

    大数据:大数据分析常见方法,我们还需要注意到哪些步骤

    Dempsey

    展开

    有关于大数据的相关问题?请加群640193172提及他们,我们共同讨论。进群备注今日头条

  • ?

    怎样搭建一个大数据分析平台?内附资料福利

    Wang

    展开

    一般的大数据平台从平台搭建到数据分析大概包括以下几个步骤:

    1、Linux系统安装

    一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。比如,可以选择给HDFS的namenode做RAID2以提高其稳定性,将数据存储与操作系统分别放置在不同硬盘上,以确保操作系统的正常运行。

    2、分布式计算平台/组件安装

    当前分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。

    使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往是开发中最耗时的地方);2)开源组件一般免费,学习和维护相对方便;3)开源组件一般会持续更新;4)因为代码开源,如果出现bug可自由对源码作修改维护。

    常用的分布式数据数据仓库有Hive、Hbase。Hive可以用SQL查询,Hbase可以快速读取行。外部数据库导入导出需要用到Sqoop。Sqoop将数据从Oracle、MySQL等传统数据库导入Hive或Hbase。Zookeeper是提供数据同步服务, Impala是对hive的一个补充,可以实现高效的SQL查询

    3、数据导入

    前面提到,数据导入的工具是Sqoop。它可以将数据从文件或者传统数据库导入到分布式平台。

    4、数据分析

    数据分析一般包括两个阶段:数据预处理和数据建模分析。

    数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。

    数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。如前面所提到的,这一块最好用的是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。

    5、结果可视化及输出API

    可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,和列查找展示。

    以上就简单介绍这么多,如果有小伙伴想了解和学习更多的大数据技术,可以私信小编索要资料

  • ?

    干货|关于大数据分析方法的深度思考

    成熟

    展开

    本文作者:郭朝晖@蝈蝈创新随笔

    本文是我关于大数据分析方法的几点思考。当初的目的是系统化地看待数据分析。为了这点东西,我花了一个礼拜的时间,思考的结果却是碎片化的。看来,想清楚并不容易。由于时间关系,只能中止。文字描述很不严格、肯定经不起推敲,读者找不毛病是正常的、看不明白更是正常的。不感兴趣的可以当做胡扯。我希望将来有时间时能把问题思考下去。

    从数据中发现信息和知识,是人们多年来的梦想。随着大数据理论的兴起,这个话题变得非常热门。在有些人看来,大数据非常神秘,似乎无所不能。当然,现实不会是这样。我想,研究大数据,首先要破除迷信:大数据需要什么条件、什么问题是大数据无法做到的。

    1、知识和信息,只能从关联关系中得到

    对象(包括过程,如生产过程、购物过程)及其属性、同一对象的属性之间具备关联关系。例如,“张三身高1.8米”就是对象(张三)与属性(身高)的关联;再如,如果我们知道张三体重75公斤,则“1.8米”和“75公斤”之间就因“张三”建立了关联。

    关联的对象可能并不确定:我们看到一张履历表,即便隐去名字、不知道这个人是谁,也知道其中的各种信息是与某人关联的。

    在数字化的世界里,不和其他的符号(数字)关联的符号(数字)是不包含任何信息的。从不包含信息的素材,得不到包含信息的结论。

    有人可能反对这个观点:谷歌曾经用“感冒”的搜索量预报流感啊,这里哪有关联呢?其实,只有搜索“感冒”的数量是根本无法预测流感的。谷歌的做法,是把“感冒”的搜索与搜索的地点、时间联系起来。

    这个观点告诉我们:收集数据的时候,要尽可能地把关联关系建立起来;没有关联关系,数据很容易成为垃圾。这种情况并不少见:有些实验室,把针对同一试样的各项实验结果分别保存起来,而没有建立统一的ID、关联关系丢失。这样的数据,再多也没有用处。

    2、人们要挖掘的知识和信息,就是找映射关系

    知识(或信息)的发现与挖掘,其本质是寻找映射关系:通过已知的、对象的一部分属性,把对象的另外一部分属性或对象本身找出来(或缩小范围)。产生这类问题的原因是:只有一部分属性已知、容易得到、容易识别、容易表述,而另外一部分未知、不容易得到、不容易识别、不容易描述。

    例如,我们可以说:张三就是那个穿红衣服的——这里“穿红衣服”比其他特征容易识别。从衣服识别出张三,就是从张三的衣着特征(属性)找到关联对象(张三)的信息;从一个人的身高预估他的体重,就是从一个根据一类属性估计另外一类属性。

    我习惯于把信息挖掘和知识发现分开。

    在本文中,信息挖掘指的是预测某个特定对象的属性,如上海市的人口是多少;知识发现是确定一类对象的属性之间的关系,如一类人群中身高和体重的关系。当然,这种区分不是绝对的。

    3、映射关系的差别

    正确的识别,最好的办法是找到好的素材(数据)。素材与结果之间的关联强度是不一样的:有的比较强,是因果关系、必然联系;有的比较弱,是相关关系、偶然联系。

    例如,我们可以根据DNA、相貌、衣服来识别一个人。但三者相比,DNA的联系是强的必然性联系、衣服是弱的偶然性联系,相貌是介于两者之间的联系。大数据的一个著名案例,是网站根据客户买的药判断她已怀孕、并推送有关产品:因为这种药只有孕妇才吃,是很强的关联。

    从数据得到的知识和信息,往往不是绝对正确。一般来说,可靠的结论基于可靠的数据和可靠的分析方法。数据量大了以后,滤除干扰的可能性增大,从而可以从原来可靠度低的数据中,得到可靠性相对较高的数据。

    所以,尽量找到好的素材,是做好分析的第一步。

    在很多情况下,我们找不到好的素材。这时,首先要做的尽量提高数据质量。数据质量不仅是精度问题,还包括数据来源的可靠性:为此,需要把数据来源的相关过程要搞清楚,否则很可能会误导人的分析。

    4、相关与因果

    有些相关性的背后,一般会有因果关系存在。两个要素由因果产生关联的机制大概可以分成两类:1、两个要素具有因果的关系:比如刚做父亲的青年人常会买尿布;2、共同原因导致的两个结果之间的关系:比如孩子的父亲会常买啤酒,也常买尿布;于是,啤酒和尿布就可能关联起来。

    有些相关性,看似没有因果,但背后往往有某些特殊的规律或因素其作用(上述第二种情况)。比如,女孩子往往喜欢花衣服,与基因和文化的共性有关。但这种因果关系可能相隔太远,以至于难以考证了。

    当人们需要根据关系作出决策时,需要研究因果的逻辑关系:到底是谁影响了谁。否则,根据分析结构的盲目行为可能适得其反。 “到底谁影响了谁”为什么会成为问题?大概有两类原因:

    第一类原因是:忽视了时间因素。如“统计结果表明,练太极拳的身体差”。现实却是:很多人身体变差(包括衰老)以后,才练太极拳。一般来说,具有因果关系的两个要素之间,时间上有前后关系:原因早前,结果在后。

    第二类原因是:忽视了前导因素。“公鸡一叫,天就亮了”。现实却是,天量之前的迹象被公鸡察觉到了。两者是第二种因果关系,只是看似“原因在后、结果在前”了。

    一般来说,工业大数据分析更重视因果,而商务大数据分析对因果性的要求较弱。

    5、数据分析的先导因素

    从某种意义上说,数据分析的过程,就是寻找强的相关关系(必然性、因果性),或对弱的相关关系进行综合、得到强的相关关系。

    用数据发现信息,需要用到各种知识。例如,把“云南白药是用于治疗外伤的”放入计算机,当某人购买白药的行为判断他或家人可能受伤,从而可以推荐相关产品。但注意到:这种类型的知识很可能是被人事先装入计算机的,而不是靠计算机自动学习得到的。

    所有的学习过程,本质上都是基于这样一种假设:A和B的一部分属性类似,则推测另一部分属性也应该类似。例如,A和B的身高相似,则体重也可能相似。现实中,两个属性确实具有强烈的相关性,但身高相同而体重不同的也大有人在。这时,如果我们还知道他的体型,是瘦弱、偏瘦、正常、偏胖、肥胖型,对体重的估计就可以准确一些。由此可见,用数据发现知识的过程,本质上就是提高相关性、可靠性的过程。

    一般来说,人们在做数据分析之前,一定会有一定的知识积淀, 但认识不清却是一种常态;人们希望通过对数据的分析,来改变这种常态。而改变认识的过程依赖于数据的质量和分析数据的方法。所以,刨除分析方法外,分析过程依赖于两个先导性因素:1、数据质量(包含多方面的含义)如何;人们已有的认识如何。

    注意,这段说法有个潜台词:强调了人类可认识的知识,而不是机器用复杂函数关系表述的、人类难以用逻辑关系认知的知识(如神经元)。的确如此,笔者一直认为:这类方法的作用被学术界有意识地夸大了。

    6、数据分析的过程

    与商业大数据相比,工业大数据更重视可靠性和精确性。在很多情况下,猜出一个结论并不难,难的是论证一个结论。一般来说,凡是可靠的知识,都应该能够被机理和数据双重认证。

    大数据分析的一个重要特征是:传统概率理论的假设往往不成立。例如:大数定理的条件往往不成立、模型的结构往往未知、因果关系不是天然清晰、自变量的误差往往不能忽略、数据分布往往是没有规律的。所以,为了得到可靠的结果,人们工作的重点很可能是验证这些条件、构造这些条件。从某种意义上说,数据分析的过程,主要是排除干扰的过程、特别是排除系统干扰的过程。而且,如果完全依照逻辑、用纯粹数学的办法加以论证,则数据需求量会遭遇“组合爆炸”,永远是不够的。这时,已有的领域知识就是降低数据需求量的一种手段。要记住:求得可靠性是一个过程而不是结果、可能永远没有终点;分析的过程只是不断增加证据而已。这个过程,是修正人的认识的过程;所以,错误或不恰当的认识常常是分析过程中最大的干扰——这个干扰一旦去除,我们可能就发现了真正的知识。

    数据量大的直接好处,是排除随机性干扰。但排除系统性干扰却不那么容易,数据量大是必要条件但不充分,需要深入的方法研究才能解决问题。

    系统性的干扰往往体现在:对主体进行分组,所体现的规律是不同的。比如,身高和体重的统计关系,男女是不同的、不同民族是有差异的、可能与年龄有关。如果不进行分类研究,统计的结果就会与样本的选取有很大关系。但分类研究也会遇到一个困难:遭遇组合爆炸,数据再多都不够用。这时,“领域知识”就会发生作用:

    认定一个结论成立的办法,是确认它的“可重复性”。在许多情况下,“可重复性”指的是在各种分组下都成立的结论:最好能在不同时间分组中也能成立。分组越多、分组的维度越多、结论的可靠性越高。

    但具有“可重复性”的结论,往往只在一定的范围内成立。在很多情况下,“明确结论成立的范围”也是数据分析的重要内容。

    如何分组、如何确定范围、如何构筑逻辑链条、数据结果的解读、数据结果与领域知识的融合,都是重要的能力。事实上,根据领域知识,常常用于构造证据链、进行有效的数据选取和分组。

    在精密论证时,我们就会发现:基础数据的质量很重要。因为许多干扰就来源于数据本身。从某种意义上说,数据的采集方法和环境不同,就是不同的数据。

    在构建数据分析体系的过程中,也会发现,企业经营的数据分析也确实需要一个可展示的平台,实时展示业务,有问题就优化更新。

    FineReport 数据决策系统

    7、关于预测数字

    许多问题分析的目的得到一个数字:如钢的强度、用电量、人口数量、钢产量。这类问题的特点之一是:最终的结果是各种影响因素相加得到的。

    对于这种问题,我的观点是:要想得到可靠的结果,一定要拆成若干子问题来分析。其中,各个子问题要尽可能利用规律性的结果来分析。我认为:把人的认识和数据用到极致的时候,才能得到最好的结果。随便地建立回归模型是不懂数据的表现。

大数据分析步骤

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP