全文链接:http://tecdat.cn/?p=9706
在这文中,我将介绍非线性回归的基础知识。非线性回归是一种对因变量和一组自变量之间的非线性关系进行建模的方法。最后我们用R语言非线性模型预测个人工资数据(查看文末了解数据获取方式)是否每年收入超过25万。
这些数据点对应于一段时间内的中国国内生产总值或 GDP。
第一栏是年份,第二栏是中国当年相应的年国内总收入。这就是数据点的样子。现在,我们有几个有趣的问题。
首先,GDP可以根据时间来预测吗?
其次,我们可以使用简单的线性回归对其进行建模吗?
的确。如果数据显示曲线趋势,则与非线性回归相比,线性回归不会产生非常准确的结果。仅仅是因为,顾名思义,线性回归假定数据是线性的。
散点图显示 GDP 与时间之间似乎存在很强的关系,但这种关系不是线性的。如您所见,增长开始缓慢,然后从 2005 年开始,增长非常显着。最后,它在 2010 年代略有减速。它看起来像逻辑函数或指数函数。因此,它需要一种特殊的非线性回归过程估计方法。
存在许多不同的回归,可用于拟合数据集的外观。你可以在这里看到二次和三次回归线,它可以无限延伸。本质上,我们可以将所有这些称为多项式回归,其中自变量 X 和因变量 Y 之间的关系被建模为 X 中的 N 次多项式。有多种回归类型可供选择,很有可能其中一个将非常适合您的数据集。请记住,选择最适合数据的回归非常重要。
什么是多项式回归?
多项式回归将曲线拟合到您的数据。Thetas 是要估计的参数,使模型完全适合基础数据。虽然这里 X 和 Y 之间的关系是非线性的,多项式回归无法拟合它们,但多项式回归模型仍然可以表示为线性回归。
给定三次多项式方程,将模型转换为具有新变量的简单线性回归。这个模型在要估计的参数中是线性的,对吧?
因此,这种多项式回归被认为是传统多元线性回归的一个特例。因此,您可以使用与线性回归相同的机制来解决此类问题。因此,多项式回归模型可以使用最小二乘模型进行拟合。最小二乘法是一种通过最小化给定数据集中观察到的因变量与线性函数预测的因变量之间差异的平方和来估计线性回归模型中未知参数的方法。
什么是非线性回归?
首先,非线性回归是一种对因变量和一组自变量之间的非线性关系建模的方法。
其次,对于一个被认为是非线性的模型,Y必须是参数Theta的非线性函数,不一定是特征X。当涉及到非线性方程时,它可以是指数,对数,和逻辑函数,或许多其他类型。正如您在所有这些方程中看到的那样,Y 的变化取决于参数 Theta 的变化,不一定只取决于 X。也就是说,在非线性回归中,模型在参数上是非线性的。与线性回归相比,我们不能使用普通的最小二乘法来拟合非线性回归中的数据。一般来说,参数的估计并不容易。
让我在这里回答两个重要的问题。
首先,我怎样才能以简单的方式知道问题是线性的还是非线性的?
要回答这个问题,我们必须做两件事。首先是直观地确定关系是线性的还是非线性的。最好用每个输入变量绘制输出变量的双变量图。此外,您可以计算自变量和因变量之间的相关系数,如果所有变量的相关系数为 0.7 或更高,则存在线性趋势,因此不适合拟合非线性回归。我们要做的第二件事是当我们无法准确地建模与线性参数的关系时,使用非线性回归而不是线性回归。
第二个重要问题是,如果我的数据在散点图上显示为非线性,我应该如何建模?
要解决这个问题,您必须使用多项式回归、使用非线性回归模型或转换您的数据。
R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析
在这里,我们放宽了流行的线性方法的假设。有时线性假设只是一个很差的近似值。有许多方法可以解决此问题,其中一些方法可以通过使用正则化方法降低模型复杂性来 解决 。但是,这些技术仍然使用线性模型,到目前为止只能进行改进。本文本专注于线性模型的扩展
- _多项式回归_ 这是对数据提供非线性拟合的简单方法。
- _阶跃函数_ 将变量的范围划分为 _K个_ 不同的区域,以生成定性变量。这具有拟合分段常数函数的效果。
- _回归样条_ 比多项式和阶跃函数更灵活,并且实际上是两者的扩展。
- _局部样条曲线_ 类似于回归样条曲线,但是允许区域重叠,并且可以平滑地重叠。
- _平滑样条曲线_ 也类似于回归样条曲线,但是它们最小化平滑度惩罚的残差平方和准则 。
- _广义加性模型_ 允许扩展上述方法以处理多个预测变量。
多项式回归
这是扩展线性模型的最传统方法。随着我们增加 多项式的项,多项式回归使我们能够生成非线性的曲线,同时仍使用最小二乘法估计系数。
点击标题查阅往期内容
01
02
03
04
逐步回归
它经常用于生物统计学和流行病学中。
回归样条
回归样条是 扩展多项式和逐步回归技术的许多_基本_函数之一 。事实上。多项式和逐步回归函数只是_基_ 函数的特定情况 。
这是分段三次拟合的示例(左上图)。
为了解决此问题,更好的解决方案是采用约束,使拟合曲线必须连续。
选择结的位置和数量
一种选择是在我们认为变化最快的地方放置更多的结,而在更稳定的地方放置更少的结。但是在实践中,通常以统一的方式放置结。
要清楚的是,在这种情况下,实际上有5个结,包括边界结。
那么我们应该使用多少个结?一个简单的选择是尝试许多个结,然后看哪个会产生最好的曲线。但是,更客观的方法是使用交叉验证。
与多项式回归相比,样条曲线可以显示出更稳定的效果。
平滑样条线
我们讨论了回归样条曲线,该样条曲线是通过指定一组结,生成一系列基函数,然后使用最小二乘法估计样条系数而创建的。平滑样条曲线是创建样条曲线的另一种方法。让我们回想一下,我们的目标是找到一些非常适合观察到的数据的函数,即最大限度地减少RSS。但是,如果对我们的函数没有任何限制,我们可以通过选择精确内插所有数据的函数来使RSS设为零。
选择平滑参数Lambda
同样,我们求助于交叉验证。事实证明,我们实际上可以非常有效地计算LOOCV,以平滑样条曲线,回归样条曲线和其他任意基函数。
平滑样条线通常比回归样条线更可取,因为它们通常会创建更简单的模型并具有可比的拟合度。
局部回归
局部回归涉及仅使用附近的训练观测值来计算目标点_x_ 0 处的拟合度 。
可以通过各种方式执行局部回归,尤其是在涉及拟合_p_ 线性回归模型的多变量方案中尤为明显 ,因此某些变量可以全局拟合,而某些局部拟合。
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享(下):https://developer.aliyun.com/article/1492366