预测分析:R语言实现2.1 线性回归入门

线 性 回 归


我们从第1章了解到回归问题会预测一个数值型的输出。最简单和最常见的回归类型就是线性回归。本章要探讨为什么线性回归如此常用,以及它的局限性和扩展问题。

2.1 线性回归入门


在线性回归(linear regression)中,输出变量是通过输入特征的一个线性加权组合来预测的。下面是简单线性模型的一个示例:

=1x+0

上述模型实质上表达的是,我们要估算一个用表示的输出,它是由字母x标记的一个预测变量(也就是特征)的一个线性函数。由希腊字母表示的项是模型的参数,被称为回归系数(regression coefficient)。一旦我们训练好模型并给这些参数选定了值,我们就可以通过在方程里直接代入x的任何值对输出变量进行预测。另一个线性模型的示例由下面的方程给出,这次的模型带有三个特征,回归系数也已经赋值了:

=1.91x1+2.56x2-7.56x3+0.49

和前面那个方程一样,在该方程中我们也可以看到系数比特征数多1个。这个附加的系数0被称为截距(intercept),它是当所有输入特征值都为0时模型的期望值。其他的参数可以解释为某特征每增加1个单位时输出值的预期变化。例如,在前面的方程中,如果特征x1的值增加1个单位,输出的期望值就会增加1.91个单位。类似地,特征x3的值增加1个单位会让输出减少7.56个单位。在简单的一维回归问题中,我们可以把输出绘制在图的y轴,把输入特征绘制在x轴。在这个示例中,模型预测了两个轴之间的一种直线关系,其中0代表该直线和y轴交叉或相交的交点,而1则代表该直线的斜率。我们通常把这种一个特征(因而有两个回归系数)的情况称为简单线性回归(simple linear regression),把两个或多个特征的情况称为多元线性回归(multiple linear regression)。

线性回归的假设

在深入钻研线性回归模型的训练方法及其性能的细节之前,我们要来看一下模型的假设。模型假设主要描述了模型对于我们尝试预测的输出变量y的判断。具体来说,线性回归模型会假设输出变量是一组特征变量的加权线性函数。此外,该模型还假设对于特征变量的固定值,输出是具有常数方差的正态分布。这就等于说,以两个输入特征为例,该模型假设的是,真实的输出变量y可以用如下的一个方程表示:

y=2x2+1x1+0+

这里,代表一个误差项,它是一个均值为0且方差为常数2的正态分布:

~N (0, 2)

我们可能听说过更正式地描述常数方差概念的术语—同方差性(homoscedasticity)。说到同方差性或者常数方差(constant variance),我们指的是这样的事实:误差部分的方差不会随着输入特征的值或水平(level)而变化。在下面的绘图中,我们可视化了一个具有异方差(heteroskedastic)误差(也就是不具有常数方差的误差)的线性关系虚构示例。其中,输入特征值较小的数据点离直线较近,因为在绘图的这个区域方差比较低,而较大的输入特征值就离直线更远,因为它的方差更大。

 

项是实际函数y的一个不能化简的误差分量,可以用来表示随机误差,例如在特征值里的测量误差。在训练一个线性回归模型时,即使得到了所有合适的特征和充足的数据,并且要建模的系统也确实是线性的,但我们还是会预期在对输出的估算中观测到一定数量的误差。换言之,即使是线性的实际函数,我们还是会预期,一旦找到了对训练样本拟合最佳的一条直线,但由于该误差分量体现的这个固有方差,这条直线也不会正好穿过所有(或者甚至不会穿过任何一个)数据点。不过,需要记住的关键一点是,在这个理想化的场景里,因为误差分量的均值为0且方差为常数,所以在具有足够大的样本的前提下,训练准则让我们能接近回归系数的真实值,因为这些误差会互相抵消。

另一个重要的假设和误差项的独立性有关。这意味着我们不希望和某条具体的观测数据相关的残差(residual)或误差项以某种方式也和另一条观测数据具有相关性。作为测量过程有误的典型结果,当观测数据相互之间具有函数关系时,这个假设就不成立了。如果取出训练数据的一部分,把所有的特征值和输出值乘以2,并把这些新数据点加入训练数据,我们就会产生一种拥有更大数据集的错觉,不过,这样做的结果是导致存在误差项互相有依赖关系的配对观测数据,从而使我们的模型假设不能成立。附带再说一句,对于任何模型,这种人工扩大数据集的方式都永远是不可取的。类似地,如果观测数据以某种方式通过某个未测量的变量相互关联,也会产生互相关联的误差项。例如,如果我们在测量某个生产线零件的故障率,那么来自同一个工厂的零件可能会在误差里具有相关性,比如,来源于在组装过程的不同标准和规程。因此,如果不把工厂作为一个特征加进来,我们就会在样本里看到,来自同一个工厂的零件的观测数据之间会存在相互关联的误差。实验设计(experimental design)的研究内容就是关于识别并消除误差项里的相关性的,但这个主题超出了本书的范围。

最后还有一个重要的假设,它表达了这样一个概念:特征本身在统计学上是相互独立的。这里有必要阐明的是,在线性模型中,虽然输入特征必须是线性加权的,但是它们本身可以是另一个函数的输出。举例说明,如下方程式是一个具有三个特征sin(z1), ln(z2)和exp(z3)的线性模型,这看起来也许有点令人吃惊:

y=0.8 sin(z1)-0.6 ln(z2)+2.3ez3

通过对输入特征进行一些变换并替换到模型中,我们就可以看出它其实是一个线性模型:

 

现在,我们有了一个更易于识别为线性回归模型的方程式。如果前面的示例让我们相信几乎任何方程都可以变换为一个线性模型,那么下面两个示例会有力地说服我们,实际上并非如此:

 

由于第一个回归系数(1)的存在,上面两个模型都不是线性模型。第一个模型之所以不是线性模型,是因为1成为第一个输入特征的指数。在第二个模型里,1在一个正弦函数的内部。从这些示例要吸取的重要教训是,有些情况下,为了让数据符合线性模型,我们可以对输入特征进行变换,但是,需要小心从事,让回归系数始终是变换后新特征的线性权值。

时间: 2024-11-10 11:35:11

预测分析:R语言实现2.1 线性回归入门的相关文章

R 语言 用途 与优势

(1)R 语言主要用来 对 数据进行统计分析 (2)R语言可以针对数据 进行绘图 其高级功能如下 R语言饼图图表R语言条形图(柱状图)R语言箱线图R语言柱状图R语言线型图R语言散点图R语言均值,中位数和模式R语言线性回归R语言多元回归R语言逻辑回归R语言正态分布R语言二项分布R语言泊松回归R语言协方差分析R语言时间序列分析R语言非线性最小二乘R语言决策树R语言随机森林R语言生存分析R语言卡方检验 绘图 R编程语言在数字分析与机器学习领域已经成为一款重要的工具.随着机器逐步成为愈发核心的数据生成器

预测分析:R语言实现2.3 多元线性回归

2.3 多元线性回归 只要有多于一个输入特征,并且要构建一个线性回归模型,我们就处于多元线性回归的领域了.具有k个输入特征的多元线性回归模型的一般方程如下所示: y=kxk+k-1xk-1+-+1x1+0+ 关于模型和误差分量的假设还是和简单线性回归的一样,记住,因为现在有了超过1个的输入特征,我们假设它们是相互独立的.我们在讲解多元线性回归时不会再使用模拟数据,而是要分析两套实际环境下的数据集. 2.3.1 预测CPU性能 我们的第一个实际环境下的数据集由研究者Dennis F. Kibler

预测分析:R语言实现2.2 简单线性回归

2.2 简单线性回归 在着眼于某些真实环境的数据集之前,尝试在人造数据上训练模型是非常有帮助的.在这样的人造场景里,我们事先就知道了实际输出函数是什么,而这对于真实环境的数据来说通常是不成立的.进行这种练习的好处是,它会让我们对自己的模型在所有假设都完全成立的理想场景下的工作情况有清楚的了解,而且它有助于对具备理想的线性拟合时发生的情况进行可视化.我们先模拟一个简单线性回归模型.后面的R语言代码片段会为下面这个只有1个输入特征的线性模型创建一个带有100条模拟观测数据的数据框: y=1.67x1

预测分析:R语言实现.

数据科学与工程技术丛书 预测分析:R语言实现 Mastering Predictive Analytics with R [希] 鲁伊·米格尔·福特(Rui Miguel Forte) 著 吴今朝 译 图书在版编目(CIP)数据 预测分析:R语言实现/(希)鲁伊·米格尔·福特(Rui Miguel Forte)著:吴今朝译. -北京:机械工业出版社,2016.10 (数据科学与工程技术丛书) 书名原文:Mastering Predictive Analytics with R ISBN 978-

预测分析:R语言实现导读

前 言 预测分析以及更一般意义上的数据科学当前正处于被追捧的热潮中,因为像垃圾邮件过滤.单词补全和推荐引擎这样的预测性技术已经被广泛运用于日常生活.这些技术现在不仅越来越被我们所熟悉,还赢得了我们的信任.在计算机处理能力和软件方面(例如R语言及其大量专用的扩展包)的发展产生了这样的局面:用户经过培训就可以使用这些工具,而无需具备统计学的高级学位,也不需要使用公司或大学实验室专用的硬件.技术的成熟度和基础软硬件的可用性结合起来,让很多该领域的从业者倍感兴奋,他们感到可以为自己的领域和业务设计一些能

预测分析:R语言实现1.1 模型

1.1 模型 模型是预测分析学的核心,因此,本书一开始会讨论各种模型及其形式.简而言之,模型是我们要理解和分析的状态.流程或系统的一种表现形式.我们创建模型的目的是根据它得出推论以及(在本书中对我们更为重要的一点)对世界进行预测.模型的格式和风格有很多种,我们在本书中会探讨这种多样性中的一部分.模型可以是和我们能够观察或测量的数量值相关的一些方程,也可以是一套规则.我们大部分人在学校都熟悉的一个简单模型是牛顿第二运动定律.该定律表明,一个物体受到的合力会使之在合力作用的方向加速,加速度和合力大小

预测分析:R语言实现1.3 预测建模的过程

1.3 预测建模的过程 通过观察模型的某些不同特征,我们已经对预测建模过程的各种步骤有所了解.在本节,我们要顺序讲解这些步骤,并理解每个步骤是如何对该任务的整体成功起作用的. 1.3.1 定义模型的目标 简而言之,每个项目的第一步是准确找出期望的结果是什么,因为这样有助于引导我们在项目的进展过程中做出正确的决定.在一个预测分析学项目里,这个问题包括深入研究我们要进行的预测的类型,以及从细节上去理解任务.例如,假定我们要尝试创建一个模型来预测某公司的雇员流失.我们首先需要准确定义这个任务,同时尽量

预测分析:R语言实现1.4 性能衡量指标

1.4 性能衡量指标 在上一节讨论预测建模过程的时候,我们讨论了利用训练集和测试集对被训练模型的性能进行评估的重要性.在本节,我们要审视在描述不同模型的预测精确度时常遇见的某些性能衡量指标.其实,根据问题的不同类型,会需要使用略有差异的性能评估方式.由于本书讨论的重点是有监督的模型,所以我们会审视如何评估回归模型和分类模型.对于分类模型,我们还会讨论二元分类任务这样一个非常重要且经常遇到各类问题的模型所采用的某些额外的衡量指标. 1.4.1 评估回归模型 在一个回归的场景里,让我们回顾一下,通过

预测分析:R语言实现2.7 正则化

2.7 正则化 变量选择是一个重要的过程,因为它试图通过去除与输出无关的变量,让模型解释更简单.训练更容易,并且没有虚假的关联.这是处理过拟合问题的一种可能的方法.总体而言,我们并不期望一个模型能完全拟合训练数据.实际上,过拟合问题通常意味着,如果过分拟合训练数据,对我们在未知数据上的预测模型精确度反而是有害的.在关于正则化(regularization)的这一节,我们要学习一种减少变量数以处理过拟合的替代方法.正则化实质上是在训练程序中引入刻意的偏误或约束条件,以此防止系数取值过大的一个过程.