6.1 分析方法的演进
不少分析和建模方法已经被广泛使用了很多年,其中的一些,如线性回归模型或决策树模型,计算效率较高,实施起来也相对简单。在过去,简单是必需的,因为当时分析工具的可用性与可扩展性严格受限,直到今天,人们才拥有了更多可能。
在计算机出现之前,进行多次迭代建模,或尝试某些复杂的分析方法,都是很困难的。这些年,处理数据的技术有了长足的进步,类似的情况也发生在分析数据的工具和技术上。今天,人们已经可以使用多种算法来针对海量基础数据进行多次迭代建模。
因为分析可扩展性的提升,今天分析专家们可以同时执行更多的传统分析任务。也有许多分析专家开始尝试不同的新分析方法来充分利用这些新的分析工具、分析流程和可扩展性。许多新分析方法的理论很久以前就出现了,但直到现在才可以真正地被实施。分析方法在持续演进和改善,我们将讨论某些重要的分析方法,包括组合建模、简易建模以及文本分析。
6.1.1 组合建模
组合建模方法的核心概念非常简单直接,不是只使用一种方法来建立一个单独的模型,而是使用许多技术来建立许多模型,一旦获得了每一个模型的产出结果,所有的结果就可以组合起来形成最终答案。结果的组合流程非常灵活,可以直接使用每个模型预测结果的平均值,也可以使用更复杂的公式。重要的是,组合建模并不是从许多模型中挑选一个最优模型来使用,而是把许多模型的结果组合在一起来获得最终答案。
组合模型的威力在于,每个不同的建模方法都各有利弊。例如,某些类型的客户,可能在某一种模型中得分很低,但在另外一种模型中得分很高。通过集合各个模型的智慧,评分算法可以更加准确地评估每一个客户、产品或店铺选址。
例如,人们可以使用线性回归、逻辑回归、决策树以及神经网络来建立多个预测模型,对客户购买某指定产品的概率进行评估。每个模型的预测结果组合起来就形成了最终结果。通常,这种组合模型会比每个独立模型的预测效果要好很多。
在组合模型方面,有一本非常棒的技术书籍,是John Elder与Giovanni Seni的《数据挖掘中的组合建模》〔6〕。分析工具的演进使组合模型的使用变得更加普遍。如果没有一种好的方法来管理建模过程并对不同模型的结果进行整合,组合建模就无法轻易地被实现。想象一下,人工执行并测试每一个模型,当模型执行完后,还要人工汇总每一个模型的输出结果,并检查模型的效果,最后还要确认如何人工整合不同模型的结果。今天,分析工具已经可以帮助你执行这些单调乏味的任务。
群体智慧
每一个独立模型都同时具有优点和缺点。通过组合各种模型的输出结果,最后的混合结果通常要好于任何一个独立模型。这类似于很多人同时进行预测,然后把每个人的预测结果进行平均,最终结果通常与正确结果最为接近。这种现象通常叫做群体智慧。
组合模型可以提升评估效果的原因很容易理解。在适当的条件下,群体智慧在日常生活中的表现一直在被广泛地讨论(见James Surowiecki的《群体智慧》〔7〕)。爱荷华州大学的爱荷华电子交易市场很多年前就证明了,把许多人的理性预测结果进行平均,可以获得与正确答案非常非常接近的预测结果。事实上,这个平均的预测结果比任何一个人的预测结果都更接近正确答案。
组合建模只是把《群体智慧》这本书的理念应用到了分析领域,对许多模型的理性预测结果进行平均汇总,最终得到了与正确答案非常非常接近的结果。组合建模能解决企业所有的分析问题吗?当然不可以,但是企业应该把组合模型加入到自己的分析方法库中。
6.1.2 简易模型
还有一种被越来越广泛使用的分析方法,叫做简易模型。我们把简易模型定义为一种降低部分预测效果从而加快模型构建过程的分析方法。简易模型可以通过简单的、分步的分析流程实现,例如自动化建模。简易模型的目标并不是获得一个最佳模型,而是快速获得一个模型,得到比没有模型时更好的结果。
恰当地使用简易模型能带来巨大的帮助,它扩大了分析在企业中的影响。在过去,建立一个模型通常要耗费很多时间,建模成本很高。分析师可能需要几周甚至几个月的时间来获得数据,利用数据建模则需要更多的时间。这限制了模型的应用,人们只能针对具有较高价值的问题进行建模。如果你拥有3000万个或者4000万个邮件地址,那么为建模进行投资来挑选潜在用户是必要的,但如果你只有30万个邮件地址,并计划推广一个并不昂贵的产品,那么就没有必要投入成本建立模型了。
如果分析专家拥有一个现代化的分析环境,包括分析沙盒,以及先进的分析流程,如企业分析数据集,那么建立模型的时间将减少很多。我们在第4章与第5章中已经讨论过了这些技术。可用的标准化变量越多,系统的数据分析能力越强大,那么建立模型就越容易。
请时刻谨记,建立模型变得更加容易,并不会降低对努力工作与模型正确性的要求,只是如果有一个优秀的分析专家来执行分析流程,他会让工作更快地完成。
有些时候“足够好”就够了!
简易建模的目标是比没有任何模型时预测更准确。这个底限比过去大多数模型的要求都要低。当发现了一个足够好的结果时,简易建模过程就会停止。这种分析方法特别适合那些低价值的业务问题和场景,这种情况下并没有必要让每个模型都达到其最佳效果。
在评估一个简易模型时,主要的评估角度是,使用这个模型能否带来收益。如果投入更多的资源和精力,这个模型也许还有很大的提升空间,但如果目前没有任何模型,而一个简易模型就可以带来帮助,那么还是使用简易模型吧。
我们可以研究一种类似的场景。如果你拥有房屋,不少房间的装饰都需要进行改进。装修开放空间的房间,如厨房,通常会进行最顶级的装修。某些房间你也许只想进行简易的装修。也许装修客房浴室时,你会使用简单的材料和装饰,因为客房浴室并不值得进行大量投资。简易模型也是一样的道理,并得到了广泛使用。
简易模型的应用
简易模型使得高级分析可以推广到更多的业务问题和领域,简易模型的支撑范围要比分析专家人工建模这种传统方式大得多。
例如,零售企业可以针对某些重要的产品类别建立“购买倾向”模型。对于那些周转率较低、促销也较少的类别,没有必要建立个性化的评估模型。一个百货连锁企业,对于浴室清洁用品和碳酸饮料这类大销量的产品建立销量预测模型是有意义的,但对于某些周转率较低的产品,如鞋油、沙丁鱼等,建立销量预测模型就毫无意义了。
但如果需要对这些不那么重要的产品类别进行促销时,这时要如何做呢?也许沙丁鱼厂商愿意赞助一次针对于其沙丁鱼产品的促销活动。有些零售企业会针对其拥有的几百个不同产品类别都建立预测模型,其中大部分模型使用的都是简易模型。这些模型就是服务于这些不常见的场景与需求,并能够给企业带来一定的价值。重要的类别,如碳酸饮料或者浴室清洁产品,应该被区别对待,并为之建立高度个性化的模型,而对于某些销量小的产品类别,简易模型是这些产品拥有某种形式预测模型的一种可选方案。
今天的高级分析工具对于这类建模任务的支撑更加完善了。分析工具可以自动化地尝试多种算法,测试不同指标的各种组合方式,进行多种形式的自动化验证。这些工具帮助分析专家迅速生成合理优质的模型。对于低价值的业务问题,建模方法会有所变化。在某些业务场景下,使用一个足够好的模型是可以接受的,并不一定非要找到一个最好的模型,人们应该接受这一点。
让我们看一下简易模型在预测领域的另一种应用。假设一家制造企业,它投入了大量的资源来努力预测市场的总体需求,精确到每个季度、每个产品以及每个国家或区域。但是,假设它想预测每个零售店或分销点每一周每一种产品的销量,没有公司拥有足够的资源与人力来建立这么多高度个性化的预测模型。在这类低层次小粒度的问题上,一个可以自动化执行的、足够好的预测模型就够用了。如果更高层次的预测是准确的,低层次的预测结果汇总起来与高层次的预测结果吻合,对于这家企业来说就足够了,这种情况已经比没有模型时好很多了。
最重要的考虑因素是,确保你建立了一个工作流程来生成足够好的模型,而不是生成垃圾模型。必须定期重复检查简易模型的生成过程,确保其在可控范围内,人们也需要定期对模型结果进行验证。不对简易模型流程进行干预控制,让其随意执行,这将是非常糟糕的。
6.1.3 文本分析
文本及其他非结构化数据源分析是使用得越来越广泛的一种分析方法。许多大数据都属于文本及非结构化数据源的范畴。从直观上理解,文本分析就是可以使用多种类型的文本作为分析的输入源。文本的类型可以是类似电子邮件的书面材料或类似医学笔录的转录材料,甚至可以是扫描的文本文件或可转换成电子表格的法院记录。随着新型的文本数据源日益丰富,文本分析的技术也有了突飞猛进的发展。
近年来,各种文本信息,从电子邮件到社交媒体评论,如Facebook和Twitter类型的社交网站,到网页在线咨询和文本消息,甚至是呼叫中心的对话记录,这些信息都被收集并记录了下来。但是,要理解这些信息并不容易。我们需要解决信息的解析问题,识别上下文的内容,并且定义有意义的分析模式。文本和非结构化数据越来越多,并将逐渐成为不可忽视的一种新数据类型。
文本是大数据的一种常见类型,并且文本分析工具和方法已经取得了长足的发展。现在已经出现了一些工具可以帮助我们将文本解析为组成文本的单词或短语,然后分析这些单词和短语的含义。流行的商业文本分析工具提供商包括Attensity、Clarabridge、SAS和SPSS等公司。
一旦文本被解析为组成文本的单词或短语后,分析这些单词和短语所表达的意思和情感,以及寻找其中趋势与规律的方法就很多了。解析后的文本和文本统计结果也常常被用来建立各种文本分析模型。例如,判断某一特定用户的电子邮件中有多少积极的或消极的语气,判断某一位顾客在交谈过程中对某一特定产品的关注度等。这是对原始的非结构化数据进行解析和结构化处理的过程,这个过程通常被称为信息抽取。
非结构化数据本身通常是无法被分析的。然而,非结构化的数据可以通过某些特定的方法被结构化,这些结构化处理后的数据是可以进行分析的。想象一下电视剧中的侦探追查罪犯的过程,通常都有发现指纹的场景,接着,在指纹上放置大量小圆点,然后将圆点连接起来。最后,找到了一个匹配的指纹,并最终确定罪犯。在这种情况下,这个非结构化的指纹并不是真正的完全匹配,而只是匹配了结构化的外观,这个外观是从非结构化的指纹样式中得来的。对非结构化的海量数据进行分析时,这种处理场景会反复出现。
分析非结构化数据
通常,非结构化数据本身是无法被分析的。然而,非结构化的数据可以通过某些特定方式进行结构化处理,并得到可以直接进行分析的结构化结果。几乎没有哪种分析过程能够直接对非结构化数据进行分析,也无法直接从非结构化的数据中得出结论。
将上下文应用于文本并非易事,有一些可用的处理方法,但更多的是一种艺术。事实上,同一个单词可以表示不同的意思。例如,如果我说你非常差劲,那么我冒犯了你。但如果我说我刚去的滑雪场条件非常差劲,我实际上表达的是这个滑雪场是多么糟糕。让事情更复杂的是,单词只是文本含义的一个因素,你还需要考虑单词的阐述方法,语气和声调的变化可以完全改变一段话的含义。
表6-1是一个被广泛使用的好例子。根据句中着重强调的单词不同,句子大体意思也随之改变。当你看到并听到一个人说话时,你很容易就可以了解到说话人的意思。但是,当你仅仅有文本内容时,你就无法获得这些内容的真正含义。根据上下文或许可以帮助你理解说话人的意图,但是这种分析极为复杂。如表6.1中语句的细微差别所示,更让我们见识了文本分析有时是一项多么具有挑战性的工作。
表6-1 重音是如何改变句子意思的
文本分析方法是大部分企业必须接受的新鲜事物。文本分析已经开始从一项边缘性的分析技术成长为一项非常重要的分析技术,并且给许多行业和业务问题带来了巨大的影响。处理非结构化大数据源的方法有很多,这些方法也在不断地发展和进步,文本分析仅是其中的一种。
6.1.4 跟上分析方法的发展脚步
针对新商业问题的新方法层出不穷,要努力使企业的分析技能紧跟潮流,而不是停滞不前。在应用一种新的分析方法之前,分析人员需要充分了解这种新方法。让我们来看两个分析方法从很少被使用逐渐发展到被广泛使用的例子。这些例子很好地阐述了分析方法从很少被使用到到大规模应用的快速发展过程。
协同过滤与关联分析的目的相似。和关联分析一样,协同过滤常常被用于分辨某位特定顾客可能感兴趣的东西,这些结论来自于对其他相似顾客对哪些产品感兴趣的分析。协同过滤以其出色的速度和健壮性,在全球互联网领域炙手可热。实际上,协同过滤的实现方式是一种典型的简易模型。其基本方法很容易实现,并且可以快速生成高质量的推荐效果。随着互联网的发展,协同过滤被广泛地使用,并变得不可或缺。仅仅在10年到15年之前,它还并未被广泛地使用或熟知。
网页排名是Google所有服务的基础。当用户进行查询时,Google正是用网页排名来决定哪些链接与用户的需求关联性最大,并将这些链接提供给用户。所有的主流搜索引擎在网页排名的实现方式上都有其各自的特点。实际上,大部分的个人网站都有相应的方法将这些搜索功能嵌入网站内部以帮助用户进行站内搜索。这些技术近几年才被开发出来,但直到互联网时代,才变得意义重大。
大部分普通用户也许直到现在也没听说过协同过滤或网页排名。几十年前,大多数人不会在他们的日常生活之外被曝光,而在过去的这几年,个人信息已经变得无处不在。不管人们有没有意识到,无数上网用户每天都在接触或使用这些数据分析的成果。大部分人也许都没听过这些技术,但他们都在无意中使用了这些技术,在未来的几年内,一些鲜为人知的技术会逐渐流行起来。每个企业都需要确保有人在探索跟踪下一代的新型技术,并将其利用起来。这些跟踪工作可以通过参加分析大会,阅读分析文献、文章及博客,甚至可以与其他公司的分析专家进行交流等方式来实现。