Python机器学习非线性回归,在这个视频中,介绍了非线性回归的基础知识。通过中国1960-2014年的国内生产总值(GDP)数据,展示了线性回归无法准确拟合非线性关系的情况。介绍了多项式回归和非线性回归的概念,并解释了如何确定问题是线性的还是非线性的以及如何建模非线性关系。最后,提到了选择最适合数据的回归模型非常重要。
这些数据点对应于中国1960-2014年的国内生产总值(GDP)。第一列是年份,第二列是中国当年相应的国内生产总值(以美元计)。这就是数据点的外观。
现在,我们有几个有趣的问题。第一,GDP可以基于时间进行预测吗?第二,我们可以使用简单的线性回归来建模吗?
确实如此。如果数据显示曲线趋势,那么线性回归就不会产生与非线性回归相比结果非常准确。只是因为,顾名思义,线性回归假设数据是线性的。
散点图显示,GDP与时间之间似乎存在很强的关系,但这种关系不是线性的。正如你所见,增长开始缓慢,然后从2005年开始,增长非常显著。最后,它在2010年略有减速。它看起来像一个逻辑函数或指数函数。所以,它需要一种特殊的非线性回归过程的估计方法。
例如,如果我们假设这些数据点的模型是指数函数,例如y-hat等于θ0加上θ1乘以θ2的x次幂,我们的工作是估计模型的参数,即θ,并使用拟合模型预测未知或未来情况下的GDP。
事实上,存在许多不同的回归方法,可以用于适应数据集的外观。这里可以看到二次和三次回归线,它可以无限度地继续下去。本质上,我们可以称所有这些多项式回归,其中自变量X和因变量Y被建模为X中的N次多项式。
有许多类型的回归可供选择,有一个很好的机会,一个将适合您的数据集。记住,选择最适合数据的回归非常重要。
那么,什么是多项式回归?多项式回归将曲线拟合到数据。三次多项式的一个简单示例显示为y-hat等于θ0加θ1乘以X加θ2乘以X的平方加θ3乘以X的立方,其中θ是要估计的参数使模型完全适合底层数据。虽然X和Y之间的关系是这里的非线性和多项式回归不能拟合它们,多项式回归模型仍然可以表示为线性回归。
我知道有点困惑,但让我们看一个例子。给定三次多项式方程,通过定义X_1等于X,X_2等于X的平方或X的二次幂,依此类推,该模型被转换为简单的线性回归,新变量为Y帽等于θ0上θ1乘以X1加上θ2乘以X2加上θ3乘以X3。该模型在待估计的参数中是线性的,对吗?因此,该多项式回归被认为是传统多元线性回归的特例。因此,您可以使用与线性回归相同的机制来解决这样的问题。因此,多项式回归模型可以使用最小二乘模型进行拟合。最小二乘法是一种估计线性回归模型中的未知参数之间差异的平方中的观测因变量给定的数据集和线性函数预测的数据集。
那么,什么是非线性回归呢?首先,非线性回归是一种建模方法之间的非线性关系因变量和一组自变量。其次,对于被视为非线性的模型,Y必须是参数θ的非线性函数,不一定是特征X。当涉及到非线性方程时,它可以是指数形状,对数、逻辑或许多其他类型。正如你在所有这些方程式中看到的那样,Y帽的变化取决于参数θ的变化,不一定仅在X上。也就是说,在非线性回归中,模型的参数是非线性的。与线性回归相比,在非线性回归中,不能用普通的最小二乘法来拟合数据。通常,参数的估计并不容易。
让我在这里回答两个重要问题。首先,我如何简单地知道问题是线性的还是非线性的?要回答这个问题,我们必须做两件事。第一个是直观地确定关系是线性的还是非线性的。最好绘制输出变量与每个输入变量的双变量图。此外,还可以计算相关系数在自变量和因变量之间,以及如果,对于所有变量,它为0.7或更高,存在线性趋势,因此,拟合非线性回归是不合适的。我们必须做的第二件事是使用非线性回归,而不是线性回归,当我们不能用线性参数精确地建模关系。
第二个重要问题是,如果数据在散点图上显示为非线性,我应该如何建模?好吧,为了解决这个问题,必须使用多项式回归,使用非线性回归模型,或转换数据,这不在本课程的范围内。
Python机器学习非线性回归 推荐