从数据运营到数据变现,TalkingData证券行业实战分享研讨会在深圳召开

2018年7月11日下午, TalkingData在深圳举行了证券行业数据运营实战研讨会,华南地区证券行业的科技部门与网络金融部门的相关负责人参加了本次研讨会,参会者覆盖了华南地区90%以上的证券公司。此次会议以“数据运营实战分享”为主题,探讨了数据场景变现的整体思路,从业务运营指标建设、数据场景变现、精准营销案例、大数据和人工智能应用等方面,面向证券行业用户介绍行业成熟案例和解决方案。

TalkingData从多年的证券行业实战角度出发,认为证券行业的数据运营要升级现有的思路,从客户视角转向用户视角,从获客发展转向存量经营,从产品关注转向用户关注,从投资通道转向财富管理。通过养数据、看数据、用数据的方式,打通内外部数据和行为数据,实现数据资产的统一视图。通过业务运营指标体系建设,帮助证券公司关注用户转化旅程、提升运营效率、降低运营成本、发现数据变现的机会。建设数字营销闭环缩短用户转化旅程,提升客户活跃度和客户价值。

MarkdownTalkingData高级副总裁 支宝才

TalkingData高级副总裁支宝才出席了本次会议。他在开场演讲中指出,现阶段是证券行业实现业务转型的关键时间点。中国证券行业已经完成了体系、指标的建设,在今天,大家更关注如何通过数据运营获得实际的业务收入。随着客户互联网使用习惯的改变,未来的获客、经营、资产提升、业务收益都将更多地转向移动互联网平台,领先的券商已经把移动互联网变成客户运营的主战场。

Markdown国海证券的数据运营专家 蒋愉

作为第一个重量级嘉宾,国海证券的数据运营专家蒋愉分享了国海证券建设指标体系的历程。通过证券行业指标体系的建立和分析来发现业务问题背后原因,根据数据分析结果制定运营策略,建立数据监测优化的闭环式模型,帮助国海证券实现从短期KPI实现到长期目标达成,再到数字化战略部署的提升。蒋愉表示,国海证券的数据化运营分为三个阶段:即探索、实践和精细化运营,而数据指标体系及平台的搭建是从实践到精细化运营阶段的重要基石,其可以帮助证券公司实现从指标洞察到运营优化提升。

国海证券与TalkingData合作搭建的指标系统投入生产之后,其使用率达到了80%以上,有效地帮助产品、运营各线完成了数字化运营的策略制定到落地实施。蒋愉指出,在推进该平台的使用过程中,国海证券通过OKR指标分解和领导层驱动提升了用户使用指标体系平台的频率,通过数据人员对指标价值的案例梳理和演示让大家进一步理解指标价值和应用方法,并通过收集客户需求及敏捷迭代提升了用户体验。

MarkdownTalkingData证券行业咨询总监 赵博

TalkingData证券行业咨询总监赵博从多年证券行业数据运营实战角度,分享了证券行业数字化运营体系建设的思路和案例,主要覆盖券商互联网转型、数据化运营体系建设思路、数据智能平台三大方面。赵博认为证券行业流量已趋于饱和,大型券商仍在跑马圈地布局年轻人群;中小型券商急于在同质化的服务中寻求自己的差异,投资者教育会是新的流量来源。市场上逐渐出现了产品、功能、内容满足客户所有需求的产品,行业垄断态势逐步显现。通过运营平台的建设完成精准服务、提升客户粘性成为未来主旋律。

赵博提出,指标体系是指导运营的底盘,应从指标体系中挖掘用户动向、探索运营场景,并反馈回指标体系持续监控形成业务闭环。有效的指标体系能够连接前端互联网行为数据和后端商业需求,数据运营是全局概念,是数据、运营、产品、推广等部门的多方协作,是一个全策全力的作战体系。证券公司需要建立数据运营和营销中台、以客户为中心进行数据化运营,具备同互联网企业一致的数据运营能力,将流失预测模型与客户体系分类有机结合,使数据和营销产生联动,让营销结果最大化。 Markdown广发证券大数据总监 王永强博士

华南地区领先的证券公司广发证券出席了本次研讨会。广发证券大数据总监王永强博士以“大数据和人工智能助力证券业务创新”为主题,结合自身互联网巨头和证券行业的从业经验,分享了人工智能和大数据发展趋势和广发证券的实践。 王永强博士指出,人工智能在国外的券商业务中已经有典型的应用场景,并从智能证券业务、智能监管以及数据化运营三方面显示了其巨大的价值和潜力。广发证券通过建立数字化平台和大数据平台,展开不同维度的数据分析和与模型分析,利用用户画像和指标分析来完善客户综合体系评估,实现公司的数字化运营能力的提升。最后王永强博士从损益、诊断、风控等多个方面介绍了广发证券在大数据和人工智能方向的探索。

MarkdownTalkingData高级产品总监 刘彬

在接下来的分享中,TalkingData高级产品总监刘彬指出数字化运营已经成为现今互联网业务或偏向互联网业务的核心方法论。现有交易类APP已无法满足O2O的传播和时效性,证券行业数据体量的消化能力、数字化处理能力都亟待提升, 未来需要从用户概念、场景(情景)感知、营销及归因、分析诊断四大方向着手,通过数据的驱动做到自动化业务的闭环。刘彬表示TalkingData的AE系列产品和数字营销闭环平台是为证券行业数据运营开发设计,可以作为证券行业的数据运营和营销的中台,洞察用户行为,优化产品功能,建立营销场景,分析营销活动的ROI,迭代营销方案,实现数据营销闭环。利用数据和模型进行数据试验,不断尝试、试错、总结、学习,最后完成精细化运营。

MarkdownTalkingData首席布道师 鲍忠铁

会议的主持人TalkingData首席布道师鲍忠铁则在分享中强调了数据增长对于企业的重要意义,他提出了证券行业数据增长的组织建设、工具建设、体系建设、数据增长营销平台建设的方法和建议,并总结了证券行业数据增长的八条经验:

  • 数据增长是个系统工程,必须所有团队参与,领导全力支持;
  • 产品是数据增长的基础,产品优化是数据增长首要任务;
  • 多次数据实验才可以形成标准营销方案,经验需要延续;
  • 电商的五次曝光理论仍然成立,单个用户的营销推送不要超过5次/天;
  • 初次数据实验的成功率在三分之一,转化率为1%是一个可以接受的结果;
  • 场景(事件)营销的转化率最高,业务规则和模型应用同样重要;
  • 指标建设是数据增长的基础工作,指标分析的目的 是from insight to action;
  • 营销中台是数据增长和提高产能的有效工具,建立自我强化的闭环。

研讨会上设置了问答环节,证券行业的同仁积极向演讲嘉宾提出疑问、进行互动,深入讨论了证券行业数据运营中的实际困难和解决方法。TalkingData今后也将继续举办此类活动,分享行业实战经验,与企业共同探索、携手成长。

Markdown

简明数据科学 第五部分:多元回归模型

Markdown

作者:张永超

上一节中,我们讨论了费尔南多的故事,一个数据科学家想买一辆车,于是他构造了一个车辆的价格和发动机大小的简单的回归模型来预测。

Markdown

费尔南多创建的回归模型预测了基于发动机大小的车辆价格。仅使用一个自变量来预测因变量的模型。

该简单的线性回归模型可以被表示为:

price = β0 + β1 x engine size

Markdown

按照最终的模型结果,车辆的价格可以被简单预估为:

price = -6870.1 + 156.9 x engine size

该模型从两方便进行评估:

  • 健壮性 – 使用假设检验
  • 准确度 – 使用确定系数例如R平方检验
  • 回想一下,R平方的度量解释了模型预测值与真实值之间的平均方差分数,位于[0,1]之间,越高的分值表示该模型能够更好的解释方差。而费尔南多的模型最终的到的R平方为0.7503,也就是在训练集上得到75.3%的分值,预示着该模型可以解释超过75%的变化。

然而,费尔南多想要更好的结果。

他考虑到: 如果我可以用更多的数据来送给模型?它会提高准确性吗? 于是,费尔南多决定通过给模型提供更多的输入数据,即更多的自变量来增强模型。他现在进入了多变量回归模型的世界。

基本概念 线性回归模型提供了一个监督学习的简单方法,其简单但是有效。

回想一下,线性意味着如下的含义:数据点几乎排列在一条直线或者近乎直线的附近,并一直延伸。线性表明,自变量和因变量之间的关系可以用直线来表示。

直线的方程式是y = mx + c,其中一维是y轴,另一维是x轴,可以在二维平面上绘制出来:

Markdown

如果将这种关系进行泛化,则得到:

y = f(x)

其意思是:将y定义为x的函数。例如将自变量定义为独立变量的函数。

如果因变量需要用一个以上的自变量来表示呢?广义函数变为:

y = f(x, z)

即将y定义为一些函数或者组合多个参数的函数。

此时便是三维的了,包含x轴、y轴、z轴,绘制出来类似下图:

Markdown

现在,我们有多个维度,我们需要将y定义为组合x和z的函数。

对于简单线性回归模型来说,直线表示y是x的函数,现在我们有一个额外的维度z,如果将z附加二维平面会发生什么呢?它会变成一个平面。

Markdown

该平面是将y表示为x和z的函数。推断线性回归方程,可以表示为:

  • y = m1.x + m2.z+ c
  • y是因变量,即需要评估和预测的变量
  • x是第一个自变量,即可控的变量,也是第一个输入
  • m1是x的斜率,决定了线x的倾斜角度
  • z是第二个自变量,即可控的变量,是第二个输入
  • m2是z的斜率,决定了线z的倾斜角度
  • c是截距,当x和z为0时确定y值的常数 这是多元线性回归模型的起源,有多个输入变量用于估计目标,具有两个输入变量的模型可以表示为:

y = β0 + β1.x1 + β2.x2 + β3.x3

多变量回归模型的广义方程可以是:

y = β0 + β1.x1 + β2.x2 +….. + βn.xn

模型构建

现在熟悉多元线性回归模型的概念,让我们回到费尔南多。

费尔南多向他的朋友伸出更多的数据,他要求他提供有关汽车其他特性的更多数据。

Markdown

以下是他已有的数据点:

  • make: 车辆品牌
  • fuelType:所使用的动力燃料
  • nDoor:车门数量
  • engineSize:发动机大小(马力)
  • price:最终的价格
  • 他有拿到了一些新的数据点:
  • horsePower:马力
  • peakRPM:最大功率输出时的转速
  • length:车辆长度
  • width:车辆宽度
  • height:车辆高度 费尔南多现在想建立一个模型,根据附加数据点预测价格。

他制定的多元回归模型是: 根据engineSize、horsePower、peakRPM、length、width和height估算价格。

定义的函数形如:price = f(engine size, horse power, peak RPM, length, width, height)

代入多元线性方程为:price = β0 + β1. engine size + β2.horse power + β3. peak RPM + β4.length+ β5.width + β6.height

费尔南多将这些数据输入到软件统计包中,来计算和预测相关的参数,最终得到如下的结果:

Markdown

多元线性回归模型为价格估算提供以下等式:

price = -85090 + 102.85 engineSize + 43.79 horse power + 1.52 peak RPM – 37.91 length + 908.12 width + 364.33 height

模型解读

多变量模型的解释提供了每个独立变量对因变量(目标)的影响。

上述等式提供了对价格平均值的估计。每个系数的解释与所有其他预测因子保持不变。

Engine Size:如果发动机尺寸增加一个单位,则平均价格将增加102.85美元。 Horse Power: 如果马力增加一个单位,平均价格增加43.79美元。 Peak RPM:如果Peak RPM增加一个单位,平均价格增加1.52美元。 Length:如果长度增加一个单位,则平均价格下降37.91美元(长度具有-ve系数)。 Width:如果宽度增加一个单位,平均价格增加908.12美元。 Height:如果高度增加一个单位,则平均价格增加364.33美元 模型评估 该模型已建成。它被解释。所有的系数都很重要吗?哪些更重要?模型解释多少变化?

Markdown

回想关于t-stat,p值和决定系数的定义的讨论。这些概念也适用于多元回归模型。该模型的评估如下: coefficients:所有系数都大于零。这意味着所有变量对平均价格都有影响。

t-value: 除长度外,所有系数的t-value均显着高于零。对于长度来说,t-stat是-0.70。这意味着汽车的长度可能不会影响平均价格。

p-value: 除长度之外,其他变量的p值的概率非常低。长度的p值是0.4854。这意味着观察到的t-stat偶然的概率是48.54%。这个数字相当高。

回想一下关于R平方如何帮助解释模型变化的讨论。当更多变量添加到模型中时,R平方不会减小,它只会增加。但是,必须有一个平衡。经过调整的R平方努力保持这种平衡。调整后的R平方是R平方的修改版本,它已根据模型中预测变量的数量进行了调整。调整的R平方补偿变量的增加,并且只有在新术语增强模型时才增加。

调整后的R-squared:R平方值是0.811。这意味着该模型可以解释训练数据中81.1%的变化。这比以前的型号(75.03%)要好。 结语 费尔南多现在有更好的模型。但是,他感到困惑。他知道汽车的长度不会影响价格。

他想知道: 如何选择模型构建的最佳变量集?有什么方法可以选择最佳的变量子集吗?

下一节,我们将讨论变量选择方法。

相关阅读:

相关阅读:

简明数据科学 第一部分:原则与过程

简明数据科学 第二部分:统计学习的关键概念

简明数据科学 第三部分:假设检验

简明数据科学 第四部分:简单线性回归模型

数字化场景助力区域银行客户经营

Markdown

作者:TalkingData 韩娟

互联网金融的崛起,使得客户金融交易途径不再受制于网点、ATM、POS机刷卡等传统渠道。头部各大行纷纷从坐等客户上门,转向主动围绕客户生活、工作、出行等方面挖掘金融服务需求,投入大量资源、人力、成本构建了外场到内场的客户经营生态场景。

对区域银行来说,随着息差收窄、监管趋严、金融科技跨界渗透,迫于生存转型需求更加迫切。但受制于资产规模、业务区域化、资源能力等因素,一来无法像大行一样构建全面的客户经营生态圈,二来如按照大行的客户经营建设路径,必须花费大量精力去解决面临的实际问题:

  • 数据质量:相比大行而言,业务数据缺失和口径不一致等问题较为严重,而且在业务办理时,有些数据没有获取来源,质量提升没有着力点;
  • 工具能力:虽然陆续建立了大数据中心、AI研究中心等,但普遍缺乏对先进技术的理解和搭建经验,需要匹配大量专业人士和借鉴行业经验;
  • 生态场景:区域银行根植当地,熟悉区域经济环境,与当地各机构的优先合作是其优势,但如何在可控成本下找到最优的合作机构是各区域银行头疼的事情。很多城商行和农商行在自己的生态圈内有很多同质的合作机构,如本地同等规模的商超,但迫于市场费用有限以及没有有效衡量投入产出的标准,只能凭经验一家一家试错;线上场景和流量基本被BATJ互联网巨头抢占,互联网巨头为了获取价值高的客群更愿意与大行合作,留给区域银行的操作空间较少,而且对比大行需要付出更高的成本。

因此,客户经营转型中,如何利用自身有限的资源,在可衡量效果的情况下撬动较大的客户市场,是区域银行迫切需要解决问题。那么,区域银行要以较小的成本解决该问题势必要借助外部金融科技力量,同时需要精准地回答四大问题:寻找哪些目标客群?在什么场所寻找?精准匹配什么服务?在什么交互触点下提供服务且保证服务效果?

回答这些问题离不开工具及数据能力的建设和运营方式的沉淀。而数字化场景正是基于专业的工具能力,将客户、产品和交互触点进行量化,快速且轻量投入的应对以上四大问题,构建有效的客户经营路径,在成本可控情况下精准挖掘金融服务场景,真正意义上解决了区域银行当前的痛点。

如何数字化场景

数字化场景是对场景化营销的有效量化,利用数据和工具精准识别场景中的目标客群、产品/服务、触达渠道和服务策略。

Markdown

区域银行想赢得客户和未来市场,更需要将有限的资源集中在其优势区域,这与各城商行、农商行的区域金融服务定位相一致。要达成此目标,就必须深入了解和精准识别客户的金融需求场景,充分重视和利用交互行为数据。在以往的案例中,通过复购行为挖掘业务场景,对复购客群精准的短信资讯推送,留存率提升在30%以上。

No.1 行为数据助力线上客群、产品和触点差异化识别

随着客户交易行为线上转移,很多业务不在柜台面对面办理,无法第一时间知晓客户需求和体验。所以,“三端一微”的移动端行为数据便代表了其产品和体验的核心竞争力。行为端数据包含客户交易前、交易中和交易后的浏览和点击行为,可通过页面和事件埋点进行采集分析。

然而,对于区域银行,因面临客户群体偏老龄的问题,对移动端渠道不敏感,天然认为线上用户量较少,但实际是线上用户量可观。原因在于实际老龄客群会由客户经理帮助做线上操作,而剩余部分才是真正线上用户。在某一实际案例中,在对手机银行用户行为数据分析时,发现活跃客群中有将近50%的行为信息是由客户经理操作,且客群年纪偏大。因此,线上行为数据的分析可按照两类客群进行。

真正线上用户,是区域银行未来的潜力客群,对其金融需求和用户体验的了解,依赖于线上渠道的行为数据。通过使用APP中点击按钮和浏览页面数据,并通过时间、渠道、交易方式、地理位置等维度分析,可真实反映客户偏好哪些产品、哪些活动、哪些优惠措施、以及线上触点时间和触发事件等。

例如,可以通过分析APP的点击热力图、留存时间、打开次数等行为数据,来了解客户偏好功能和偏好程度,可做前置性服务预测。如历史有购买理财产品、近期多次浏览过理财购买页面的客群,可作为理财产品售卖的Top1的潜在转化人群。在某一城商行案例中,该类客户成为新理财客群的实际转化率在30%左右。通过分析客户访问频次、访问时段、访问事件、交易频次、交易周期,交易业务类型、参与活动类型,明确客户与移动端渠道的固有交互触点,形成线上客群的产品/服务层级、交互触点细粒度以及触发策略。如:在中午12:00-13:30推送短信活动信息或者APP内活动信息,比上午9:00-10:00期间推送的有效触达率提高一倍。此外,地理位置分布统计,能够较为精准地知道已有客群在分/支行网点的周边分布情况,从而对于各分/支行特色的产品/服务可以直接推送APP内消息、短信触达或引流至线下场所。

对于代操作客群,本身不是移动端敏感客户,主要对其偏好办理的业务品类和交互触点规则进行分析,从客户经理代操作的周期、频次、业务类型,对该群体进行产品/服务分级和交互触点(网点位置、到访时间、办理业务类型)预判。如新上线一款理财产品,希望在网点做活动售卖,可以根据客群的经常办理业务类型、网点位置、到访时间进行活动位置和时间设计,活动触达客户群体数量可以提高1~2倍。

基于行为数据分析的公认价值,是针对产品迭代和用户体验提升。对区域银行而言,受制于产品同质性化、业务流程合规性,可撬动资源有限,无法像大行和互联网巨头一样以多样性、收益高、效率快作为竞争优势。所以,与交易数据相比,有些弱相关关系的行为数据的作用更多在于,帮助线上/线下渠道进行客群分层前置性服务趋势判断。

当然,了解真正线上用户的客户体验和产品差异性偏好同样具有重要意义,是区域银行为未来潜客更好提供服务的基础衡量标准,必须要重视起来。

No. 2 发力线下优势精准挖掘线下渠道场景和交互触点

区域银行优势在于覆盖地方区域,且网点分布较多,尤其是乡镇地区布点广泛。区域银行大量客群居于线下,那么线下客群如何洞察?合作资源如何有效选择?交互触点有哪些不同?回答了这些问题就能解决如:区域银行信用卡冷启动发卡,即使是虚拟卡发行,最有效的触达方式依然是线下MGM活动方式,但投入了大量的成本和资源,该如何选择活动区域、如何设计活动激励措施、什么时段开展、怎么定位客群、后续转化如何监测等问题。

  • 线下客群洞察

可以采用特定区域地理围栏、入口处安装WiFi探针、人脸识别设备等方式采集线下客群数据,将线下客群行为数据化:如明确定义出何时到访、办理何种业务、出入频次、参与线下活动类型、生活消费需求触点等。结合一方交易数据,基于产品/服务偏好、常出入场所、喜欢的触点渠道和营销激励,形成线下to线上经营的闭环路径。

如某农商行的真实案例中,利用所覆盖区域市民的公交出行普遍需求,在其手机银行端上线了优惠出行的服务产品:通过APP端电子公交卡支付公交车费,可享受大力度额优惠,同时还配有抽红包等活动,这次活动在3个月左右时间将手机银行用户量从30W左右增加到60W。这就是一个很好的结合线下人群出行需求洞察+线上支付+区域资源的场景,场景定位好后并没有用特别高大上的启动营销活动,而是由客户经理到公交站派发产品宣传单。所以,线下客群洞察能够支撑丰富并量化场景定义中交互触点,例如购买线上流量、出行服务、教育缴费等触点,并可以通过客群画像量化哪些触点优先有效。

  • 线下合作场选择

通过对各网点、合作商场、商户、超市、覆盖社区、学校等场所的客流行为轨迹、客流画像、网点交叉区域、周边配套设施(如社区类型、交通枢纽等)、竞品情况等进行量化打分,同时结合历史线下营销活动类型、效果信息,给出各合作机构的选择画像(如下),进而对后续营销活动选择区域、预估目标客群、营销产品匹配提供衡量标准。

Markdown

Markdown

真实的活动场景中,区域银行往往是活动举办完成后,才能发现A商场比B商场带来的客户转化高,其实完全可以基于已成熟的算法工具(如上),输入要合作商场位置和历史活动信息,输出评分值和洞察画像,预测投入产出效果和转化客户群体目标数量,一方面指导活动目标设计;另一方面在落地合作场所选择上提供有力的依据。

No.3 线上线下数据链路建立数字化场景运营体系

通过线上、线下行为数据和业务数据的打通,进行数字化场景的定义。定义场景中,业务侧数据主要定义客群特征和业务周期、产品/服务差异匹配;行为侧数据则为交互触点定义提供依据,如:固定缴费行为、触发活动事件(生日事件、开学事件、社保缴纳等)、常出入场所等。

定义过程可参考如下示例,对区域银行中等资产的中年人群:基础金融服务(消费支付、缴费、转账、短期储蓄等),以线上渠道为主,结合线下活动触发辅助;中端金融服务以线下事件触发为主,转线上服务。

Markdown

但要真正实现数字化场景构建,离不开工具搭建和数据能力补充,需要有支撑线上、线下行为数据获取分析、与业务数据打通、客群视角场景定义、合作场选择、转化活动事件效果跟踪等的平台工具和经营体系。如下所示:通过搭建线上/线下数据采集、分析和效果跟踪工具,构建客群场景化经营体系,实现手机银行APP客群+线下网点接触+线下活动转化的经营场景路径。

Markdown

No.4 区域银行该如何做?

通俗的讲,建立数字化场景运营体系首先是采集到用来量化场景的数据,其次是将各类数据串连起来构建有用的场景,最后是对场景落地效果进行监测和迭代。整体建设路径可以分两部分进行。

一是线上/线下运营平台并行建立:实现产品、客群、交互触点的行为量化数据采集和运营体系的建立。

TalkingData移动统计分析平台,采用SDK方式实现对手机银行、直销银行、微信银行等线上平台从访客、到用户再到客户的全行为周期交互数据的采集和分析,同时嵌入3A3R的互联网运营指标衡量体系和场景洞察方式。实现从行为数据侧识别场景,沉淀量化运营指标。

区域银行传统经营区域更接近客群,地域性情感认同更高,对线下运营需求高,通过客流运营平台/智选搭建,对到网点客流的人本行为交互数据进行采集,实现对线下网点运营能力的监测、合作场所洞察选择和客群线下交互触点的捕捉量化能力。

二是线上与线下链路打通,搭建场景定义和落地效果监测工具,并建立行之有效的运营体系。

以设备TDID+客户标识ID作为打通线上/线下业务和行为交互数据的关联纽带,形成全渠道视角的用户运营平台,利用标签的形式有效地给场景定义提供了量化的客群构建、产品/服务匹配和触点结合。

区域银行客群体量与大行相比差距并不大,以大体量农信来说,线上客群可以高达600W左右。为了基于定义的场景快速的落地获客/活客,应搭建营销闭环平台,从业务视角实现各类活动流程可视化设计、活动目标设定、多活动并行实施、活动效果监测和迭代。

此外,基于多年的行业经验,TalkingData已有成熟的客户经营闭环体系,能够帮助团队快速搭建运营体系,形成客户构建-场景定义-活动设计-效果跟踪迭代的场景落地路径。

总体而言,区域银行不适合模仿大行或互联网巨头砸重金挖掘场景,也不适合简单模仿较好区域银行的场景,而是应该结合其区域化的金融服务优势和客群特征,以数据驱动和工具利用构建有效的、差异化的线上线下融合场景,做好区域客户经营,提升业务目标。希望通过本文的分享能够给大家提供一些解决问题的思路。

推荐阅读:

券商转型互联网财富管理的三大核心方向

智慧商业,数据之选

证券行业移动App行为数据研究的商业价值

Markdown

简明数据科学 第四部分:简单线性回归模型

作者:TalkingData 张永超

在此系列之前的文章(见文末)中,已经讨论了关于统计学习的关键概念和假设验证相关内容。在本篇内容中,将进入线性回归模型的讨论。

在开始之前,回顾一下之前统计学习中比较重要的几个关键点:

自变量和因变量:

在统计学习的背景下,有两种类型的数据:

  • 自变量:可以直接控制的数据。
  • 因变量:无法直接控制的数据。

无法控制的数据,即因变量需要预测或估计。

模型:

模型本质上就是一个转换引擎,主要的作用就是找到自变量和因变量之间的关系函数。

参数:

参数是添加到模型中用于估计输出的一部分。

基本概念

线性回归模型提供了一个监督学习的简单方法。它们简单而有效。

但是,到底什么是线性

线性意味着:数据点排列在或者沿着一条直线或者接近直线的线排列。线性表明,因变量和自变量之间的关系可以用直接表示。

回顾高中时的数学课程,一条直线的方程式是什么呢?

y = mx + c

线性回归只不过是这个简单方程的表现。

上述公式中:

  • y是因变量,是需要估计或者预测的变量
  • x是自变量,是可控的变量,在这里属于输入变量
  • m是斜率,体现了直线的倾斜程度,一般使用符号β表示
  • c是截距,当x为0时,确定y值的一个常数

线性回归模型并不是完美的,它试图以直接来逼近自变量和因变量之间的关系。而近似总会导致错误,并且一些错误是无法避免的,是问题性质本身所固有的,这些错误无法消除,称之为不可简化的错误,真正的关系中,总是具有一定的噪声项,并且是任何模型无法减少的。

上述直接公式因此可以重写为:

Markdown

  • β0和β1是代表截距和斜率的两个未知常数。他们是参数。
  • ε是误差项。

简述

下面通过一个例子来说明线性回归模型的术语和工作原理。

费尔南多是一名数据科学家,他想要买一辆车。他想估计或者预测他最终必须支付的汽车价格。正好他有一个朋友在一家汽车经销商上班,费尔南多向这位朋友咨询了各种其他汽车的价格以及汽车的一些特点,他的朋友向他提供了如下的一些信息:

Markdown

  • make: 车辆品牌
  • fuelType:所使用的动力燃料
  • nDoor:车门数量
  • engineSize:发动机大小(马力)
  • price:最终的价格

首先,费尔南多希望评估他是否可以根据发动机大小预测汽车价格。第一组分析旨在回答以下问题:

  • 汽车价格与发动机大小有关吗?
  • 这种关系有多强?
  • 关系是线性的吗?
  • 我们可以根据发动机大小预测/估算汽车价格吗?

费尔南多进行了相关分析,相关性是衡量两个变量相关的程度。它是通过称为相关系的度量来衡量的,值在0和1之间。

如果相关系数是一个较大的数,例如 0.7 以上的数,则意味着随着一个变量的增加,另一个变量也会增加。也就说,相关系数体现了变量间“同向变化”情况。

费尔南多做了一些相关性的分析,绘制出了价格与发动机大小之间的关系。

他将数据集分割成了训练和测试两部分,其中75%的数据作为训练使用,剩下的作为测试来用。

他使用了一些统计性软件包构建了一个线性回归模型,该模型本身找到了汽车的价格和发动机大小间的关系,由此创建了一个线性方程。

Markdown

有了这个模型之后,就可以回答费尔南多想了解的几个问题了:

  • 汽车价格与发动机大小有关吗?
  • 是的,它们之间是有关系的。
  • 这种关系有多强?
  • 它们间的相关系数为0.872。是一种很强的关系。
  • 关系是线性的吗?
  • 存在一条直线可以拟合。一个良好的价格预测可以由发动机大小来决定。
  • 我们可以根据发动机大小预测/估算汽车价格吗?
  • 可以。

对于价格和发动机大小的关系显而易见,其实这个模型的最终表达式也很简单,如下:

price = β0 + β1 x engine size

模型构建与解释

模型

在上述内容中,原始数据集按照一定的比例进行了分割,产生训练集和测试集两大部分,训练集被用于学习或者找规律,最终创建模型,测试集被用于评估模型的性能。

费尔南多将数据集分割成了训练和测试两部分,其中75%的数据作为训练使用,剩下的作为测试来用。他使用了一些统计性软件包构建了一个线性回归模型,该模型本身找到了汽车的价格和发动机大小间的关系,由此创建了一个线性方程。

Markdown

通过从训练数据集上进行学习训练,费尔南多得到了如下的一些结果:

Markdown

对于最终的模型来说,其估计参数值为:

  • β0:-6870.1
  • β1:156.9

从而得到线性方程为:

price = -6870.1 + 156.9 x engine size

解释

Markdown

该模型最终提供了在特定发动机大小的情况下预测汽车平均价格的方程式,也就意味着:

发动机的大小增加一个单位,将使得汽车的平均价格提高156.9个单位。

评估

模型创建好了,但是模型的稳健性还需要评估。我们如何确定该模型能够预测令人满意的价格?这项评估分两部分完成。首先,测试模型的鲁棒性。其次,评估模型的准确性。

费尔南多首先在训练数据上评估模型,他得到了如下的统计数据:

Markdown

有很多的统计数据,当前仅关注红色框标注的部分,在假设检验章节中有过讨论,使用假设检验评估模型的稳健性。

H0 和 Ha需要被首先定义,如下:

  • H0(空假设):x 和 y 之间没有任何关系,即发动机的大小和车辆价格没有关系;
  • Ha(替代假设):x 和 y 之间存在某种关系,即发动机大小和车辆价格之间存在关系。

β1:β1 的值决定了价格和发动机大小之间的关系。如果 β1 = 0,则他们之间没有关系,否则存在关系。而从上述得到的参数中可知,β1 = 156.933,说明到价格和发动机大小之间存在某种关系。

t-stat:t-stat值是系数估计值(β1)远离零点的标准差。其值越远离零越强化价格和发动机大小间的关系,从上述参数中可以看到t-stat是21.09。

p-value:p值是一个概率值。它表示在空假设为真的情况下得到给定t-statistics的机会。如果p值小,例如<0.0001,这意味着这是偶然的并且没有关系的概率非常低。在这种情况下,p值很小。这意味着价格和引擎之间的关系并非偶然。

通过这些指标,可以得到的结论是:空假设完全不存在,并且接受替代假设。车辆的价格和发动机大小之间存在着稳定的关系。

这种关系已经确定,但是其精度如何呢?为了能够感受模型的准确度,一个名为R-squared或者决定系数的度量非常重要。

R平方或确定系数:为了理解这些指标,首先将其分解其组成部分。

Markdown

  • 误差(e)是实际y与预测y之间的差异。预测的y表示为ŷ。每个观察都会评估这个错误。这些错误也称为残差。
  • 然后将所有残差值平方并相加。这个术语被称为残差平方和(RSS)。RSS越低越好。
  • R-squared的另一部分方程。为了得到另一部分,首先计算实际目标的平均值,即估计汽车价格的平均值。然后计算平均值和实际值之间的差异。然后将这些差异平方并添加。它是总和的平方(TSS)。
  • R-squared a.k.a决定系数计算为 1- RSS / TSS。该度量解释了模型预测的值与实际值平均值之间的差异部分。该值介于0和1之间。它越高,模型可以更好地解释方差。

在上面的例子中,RSS是根据三辆车的预测价格计算出来的。 RSS值是41450201.63。实际价格的平均值是11,021。 TSS计算为44,444,546。 R平方计算为6.737%。对于这三个具体数据点,该模型只能解释6.73%的变化。还不够好!!

但是,对于费尔南多的模型来说,其训练集的R平方为0.7503,即75.03%。这意味着该模型可以解释更多75%的变化。

结语

费尔南多现在有一个很好的模型。它在训练数据上表现令人满意。但是,有25%的数据没有得到解释。有改进的余地。如何增加更多的自变量来预测价格?当添加多于一个独立变量以预测因变量时,需要创建多变量回归模型,即多于一个变量的模型 —- 多元回归模型。

相关阅读

解决数据科学一公里问题-Clipper简介

对于数据科学问题来讲,我们面临的挑战是什么? 是数据准备?是特征选取?还是算法选择?这些固然都很重要,但真正的挑战在于如何将构建好的模型应用于生产,高效的运行并产生价值。也就是如何有效解决数据科学最后一公里的问题。

随着智能数据时代的到来,越来越多的企业都开始建立自己的数据管理平台,建立自己的数据科学团队,期望结合自身的业务场景,构建解决业务问题的模型。随着数据科学工作的开始,大家往往都会面临一个问题,就是如何能够高效的将训练好的模型推到生产环境,也就是前面提到的数据科学的最后一公里的问题。在我们接触的很多客户中,模型生产化是大家普遍拥有的共性问题,我们需要给客户提供这种能力,让客户将训练好的模型能够自动部署到生产,并且方便的被使用,从而真正兑现模型的价值。

这个关于数据科学的挑战,并非偶然,UC Berkley的RISELab(AMPLab的继承者)也发现了这个问题,并且开源了应对该问题的项目-Clipper(快船)。

Clipper是什么?

从Clipper的官网上来看,Clipper对自己的定位是:面向客户应用和机器学习模型与常用框架之间的一套预测服务系统。

另外,Clipper支持数据科学家在不改变代码的前提下,将训练代码直接部署到生产环境中。

Clipper的特性

对于数据科学家在选定的框架上训练的模型,通过几行代码就可以部署到一个现存的模型容器上,或者开发自己的模型容器;

  • 对于正在运行的应用,可以非常容易的更新和回滚模型;
  • 可以设定服务的延迟目标,从而保证可靠的查询延迟;
  • 每个模型都运行在一个独立的Docker容器上,从而实现简单的集群管理和资源分配;
  • 可将模型运行在CPU、GPU或者同时运行在二者之上;

Clipper的架构

在Clipper的架构中,包含一个模型选择层(Model Selection Layer)以及一个模型抽象层(Model Abstraction Layer)。模型选择层负责在多个竞争的模型当中根据需求动态选择和组合模型,从而能够提供更精确、更鲁棒的预测。而模型抽象层则屏蔽底层的不同机器学习框架,通过抽象出一个通用的API来方便模型上层应用对模型进行调用。

Clipper为了能够实现低延时、高吞吐率的预测,在模型抽象层引入了缓存的策略。对于每一个模型,Clipper提供一个缓存层,并且通过Adaptive Batching来提高预测的吞吐率。而对于模型选择层,则引入Straggler mitigation技术,预测的请求不会路由到比较慢的模型执行上,从而能够降低延迟。

Clipper集群

Clipper集群的实现利用了现在非常流行的容器技术。一个Clipper集群由一组相互通讯的Docker容器组成。Clipper集群的核心由三个部分组成:查询前端(Query Frontend),管理前端(Management Frontend)以及配置数据库(configuration database),如下图:

其中:

Query Frontend负责接收进来的预测请求,并将这些请求路由到部署的模型上,

Management Frontend负责管理和更新Clipper集群的内部状态,当集群需要更新时,需要通过Management Frontend的REST API发送请求,状态会更新到database当中

Configuration Database是一个运行Redis实例的容器,它存储了集群所有的配置信息。

Clipper中的模型

在Clipper环境中,每个模型都会运行在一个Docker容器中。Clipper对常用的模型运行框架提供了model deployer,从而使得常用的模型类型可以方便的进行部署。目前,Clipper支持三种类型的模型环境:纯Python, PySpark和R。在模型被部署成功之后,Clipper利用容器管理来启动容器并且建立一个模型容器与Query Frontend之间的RPC连接。

在Clipper当中,模型部署好之后并不会建立一个对外的REST服务。Clipper引入了一个应用层来负责将请求路由到模型容器中。这样使得多个应用可以路由到一个模型,也可以一个应用路由到多个模型。用户需要通过ClipperConnection.register_application来注册应用,应用注册成功之后,会对应用创建一个REST服务。

通过ClipperConnection.link_model_to_app,可以将model连接到应用上,这样对于应用的访问就能够路由到模型上了。如下图:

在Clipper当中,模型支持不同是版本,当新的版本通过deploy_model被部署时,应用会将预测请求路由到新版本的模型上。另外,用户可以通过ClipperConnection.set_model_version来回滚模型。

Clipper支持针对同一个模型复制不同的副本,从而提高模型的吞吐率。通过调用ClipperConnection.set_num_replicas,Clipper可以根据设置的副本数量来启动相应数量的模型容器,如下图:

对于模型的访问,则是通过访问应用的REST API来完成,比如:http://localhost:8080/wordcount-app/predict

从前面的描述我们可以看到,Clipper的核心是实现模型的调用与模型运行态的隔离,通过逻辑层的应用,将模型的服务以REST API或者RPC的方式对调用者开放,而Clipper内部通过应用和模型的连接来灵活的实现应用对模型的路由,从而将模型和对外的服务解耦,为满足模型服务化的性能提供了基础。而底层则利用容器化的技术来实现从训练到运行态的转换工作,降低模型部署的成本。整个设计的思路从架构上来讲,如果大家面向同样的问题做架构,估计大同小异。具体的实现,由于Clipper的目的是提供高性能生产环境预测能力,整个项目利用RUST和C++来实现核心的代码,实现代码的选择非常有Geek范儿。想一下师出同门的Spark用Scala语言实现,在大约6年前,也是非常Geek的。不得不说,伯克利出品的东西,工程能力还是比较出色的。

目前Clipper这个项目仍在快速的迭代过程中,它距离一款成熟的产品还有一定距离,大家有兴趣可以到Clipper的官方网站: http://clipper.ai/,去关注这个项目的进展。

由于数据科学最后一公里问题是个共性的问题,而且客户的需求越来越迫切,TalkingData的技术团队也在利用容器技术实现自己的模型生产部署平台,并且开始在一些客户的生产环境中进行使用,如果你也面临同样的问题,欢迎与TalkingData技术团队一起进行深入的探讨。

推荐21个顶级的Vue UI库!

Markdown

最近,随着“星球大战”(指 GitHub 的 Star 数量大比拼)的爆发,Vue.js 在 GitHub 上的 Star 数超过了 React。虽然 NPM 的下载量仍然落后于 React,但 Vue.js 的受欢迎程度似乎在持续增长。

Markdown

1、Vuetify

Star 数为 11K,提供了 80 多个 Vue.js 组件,这些组件是根据谷歌 Material Design 指南实现的。Vuetify 支持所有平台上的浏览器,包括 IE11 和 Safari 9+(使用 polyfill),并提供了 8 个 vue-cli 模板。

地址: https://github.com/vuetifyjs/vuetify

2、Quasar

Star 数超过 6K,是构建 Vue.js 响应式网站、PWA、混合移动应用和 Electron 应用的流行框架。Quasar 还支持诸如 HTML/CSS/JS 压缩、缓存清除、摇树优化(tree shaking)、源映射、代码分割和延迟加载、ES6 转码等功能。

地址:https://github.com/quasarframework/quasar

3、Element

Star 数将近 28K,是一款面向 Web 的 Vue.js 2.0 UI 工具包。它拥有一个强大的社区和 350 个贡献者,提供了丰富的可定制组件,以及完整的样式指南和更多的资源。 地址:https://github.com/ElemeFE/element

4、Vue Material

Star 数差不多 6K,是一个实了谷歌 Material Design 的简单库。该库还提供了一个 webpack 样板、用于 Nuxt.js 的 SSR 模板和一个单独的 HTML 文件(通过这个文件开始使用框架)。这里有一些入门的例子https://codesandbox.io/s/github/vuematerial/examples/tree/master/examples/quick-start。

地址: https://github.com/vuematerial/vue-material

5、Keen-UI

Star 数将近 3.5 K,一组 Vue 组件的集合,在设计上受到了谷歌 Material Design 的启发。Keen-UI 并不是一个 CSS 框架,它不包含网格系统、排版样式等。相反,它关注的是基于 Javascript 的交互式组件。

地址:https://github.com/JosephusPaye/Keen-UI

6、Buefy

Star 数 3K 左右,基于 Bulma(https://bulma.io)提供了一组轻量级的 UI 组件。Vue.js 和 Bulma 是这个库唯一的两个内部依赖。它的大小约为 60KB(压缩后的大小,并且包含了 Bulma)。你可以查看实时文档网站(https://buefy.github.io/#/documentation/start)并在 Codepen 上运行代码。

地址: https://github.com/buefy/buefy

7、Bootstrap Vue

Star 数超过 5K,为 Vue.js 提供了 Bootstrap 4 组件和网格系统的实现,并提供了自动 WAI-ARIA 可访问性标记。

地址: https://github.com/bootstrap-vue/bootstrap-vue

8、Muse-UI

Star 数超过 6K,是另一个 Vue 2.0 MD 库,提供了 40 多个 UI 组件和可定制主题。文档主要使用中文撰写,不过大多数组件是自解释的,文档只起到辅助作用。该项目在积极的开发和维护当中。 地址:https://github.com/museui/muse-ui

9、AT-UI

Star 数接近 1.5 K,一个模块化的前端 UI 框架,用于开发基于 Vue.js 的 Web 界面,适用于桌面应用程序。它提供了 NPM+Webpack+Babel 的前端开发工作流和独立的 CSS 样式,值得一试。

地址: https://github.com/at-ui/at-ui

10、Vux

Star 数超过 13K,是一个流行的社区库,基于 WeUI 和 Vue 2.0。该库还支持 webpack+vue-loader+vux 的工作流。它的文档也是中文的。

地址: https://github.com/airyland/vux

11、iView

Star 数将近 16K,提供了数十种用 Vue.js 构建的 UI 组件和小部件,并采用了干净而优雅的设计。iView 被广泛采用,社区也在积极维护,并提供了 CLI 工具用于以可视化的方式创建项目。这个也值得一试。

地址: https://github.com/iview/iview

12、Uiv

Star 数“仅”550 左右,用于 Vue 2 的 Bootstrap 3 组件库。所有组件加起来差不多 20KB,唯一的外部依赖是 Vue 和 Bootstrap CSS,支持基于 Webpack 的工作流。 地址:https://github.com/wxsms/uiv

13、Vuikit

Star 数 1K 左右,一个用于网站界面的响应式的 Vue UI 库,设计风格干净而统一。该库作为由 Yarn 工作区管理的“monorepo”而构建,但图标和主题可作为单独的包发布。

地址: https://github.com/vuikit/vuikit

14、Onsen UI+Vue

基于流行的 Onsen-UI 框架,封装了核心 Web 组件并暴露了 Vue 风格的 API。Onsen UI 组件也被设计为能够主动对 prop 做出反应。

地址: https://onsen.io/v2/guide/vue/

15、Semantic UI+Vue

这个项目基本上是 Semantic-UI 框架与 Vue.js 的集成。该库仍在开发当中,提供了一个类似于 Semantic-UI 的 API 以及一组可定制的主题。

地址: https://semantic-ui-vue.github.io/

16、Fish-UI

Star 数“仅”为 500 左右,贡献者也只有 3 个,但 fish-ui 提供了一个基于 Vue 的 Web 工具包,其中包含整洁干净的组件。该库支持 ES2015+Webpack 工作流。它的文档不是很全,但它的设计不容忽视。

地址: https://github.com/myliang/fish-ui

17、Mint UI

Star 数超过 11K,为 Vue.js 提供 UI 元素,提供了用于构建移动应用程序的 CSS 和 JS 组件。当全部导入时,压缩后的代码只有月 30KB(JS+CSS),当然它也支持单个组件的导入。

地址: https://github.com/ElemeFE/mint-ui/

18、Framework7 Vue

这个集成提供了几乎所有的 Framework7 元素和组件,并集成了 Framework7 Router,按照 Vue 的方式来渲染页面。该库正处于积极的开发和维护当中。 地址:https://framework7.io/vue/

19、Cube UI

Star 数超过 3K,是用于 Vue.js 移动应用程序的 UI 组件库。所有组件都经过了单元测试,并且该库还支持按需进行后期编译和组件导入。这个库仍在积极开发中。

地址: https://github.com/didi/cube-ui

20、Vueblu

Star 数约 1.5K,是基于 Vue 2.0 和 Bulma 的 UI 组件库,用于构建中台和后台办公产品。它支持 ES2015 和 NPM+Webpack+Babel 工作流,并提供可自定义主题。

地址: https://github.com/chenz24/vue-blu

21、Ant Design Vue

Star 数约 1.5K,用于开发具有数十个 Ant Design 实现组件的企业级后端产品,并支持基于 Webpack 调试的构建解决方案(支持 ES6)。请注意,它的开发已经停止了一段时间。

地址: https://github.com/okoala/vue-antd

特别推荐

n3-components :

https://github.com/N3-components/N3-components

vuikit:

https://vuikit.js.org/

Kendu UI Vue

https://www.telerik.com/kendo-vue-ui

Office Fabric-Vue

https://github.com/aidewoode/office-ui-fabric-vue

vuestrap

http://kzima.github.io/vuestrap-base-components/#/

vueboot

http://morgul.github.io/vueboot/

framevuerk

http://framevuerk.com/

Vue WeUI

http://aidenzou.github.io/vue-weui/#!/

Vue-MDC

https://github.com/posva/vue-mdc

重磅发布预告

排名11位的iView是由TalkingData数据可视化团队开源的UI组件库,也是一个充满情怀的开源项目。 在过去的一年里,iView共迭代了27个版本,还在近期发布了针对微信小程序开发的UI组件库——《iView Weapp》。 7.28是iView的两周年生日,iView团队也将在这一天举办发布会,正式发布iView 3.0以及5款与iView相关的神秘产品。点击文末阅读原文,就有机会亲临发布会现场。

Markdown

线上分享|巧用监测数据驱动推广增长

随着流量的日益金贵,广告主在营销期的推广费用也水涨船高。为了量化推广效果以及移动广告作弊情况,广告主通常会通过监测数据报表中的指标作为参考依据。但参考过后,如何将真实数据转化成运营策略或者营销推广策略、高价值渠道转化路径在哪里、渠道推广风险和机会在哪里,广告主是否能通过报表真正的解读出来?

Markdown

7月12日(周四)晚8点,TalkingData将举办《巧用监测数据驱动推广增长》线上分享会。届时TalkingData产品经理 彭颖将分享如通过阅读监测报表,助力广告主数驱推广增长的这些事儿。

(PS:提前报名,抢先占位。名额限量,先到先得~)

报名方式

识别下方二维码,添加主持人微信

需备注:公司-职位-姓名

Markdown

活动概况

  • 时间:7月12日(周四)晚8点
  • 形式:微信社群分享
  • 分享嘉宾:TalkingData产品经理 彭颖

分享内容

  1. 现阶段移动互联网广告主推广困境
  2. 监测数据报表解读
  3. 推广渠道方案优化
  4. 移动广告监测场景应用
  5. …………..

适合人群

从事移动广告行业的圈里人,广告主、营销人、渠道、广告媒介及代理商,也欢迎在营销推广中产生疑惑的各类人士参与交流与沟通。

活动微信社群作为TalkingData为移动广告圈人搭建的沟通平台,欢迎随时交流关于营销推广的各种话题与案例分享。

Markdown

简明数据科学 第三部分:假设检验

 

昨天的文章中,我们讨论了统计学习的关键概念——参数模型、训练与测试、方差与偏差等等,今天我们再来看一看机器学习的基石概念之一假设检验

Markdown

著名的物理学家爱德华·特勒曾经引用过:

“A fact is a simple statement that everyone believes. It is innocent, unless found guilty. A hypothesis is a novel suggestion that no one wants to believe. It is guilty, until found effective.”

假设检验的应用在数据科学中占主导地位,它是简化和结构的必备之选。就像犯罪小说的故事一样,基于数据的假设检验,将从一个新颖的建议引向一个有效的命题

概念

假设是指用有限的证据作出的想法,它是进一步调查分析的起点。该概念非常简单,但是在实际应用中很强大。在日常生活中,通常按照如下7个步骤进行:

  1. 做出假设;
  2. 初始状态设定;
  3. 确定替代的问题;
  4. 设置验收标准;
  5.  进行基于事实的测试;
  6. 评估结果。评估是否支持初始状态?确定结果不是偶然的?
  7. 达到以下结论之一:拒绝原来的位置以支持替代位置或拒绝原始位置。

Markdown

以一个故事来进一步解释假设检验的概念。霍尔马维克是冰岛西部的一个小镇,这个小镇有其独特之处是,它被称为巫术博物馆。即使现在,那里也有人声称是巫师。伊西尔德和甘道夫就是这样的人。

他们声称自己具有千里眼的超能力,能够透视任何物体,于是一些研究人员想要验证他们的能力,让他们玩一种叫做透视纸牌的游戏。

该游戏的规则如下:

  1. 伊西尔德和甘道夫随机从四副扑克牌中选择10张纸牌;
  2. 他们必须确认每张纸牌属于那副牌;
  3. 该测试每次重复10次。

在进行此次测试验证之前,已经对正常人进行了测试,得到的结论是正常人能够预测正确的平均次数在6次左右。这个就是本次假设检验的基础,而本次假设检验的目的是统计确定伊西尔德和甘道夫是否是巫师。

第一步:做出假设

不同种类的假设检验需要做出不同的假设。而假设与数据的分布、采样以及线性有关。一些常见的假设如下:

  • 分布: 每种数据都会遵循特定的分布,需要掌握数据中的规律。许多自然发生的数据点如股票市场数据、人体重量和高度、在酒吧喝酒的人的薪水等等都近似正态分布。正态分布只是意味着很多观测值都在中间位置,较少的观察值大于或小于中间值。中间值也称为中位数。
  • 采样: 假设为测试采样的数据是随机选择的,没有偏见。

对于上述透视纸牌游戏,以下假设是正确的:

  • 在透视卡牌游戏中,所选纸牌的分布将是正态分布的。这是真的,因为这些纸牌是随机选择的。随机选择纸牌意味着将被挑选的十张纸牌中的每一张都具有被选择用于测试的相同概率。
  • 在该问题中,纸牌没有偏见。

第二步:空假设

空假设是假设验证的初始情况,也就是当下的状态,是拒绝或者失败的立场,在整个假设验证的过程中处于需要验证和测试的位置。

对于上述纸牌游戏来说,空假设如下:

伊西尔德/甘道夫并没有千里眼的能力。

第三步:备用假设

备用假设和空假设正好是相反的。如果统计学获得的证据正好表明备选假设是有效的,那么空假设就是被拒绝的。

对于上述纸牌游戏,备用假设如下:

伊西尔德/甘道夫具有千里眼的能力。

第四步:设置验收标准

空假设和备用假设定义好之后,初始位置为空假设。现在需要设定一个阈值,我们知道一个普通人,即不是巫师的人会在10次中得到正确的六次。如果伊西尔德和甘道夫能够在一次测试中预测超过六张正确的纸牌,那么有更多的证据表明他们确实可能是巫师。有一种度量评估方法叫做t-统计,t-统计估计值远离备选假设越多越合理。

假设检验结果可能会出错。有四种可能的情况:

  1. 测试发现,伊西尔德和甘道夫具有千里眼能力,他们是名巫师;
  2. 测试发现,伊西尔德和甘道夫没有千里眼能力,他们不是巫师;
  3. 测试发现,伊西尔德和甘道夫具有千里眼能力,他们不是巫师;
  4. 测试发现,伊西尔德和甘道夫没有千里眼能力,他们是名巫师。
  5. 测试的结果可能显示结论1和结论2是正确的,结论3和结论4是无效的。

如果结论3属实,这样会导致空假设失效,属于一种误报,此类情况也称为Ⅰ型错误;

如果结论3无效,这样会是的空假设属实,属于一种错误的否定,此类情况称为Ⅱ型错误。

类型所有的统计验证,假设验证也必须处理不确定性,也就是必须处理概率,而概率并没有绝对的。

对于概率来说,需要设定概率层级,以便确定发生I型错误的机会,这个水平被称为显着性水平,使用α表示它。 α越低意味着测试越严格。相对较高的α意味着测试不是那么严格。 α的值是根据假设检验的性质设定的。典型值为0.001,0.05或0.1。

如果所观察到的结果仅仅是偶然的呢?如果这只是一个巧合呢?如果他们在测试进行的那一天刚好幸运呢?这种不确定性需要得到度量,假设检验有一个衡量这个不确定性的指标,p值是该度量。

p值表示为概率。这意味着它的值在0和1之间。p值是在假设为真的假设下偶然观察到的t统计量的概率。

对于透视纸牌游戏,决定如果伊西尔德可以正确猜测超过8张牌,那么备选假设是合理的。他可能确实是一位千里眼。 t统计量是8。

作为一名千里眼人是没有生命危险的。没有人处于危险之中。显着性水平设定为0.05。 α是0.05。

第五步:进行测试

通过重复十次的测试和验证,得到了一些结果。假设统计引擎最终得到如下的结果:

伊西尔德:

  • t-统计:8
  • P值:0.1

甘道夫:

  • t-统计:9
  • P值:0.01

第六步:评估结果

概率(p值)和显着性水平之间的比较产生以下结果:

对于伊西尔德来说:

  • t统计量为8,这意味着,他平均预测了八张牌,比正常人预测的要高。
  • p值是0.1,这意味着观察到的t统计数据归因于偶然的概率是10%。 p值很高。
  • 设定的显着性水平(α)是0.05,转化为5%。
  • p值大于设定的显着性水平,即10%> 5%。

第七步:得出结论

测试已结束,指标是已知的。谁是真正的巫师呢?

对于伊西尔德:p值大于设定的显着性水平(10%> 5%)。尽管平均而言,他已经预测了八张牌;从统计上,结论如下:

  • 伊西尔德的结论:没有实质证据反对空假设,空假设未被拒绝。

对于甘道夫:平均而言,他已经预测了九张牌。,p值低于设定的显着性水平(1%<5%);从统计上,结论如下:

  • 甘道夫的结论:有很好的证据反对空假设,空假设被拒绝,备选假设被接受。

最终,伊西尔德被否认,甘道夫很高兴。然而,伊西尔德也并不那个伤心,测试并没有确定他不是一位具有千里眼的巫师,空假设没有被验证是错误的,也没有证据表明备选假设是不成立的,这意味着没有足够的证据来确定空假设是无效的,在现实中,这样的情况普遍存在。

结语

假设检验是机器学习的基石概念之一,很多评估方法使用假设检验来评估模型的鲁棒性。在我们浏览本系列时,我们将深入探索其构造。

Markdown

简明数据科学 第二部分:统计学习的关键概念

在本系列的第一篇文章中,谈及了数据科学的关键概念和过程,在这篇文章中,会深入一点。首先,将定义什么是统计学习。然后,将深入到统计学习的关键概念,了解统计学习。相信我,很简单。

什么是统计学习

Markdown

根据维基百科,统计学习理论是从统计学和功能分析领域进行机器学习的框架。

机器学习是通过软件应用程序实现的统计学习技术的体现。

这在实践中意味着什么?统计学习是指使我们能够更好地理解数据的工具和技术。那么理解数据意味着什么?

在统计学习的背景下,有两种类型的数据: 可以直接控制功能的独立变量数据; 不能直接控制功能的因变量数据。

  • 无法控制的数据,即因变量需要预测或估计。
  • 更好的理解数据是通过独立变量来更多地了解因变量。例如下面的例子:

假设想根据分配给电视、广播和打印的广告的预算来衡量销售额。分配给电视,广播和打印的预算是可以控制的,但是无法控制的是他们将如何影响销售。于是想将无法控制的数据(销售额)表达为可以控制的数据(广告预算)的功能,揭开这种隐藏的关系。

统计学习则能够揭示隐藏的数据关系,不论是依赖的还是独立的数据之间的关系。

参数和模型

Markdown

运营管理中著名的商业模式之一是ITO模型,即输入-转化-输出(Input-Transformation-Output)模型,有一些输入,这些输入经历一些转化,然后创建出输出。

统计学习也适用于类似的概念,有数据输入,数据输入后经历转化,然后生成需要预测或估计的输出。

而上述的转化引擎部分称之为模型,一些估计输出的函数。

转化过程是数学相关的,将数据输入到特定的数学成分中以估计输出,这些数学成分称为参数

如下例:

决定某人收入的是什么?例如收入是由受教育程度和多年的经验决定的。那么估计收入的模型可能是这样的:

收入 = c + β0 受教育程度 + β1 经验

其中,β0和β1是表示收入函数中教育和经验的参数。而教育和经验是可控的变量,这些可控变量具有不同的含义,他们被称为独立变量,也称之为特征。收入是不可控变量,他们被称为目标

训练与测试(Training and Testing)

Markdown

当你准备异常考试的时候,都做些什么呢?研究、学习、消化知识点、做笔记、不断练习等。这些都是学习和准备未知测试的过程或者工具。

机器学习也使用类似的概念进行学习。数据一般是有限的,因此在使用数据时需要谨慎。模型的构建也需要进行验证,而验证的方法可以参考如下方式:

  1. 将数据集分割为两部分;
  2. 使用其中一部分作为训练数据,让模型从中进行学习,也就是说这部分数据对模型来说是可见的、已知的。这 部分数据集被称为训练数据
  3. 使用另一部分来测试模型,给予模型一部分未知的测试数据,来核查模型的性能。这部分数据称为测试数据

在竞争性考试中,如果准备充分,历史学习有效,那么考试中的表现一般也是令人满意的。同样的,在机器学习中,如果模型很好的学习了训练数据,那么在测试数据上也应该有良好的表现。

一般情况下,在机器学习中,一旦模型在测试数据集上进行测试,就会评估模型的性能。它是根据它估计的输出与实际值的接近程度来评估的。

Markdown

英国着名统计学家George Box曾经引用过:

“All models are wrong; some are useful.”

没有那个模型能够达到100%的准确度,所有的模型都有些错误,这些错误可以从两方面进行衡量

  • 偏差(Bias)
  • 方差(Variance)

下面使用类比来解释这两个维度:

Raj,是一个七岁的孩子,刚刚接触了乘法的概念。他已经掌握了1和2的乘法表格,接下来将挑战3的表格,他非常兴奋,开始了3的乘法的练习,他写下了如下的等式:

  • 3 x 1 = 4
  • 3 x 2 = 7
  • 3 x 3 = 10
  • 3 x 4 = 13
  • 3 x 5 = 16

Raj的同班同学Bob在同一条船上。他的书写结果看起来像这样:

  • 3 x 1 = 5
  • 3 x 2 = 9
  • 3 x 3 = 18
  • 3 x 4 = 24
  • 3 x 5 = 30

让我们从机器学习的角度来研究由Bob和Raj创建的乘法模型。

  • Raj的模型有一个无效的假设,他假设了乘法运算意味着需要在结果后面加1。这个假设引入了偏差误差。假设是一致的,即将1加到输出。这意味着Raj的模型低偏差
  • Raj的模型导致输出始终与实际相距1。这意味着他的模型具有低方差
  • Bob的模型输出结果毫无规律,他的模型输出与实际值偏差很大。没有一致的偏差模式。Bob的模型具有高偏差和高方差

上面的例子是对方差和偏差这一重要概念的粗略解释。

  • 偏差是模型不考虑数据中的所有信息,而持续学习导致错误的倾向。
  • 方差是模型不考虑实际数据情况,而持续进行随机性事物的程度。

偏差 – 方差权衡(Bias-Variance Trade-Off)

Markdown

在初接触数学的时候,每个人可能都会死记硬背一些概念、公式等等,这就是开始的时候,学习的方式。然而如此的方式将面临考试时的问题和背诵的问题不同。问题是数学中的广义概念,显然,在一些考试中,很难完成或者达到理想的分数。

机器学习也是同样的模式。如果模型对特定的数据集学习过多,并试图将该模型应用在未知的数据上,则可能具有很高的误差。从给定的数据集中学习太多称为过拟合。此种情况下,模型难以有效地推广应用于未知的数据。相反的,从给定的数据集中学习太少称为欠拟合。此种情况下,模型非常差,甚至无法从给定的数据中学习。

阿尔伯特·爱因斯坦简洁地概括了这个概念。他说:

“Everything should be made as simple as possible, but no simpler” *

机器学习解决问题的方式是不断的努力寻找到一个恰当的平衡点,创建一个不太复杂但是并不简单的、广义的、相对不准确但是有用的模型。

过拟合的模型显得过于复杂,它在训练数据上表现非常好,但是在测试数据上表现欠佳; 欠拟合的模型又过于简单,它无法在训练数据和测试数据上执行的让人满意; 一个良好的模型是在过拟合和欠拟合之间找到平衡,它表现良好,简单但是有用。

这种平衡行为被称为偏差 – 方差权衡。

结语

  1. 统计学习是复杂机器学习应用的基石。本文介绍统计学习的一些基本概念和基本概念。这篇文章的五大要点是:
  2. 统计学习揭示隐藏的数据关系,依赖和独立数据之间的关系;
  3. 模型是转换引擎,参数是实现转换的要素;
  4. 模型使用训练数据进行学习,使用测试数据进行评估;
  5. 所有模型都是错误的;有些是有用的;
  6. 偏差-方差权衡是一种平衡行为,以找到最佳模型、最佳点。

在本系列的后续文章中,将深入研究机器学习模型的具体内容。敬请期待……

简明数据科学 第一部分:原则与过程

2006年,英国数学家Clive Humbly和Tesco Clubcard的建筑师创造了“数据是新石油”这句话。原话如下:

Data is the new oil. It’s valuable, but if unrefined it cannot be used. It has to be changed into gas, plastic, chemicals, etc. to create a valuable entity that drives profitable activity; so, must data be broken down, analyzed for it to have value.

iPhone革命,移动经济的增长以及大数据技术的进步创造了一场完美风暴。2012年,HBR发表了一篇文章,将数据科学家放在了新的高度上。数据科学家:21世纪最性感的工作这篇文章将这种“信心人类”称为数据黑客、分析师、传播者和值得信赖的顾问的混合体

如今,几乎每个企业都在强调数据驱动。而机器学习技术的不断进步,正在帮助着企业完成这个目标。在网络上,机器学习相关的资料非常多,但是都太过的技术性并且充斥着大量的高等数学公式等等,让大多数软件工程师难以理解。因此计划编写一系列的文章,使用更加易于理解的方式简化数据科学。

在本文中,将首先介绍数据科学中的基本原理,一般过程和问题类型,对数据科学有一个基本的了解。

数据科学是一个多学科领域。它是以下领域之间的交集:

  • 商业知识
  • 统计学习或称机器学习
  • 计算机编程

本系列文章的重点将是简化数据科学中机器学习方面,而在本文中将首先介绍数据科学中的原理、一般过程和问题的类型等。

关键原则(Key Principles)

Markdown

数据是战略资产:这个概念是一种组织思维。问题:“我们是否使用了我们正在收集和存储的所有数据资产?我们能够从中提取有意义的见解吗?”,相信这些问题的答案是:“没有”。基于云科技的公司本质上都是数据驱动的,将数据视为战略资产是他们的灵魂。然而这种观念对于大多数组织来说都是无效的。

系统的知识提取过程:需要有一个有条不紊的过程来提取数据中的隐藏的见解。这个过程应该有明确的阶段和明确的可交付成果。跨行业数据挖掘标准过程(CRISP-DM)就是这样一个过程。

沉浸在数据中:组织需要投资于对数据充满热情的人。将数据转化为洞察力不是炼金术,而且也没有炼金术士
。他们需要了解数据价值的传播者,并且需要具有数据素养和创造力的传道人。更加需要能够连接数据,技术和业务的人。

拥抱不确定性:数据科学并不是一颗银弹,也不是一颗水晶球。像报告和关键绩效指标一样,它是一个决策的辅助者。数据科学是一个工具但是并不仅限于此,而且数据科学也不是一个绝对的科学,它是一个概率的领域,管理者和决策者需要接受这个事实。他们需要在决策过程中体现出量化的不确定性。如果组织文化采用快速学习失败的方法,这种不确定性只能根深蒂固。只有组织选择一种实验文化,它才会兴旺发达。

BAB(Business-Analytics-Business)原则:这是最重要的原则。许多数据科学文献的重点是模型和算法,而这些大多都没有实际的商业实践背景。业务-分析-业务(BAB)是强调模型和算法在业务部分应用的原则。把它们放在商业环境中是至关重要的,定义业务问题,使用分析来解决该业务问题,并将输出集成到业务流程中。

过程(Process)

Markdown

从上述原则#2中可以看到,数据科学的过程对于实现数据科学至关重要,一个典型的数据科学项目可分为如下几个阶段:

1. 定义业务问题

阿尔伯特·爱因斯坦曾经引用过“凡事尽可能简洁,但不能太过简单”,而这句话也正是定义业务问题的核心。问题的表述需要事情的发展历程和所在场景,需要建立明确的成功标准。几乎在所有的企业中,业务团队总是繁忙无比,但是这并不意味着他们没有需要解决的挑战。头脑风暴会议、研讨会和访谈可以帮助揭开任何问题的面纱并提出可能的解决方案或者假设。而对于如何定义业务问题?可参考下例:

一家电信公司由于其客户群减少而导致其收入同比下降。面对这种情况,业务问题可能被定义为:

该公司需要通过瞄准新的细分市场和减少客户流失来扩大客户群。

2. 分解为机器学习任务

业务问题一旦定义好之后,就应该分解为机器学习任务。例如上述的示例,如果该公司需要通过瞄准新的细分市场和减少客户流失来扩大客户群。该如何分解该业务问题为机器学习任务呢?下面是一种分解的示例:

  • 将顾客的流失减少x%。
  • 为有针对性的营销确定新的客户群。

3. 数据准备

一旦确定了业务问题并将其分解为机器学习问题,就需要开始深入研究数据了。对于数据的理解应该明确的针对当前问题,因为当前问题能够帮助制定合适的数据分析策略,并且要注意的是数据的来源、数据的质量以及数据的偏差等。

4. 探索性数据分析

“当宇航员进入宇宙时,他们是不知道宇宙中有什么的。”同样的,数据科学家在开始对数据进行分析时,对于数据中隐含的特征等也都是未知数,他们需要穿过数据的表象去探求和开发新的数据涵义。探索性数据分析(Exploratory data analysis,EDA)是一项令人兴奋的任务,可以更好地理解数据,调查数据中的细微差别,发现隐藏模式,开发新功能并制定建模策略。

5. 模型化

探索性数据分析之后,将进入建模阶段。这个阶段中,会根据特定的机器学习问题,选择不同的算法,而机器学习算法有很多,耳熟能详的有回归、决策树、随机森林等等。

6. 部署与评估

最后,部署开发的模型,并且建立持续的检测机制,观察他们在现实世界中的变现并据此进行校准和优化。

机器学习问题类型

Markdown

一般情况下,机器学习有两种类型:

监督学习

监督学习是一种机器学习任务,其中有一个明确的目标。从概念上讲,建模者将监督机器学习模型以实现特定目标。监督学习可以进一步分为两类:

回归

回归是机器学习任务中的主力,被用来估计或预测一个数值变量。例如下面两个问题:

  • 下季度的潜在收入估计是多少?
  • 明年我可以关闭多少项交易?

分类

顾名思义,分类模型是将某些东西进行分类,用在离散型变量。分类模型经常用于所有类型的应用程序。分类模型的几个例子是:

  • 垃圾邮件过滤是分类模型的流行实现。在这里,每个传入的电子邮件根据特定的特征被分类为垃圾邮件或非垃圾邮件。
  • 流失预测是分类模型的另一个重要应用。在电信公司广泛使用的流失模型来分类给定的客户是否会流失(即停止使用服务)。

无监督学习

无监督学习是一类没有目标的机器学习任务。由于无监督学习没有任何明确的目标,他们所产生的结果可能有时难以解释。有很多类型的无监督学习任务。几个关键的是:

  • 聚类(Clustering):聚类是将类似的东西组合在一起的过程。客户细分使用聚类方法。
  • 关联(Association):关联是一种查找频繁匹配的产品的方法。零售市场分析使用关联法将产品捆绑在一起。
  • 链接预测(Link Prediction):链接预测用于查找数据项之间的连接。 Facebook,亚马逊和Netflix采用的推荐引擎大量使用链接预测算法来分别向我们推荐朋友,物品和电影。
  • 数据简化(Data Reduction):数据简化方法用于简化从很多特征到几个特征的数据集。它需要一个具有许多属性的大型数据集,并找到用较少属性来表达它们的方法。

机器学习任务到模型到算法

一旦将业务问题分解为机器学习任务,一个或多个算法就可以解决给定的机器学习任务。通常,模型是在多种算法上进行训练的,选择提供最佳结果的算法或一组算法进行部署。

Azure机器学习有超过30种预建算法可用于训练机器学习模型。

Markdown

结语

数据科学是一个广泛且令人兴奋的领域,而且是一门艺术和科学。这篇文章仅仅是冰山一角。如果“不知道”是什么,那么“如何”将是徒劳的。在随后的文章中,我们将探讨机器学习的“方式方法”。敬请期待!

Markdown