《大数据分析原理与实践》一一2.1 大数据分析模型建立方法

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本节书摘来自华章出版社《大数据分析原理与实践》一 书中的第2章,第2.1节,作者:王宏志 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1 大数据分析模型建立方法
大数据分析模型可以基于传统数据分析方法中的建模方法建立,也可以采取面向大数据的独特方法来建立。为了区分这两种模型建立方法,我们分别简称其为传统建模方法和大数据建模方法。由于这两种模型建立方法存在一些交集(如业务调研、结果校验等),我们采取统一框架来进行介绍,在介绍时区分两种建模方法的不同之处。
传统数据分析建模方法与大数据分析建模方法
从大数据这个概念提出开始,就有“大数据分析方法与传统数据分析方法同与异”之辩。有的观点认为,传统分析是“因果分析”,而大数据分析是“关联分析”;有的观点认为,传统分析是“假设→验证”形式的分析,大数据分析是“探索→关联”形式的分析;也有观点认为,大数据分析并无新颖之处,只不过是传统分析扩展到了更大规模的数据上,需要的只是一些大规模数据处理技术而不是更新的建模方法。
笔者认为,“大数据分析”和传统的“数据分析”并不是一个割裂的或者说对立的概念,其分析模型建立方法可谓“运用之妙,存乎一心”,建立数据分析模型的目的是解决问题,可以根据分析的目标和所拥有的数据资源选择建模的方法论,而并不一定要区分是使用传统的数据分析建模方法还是大数据数据分析建模方法。

(1)业务调研
首先需要向业务部门进行调研,了解业务需要解决的问题,将业务问题映射成数据分析工作和任务。对业务的了解无疑是传统建模方法和大数据建模方法都需要的。
(2)准备数据
根据业务需求准备相应的数据。需要注意的是,传统建模方法通常有明确的建模目的,根据建模的目的准备数据,而大数据建模方法通常尽可能搜集全量数据,以便于从中发现此前没有发现的规律。
(3)浏览数据
这一步骤是大数据建模方法所特有的,在这一步骤中,数据科学家或者用户通过浏览数据发现数据中一些可能的新关联,这个步骤可以通过对大数据进行可视化来实现。
(4)变量选择
经过业务调研、准备数据和浏览数据,手中已有的数据和分析的目标已经清楚了,在这一步骤中,基于分析的目标选择模型中的自变量,并定义模型中的因变量。因变量根据数据来定义,自变量根据数据的模式以及和因变量之间的关系进行选择。需要注意的是,有的时候并不能够精准地选择自变量,在这种情况下可以选择一个较大的自变量范围,然后利用本书第9章提出的技术有效选择相应的变量。
(5)定义(发现)模型的模式
这一步骤根据上一步骤选择的自变量和因变量定义或者发现模型的模式。所谓模型的模式指的是模型的“样子”,例如,自变量x1,x2,…,xn和因变量y之间显式地表示成方程y=f(x1,x2,…,xn),或者自变量构成决策树,因变量y在叶子上,这些都是模型的模式。在这一步骤中,数据科学家的经验起着非常重要的作用,因为在有些情况下,模式有很多选择,哪一种能够有效地描述数据之间的关系是因问题而异、因数据而异的。在有些情况下甚至需要根据后面步骤对模型有效性进行评估的结果来迭代地修改模式。这个过程对大数据分析建模尤其重要,因为大数据分析建模中数据的模型可能更加不明显,需要迭代地修正模型的模式。
(6)计算模型参数
通常在模型中有一些参数,这些参数决定了模型的最终形式。有些参数需要根据需求或者数据的形式来定义,例如有些聚类模型中聚类的个数;而有些参数需要通过算法学习得出,例如线性回归中自变量的系数。有时候,模型中的参数需要根据分析模型的实际应用结果进行调整,即所谓的“调参”,这是一个重要的过程,因为参数直接决定了模型的有效性。
(7)分析模型的解释和评估
数据分析模型从业务中来,最终要应用到业务中去,因而当分析模型建立之后,需要由业务专家进行业务解释和结果评价。具体来说,可以将分析模型应用于业务中的数据,由业务专家根据经验解释从分析模型得到的结果,看此结果是否符合业务要求;也可以基于已知有效分析结果的数据对模型进行评估,自动验证模型得到的分析结果是否和有效的分析结果相符合。
上面谈到的7个步骤是广义的分析模型建立步骤,包括了从需求到模型验证的部分;如果是狭义的建模,即根据需求和数据建立模型,仅包含其中的(3)~(6)四个步骤。
我们用一个例子来说明大数据分析的过程。我们期望研究提升学生学习成绩的方法,经过老师的分析,希望研究“基于学生的行为数据预测学习成绩”这一数据分析任务。
对于这一任务,传统的建模方法可能由专家去分析一系列可能的因素,比如上课的出勤率、作业完成率等,然后到相关的数据库中获取相应的数据,并从数据库中得到学生的成绩。
大数据建模方法中,试图去获取所有可能的数据,包括学生的起床时间、学生体检记录、学生的籍贯等。继而通过可视化(比如做折线图)等方法分析这些因素是否可能和学生的学习成绩相关。
究竟选择哪些变量是要进行研究的。根据领域知识和浏览数据,实际上已经发现了一些可能影响学生成绩的因素,这些因素在数据库中体现为“属性”,对应着分析模型中的“变量”。在大数据分析建模方法中,可能得到了很多自变量(比如起床时间、吃早餐的时间、血压等也许相关也许不相关的变量),在这种情况下,可以使用一些特征工程的方法,选择和成绩相关性比较高的变量,并且排除不相关的自变量。比如起床时间和吃早餐的时间在统计上就有较强的相关性。
假设在这一步中,我们选择了上课的出勤率、作业完成率和血压作为自变量。接下来定义模型的模式,这与自变量和因变量数据的类型有关。在这个例子中,出勤率、作业完成率和血压都是数值型,而学生成绩也是数值型,则可以考虑多元线性回归。
比如我们选定了多元线性回归作为模式,下一步就是通过算法确定多元线性回归中的参数。当然在有些情况下,即使算法得到了最优参数,最后结果的误差仍然很大,在这种情况下,很有可能是模型模式选择的问题,也就是多元线性回归模型可能难以准确描述学习成绩和出勤率、作业完成率以及血压的关系,可能需要换其他模式,比如多项式回归等。
当确定了模型,则可以对其进行解释。一种方法是由专家来分析,比如“为什么血压的平方会对成绩有影响?”;另一种方法就是用更多的数据(出勤率、作业完成率、血压和学习成绩)来验证这个模型是否可以推广。
需要注意的是,这是一个为了解释上述过程的虚拟例子,并不代表实际情况。在现实中,一些数据会由于得不到(比如学生起床时间)或者侵犯隐私(比如学生的健康情况)而无法使用。现实中的建模通常要迁就可以有效使用的数据。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
6天前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
31 2
|
1月前
|
SQL 消息中间件 分布式计算
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
66 5
|
1月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
82 0
|
9天前
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
50 14
|
14天前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
47 2
|
16天前
|
数据采集 机器学习/深度学习 搜索推荐
大数据与社交媒体:用户行为分析
【10月更文挑战第31天】在数字化时代,社交媒体成为人们生活的重要部分,大数据技术的发展使其用户行为分析成为企业理解用户需求、优化产品设计和提升用户体验的关键手段。本文探讨了大数据在社交媒体用户行为分析中的应用,包括用户画像构建、情感分析、行为路径分析和社交网络分析,以及面临的挑战与机遇。
|
16天前
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。
|
17天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
18天前
|
人工智能 供应链 搜索推荐
大数据分析:解锁商业智能的秘密武器
【10月更文挑战第31天】在信息爆炸时代,大数据分析成为企业解锁商业智能的关键工具。本文探讨了大数据分析在客户洞察、风险管理、供应链优化、产品开发和决策支持等方面的应用,强调了明确分析目标、选择合适工具、培养专业人才和持续优化的重要性,并展望了未来的发展趋势。
|
22天前
|
存储 机器学习/深度学习 大数据
量子计算与大数据:处理海量信息的新方法
【10月更文挑战第31天】量子计算凭借其独特的量子比特和量子门技术,为大数据处理带来了革命性的变革。相比传统计算机,量子计算在计算效率、存储容量及并行处理能力上具有显著优势,能有效应对信息爆炸带来的挑战。本文探讨了量子计算如何通过量子叠加和纠缠等原理,加速数据处理过程,提升计算效率,特别是在金融、医疗和物流等领域中的具体应用案例,同时也指出了量子计算目前面临的挑战及其未来的发展方向。