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

简介: 本节书摘来自华章计算机《大数据分析原理与实践》一书中的第2章,第2.1节,作者 王宏志,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1 大数据分析模型建立方法

大数据分析模型可以基于传统数据分析方法中的建模方法建立,也可以采取面向大数据的独特方法来建立。为了区分这两种模型建立方法,我们分别简称其为传统建模方法和大数据建模方法。由于这两种模型建立方法存在一些交集(如业务调研、结果校验等),我们采取统一框架来进行介绍,在介绍时区分两种建模方法的不同之处。

image

(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 
相关文章
|
1天前
|
数据采集 人工智能 数据挖掘
「一行分析」利用12000条招聘数据分析Python学习方向和就业方向
「一行分析」利用12000条招聘数据分析Python学习方向和就业方向
|
3天前
|
数据可视化 大数据 Python
python大数据分析处理
python大数据分析处理
13 0
|
3天前
|
存储 关系型数据库 MySQL
Mysql大数据批量插入方法
Mysql大数据批量插入方法
24 0
|
3天前
|
机器学习/深度学习 人工智能 大数据
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
|
3天前
|
SQL 存储 分布式计算
如何使用MaxCompute进行数据分析?
【5月更文挑战第6天】如何使用MaxCompute进行数据分析?
16 1
|
3天前
|
存储 机器学习/深度学习 数据采集
大数据处理与分析实战:技术深度剖析与案例分享
【5月更文挑战第2天】本文探讨了大数据处理与分析的关键环节,包括数据采集、预处理、存储、分析和可视化,并介绍了Hadoop、Spark和机器学习等核心技术。通过电商推荐系统和智慧城市交通管理的实战案例,展示了大数据在提高用户体验和解决实际问题上的效能。随着技术进步,大数据处理与分析将在更多领域发挥作用,推动社会进步。
|
3天前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
|
3天前
|
存储 运维 监控
|
3天前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
3天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。