《大数据架构和算法实现之路:电商系统的技术实战》——第3章 方案设计和技术选型:因变量连续的回归分析 3.1 线性回归的基本概念

简介:

本节书摘来自华章计算机《大数据架构和算法实现之路:电商系统的技术实战》一书中的第3章,第3.1节,作者 黄 申,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第3章

方案设计和技术选型:

因变量连续的回归分析

利用分类和聚类技术解决了前面两个问题之后,本章最终要关注小丽提出的第三大需求:在合理的范围内预测商品的销售转化率。“这项任务看上去不可能完成啊!”大宝不禁感叹道。“大宝,你说的有道理。销售和证券市场类似,影响其变化的因素实在是太多了。不过,我们可以大胆假设一点:历史总是惊人的相似。遵循一定的科学方法,在某些场景下根据先前的数据进行尝试,也许能发现未来的一些规律。今天,我们就来讲述另一个重要的机器学习方法:因变量连续的回归分析。”

3.1 线性回归的基本概念

本章之前阐述的分类问题会根据某个样本中的一系列特征输入,最后判定其应该属于哪个分类,然后预测出一个离散的分类标签。现实中,除了分类还面临着一种问题,如何根据一系列的特征输入,给出连续的预测值?例如这里所说的,电子商务网站根据销售的历史数据,预估新商品在未来的销售情况,就是一种典型的应用场景。如果只是预估卖得“好”还是“不好”,粒度明显太粗,不利于商品的排序,如果预估值是其转化率或绝对销量,那就相对比较合理了。再次回到水果的案例,重新假想一个场景,我们邀请的果农都是久经沙场的老将,对于水果稍加评估就能预测有百分之多少的概率能卖出去。再将1000颗水果放入一个黑箱中,每次随机摸出一颗,这次我们不再让果农判断它是属于苹果、甜橙还是西瓜,而是让他们根据水果的外观、分量等因素预估其卖出去的可能性是多少,可能性是0%到100%之间的任何一个实数值。这就是最基本的因变量连续回归分析。

因变量连续回归的训练和测试流程及分类大体相当,不过采用的具体技术会有所不同,它采用的是研究一个或多个随机变量y1, y2, ..., yi与另一些变量x1, x2, ..., xk之间关系的统计方法,又称多重回归分析。我们将y1, y2, ..., yi称为因变量,x1, x2, ..., xk称为自变量。通常情况下,因变量的值可以分解为两部分:一部分是来自于自变量的影响,即表示为自变量相关的函数,其中函数的形式是已知的,可能是线性函数也可能是非线性函数,但含有一些未知参数;另一部分是来自于其他未被考虑的因素和随机性的影响,即随机误差。

  • 回归按照不同的维度可以分如下为几种。
  • 按照自变量数量:当自变量x的个数大于1时称为多元回归。
  • 按照因变量数量:当因变量y的个数大于1时称为多重回归。
  • 按照模型:如果因变量和自变量为线性关系,就称为线性回归模型;如果因变量和自变量为非线性关系,则称为非线性回归分析模型。举个例子,最简单的情形是一个自变量和一个因变量,且它们大体上有线性关系,这叫一元线性回归,即模型为Y = a + bX + ε,这里X是自变量,Y是因变量,ε是随机误差,通常假定随机误差的均值为0。

假设此处的水果案例中,每个水果都有6个特征维度,包括形状、颜色、重量等。这六维就是自变量,最终卖出的概率是一重因变量。通过六元自变量预测最终卖出概率的这个因变量,称为六元一重回归分析。至于是否线性回归,则需要看训练过程中,线性回归模型是否能很好地拟合学习样本,使得随机误差足够小。如果不能,那就需要尝试非线性的回归模型。图3-1展示了二维空间里的拟合程度,图中离散的点是训练数据实例,直线是回归学习后确定的拟合线。从左侧可以看出,实例点和学习的直线非常接近,误差比较小。而右侧却相反,实例点和学习得出的直线距离都比较远。这种情况下我们认为左侧的拟合度要好于右侧,而且左侧学习得出的函数参数更可信。而右侧可能需要考虑换成其他非线性的回归函数。


screenshot

假设在水果的案例中我们足够幸运,最基本的线形回归效果很好,获得了如下的预测函数:

screenshot

那么,在预测的时候,我们将新的数据对象的各个维度特征值带入上述公式,那么就可以得到预估的转化率。不过在现实的数据中,情况往往比较复杂。对此,我们还可以进行相关性分析,用于确定如下关系。

  • 每个自变量和因变量之间的关系,初步估计对于最终预测而言,是比较重要的因素。
  • 不同自变量之间的关系,发现可能冗余的因素。

常见的相关系数是皮尔森(Pearson)系数,它是用来反映两个变量线性相关程度的统计量。取值范围在[-1, 1],绝对值越大,说明相关性越高,负数表示负相关。图3-2表示了正相关和负相关的含义。左侧X曲线和Y曲线有非常近似的变化趋势,当X上升Y往往也是上升的,X下降Y往往也下降,这就表示两者有较强的正相关性。右侧X和Y两者的变化趋势正好相反,当X上升的时候,Y往往是下降的,X下降的时候,Y往往是上升的,这就表示两者有较强的负相关性。


screenshot

皮尔森系数没有考虑重叠数对结果的影响。计算公式如下:

screenshot

其中n表示向量维度,xi和yi分别为两个向量在第i维的数值。和分别表示两个向量维度值序列的均值,sX和sY分别表示两个向量维度值序列的标准差。

由于这些回归分析的理论不容易理解,我们将直接使用R中的工具开展深入的分析,同时进行相关的讲解。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
12天前
|
缓存 前端开发 JavaScript
第三章(概念篇) 微前端架构模式
第三章(概念篇) 微前端架构模式
|
12天前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
|
2天前
|
机器学习/深度学习 搜索推荐 数据可视化
大数据用户画像之基本概念
大数据用户画像利用大数据技术分析用户基本信息、消费行为、兴趣、社交及地理数据,创建详细用户模型,助力企业精准营销。涉及技术包括数据挖掘、大数据处理(Hadoop、Spark)、数据可视化、机器学习和数据库管理。通过用户画像,企业可实现市场定位、个性化推荐、精准广告、产品优化和风险控制。学习该领域需掌握多个技术栈,包括相关算法、工具及业务理解。
|
3天前
|
关系型数据库 分布式数据库 数据处理
【PolarDB 开源】PolarDB 在大数据分析中的应用:海量数据处理方案
【5月更文挑战第25天】PolarDB是解决大数据挑战的关键技术,以其高性能和可扩展性处理大规模数据。通过与数据采集和分析工具集成,构建高效数据生态系统。示例代码显示了PolarDB如何用于查询海量数据。优化策略包括数据分区、索引、压缩和分布式部署,广泛应用于电商、金融等领域,助力企业进行精准分析和决策。随着大数据技术进步,PolarDB将继续发挥关键作用,创造更多价值。
26 0
|
4天前
|
算法 搜索推荐 Java
Java数据结构 -- 常见算法分析(查找算法、排序算法)精解详解!!!
Java数据结构 -- 常见算法分析(查找算法、排序算法)精解详解!!!
7 0
|
7天前
|
搜索推荐 算法 程序员
常见排序算法及其稳定性分析
常见排序算法及其稳定性分析
|
7天前
|
存储 算法 搜索推荐
【大数据分析与挖掘技术】Mahout推荐算法
【大数据分析与挖掘技术】Mahout推荐算法
14 0
|
7天前
|
机器学习/深度学习 算法 数据挖掘
【大数据分析与挖掘技术】概述
【大数据分析与挖掘技术】概述
11 1
|
8天前
|
存储 机器学习/深度学习 算法
数据结构与算法⑬(第四章_中_续二)堆解决Topk问题+堆的概念选择题
数据结构与算法⑬(第四章_中_续二)堆解决Topk问题+堆的概念选择题
17 3
|
8天前
|
存储 移动开发 算法
数据结构与算法⑩(第四章_上)树和二叉树和堆的概念及结构(下)
数据结构与算法⑩(第四章_上)树和二叉树和堆的概念及结构
21 0