
上QQ阅读APP看书,第一时间看更新
3.3 多项式模型
线性模型可能是直觉的第一猜测,但在现实世界中问题的相关性很少会如此简单。例如,导弹穿过太空的轨迹相对于地球上的观察者是弯曲的。Wi-Fi的信号强度是平方反比衰减的。花朵在其一生中的高度变化当然也不是线性的。
当数据呈现为平滑的曲线而非直线时,你需要将你的回归模型从线性更改为其他形式。其中一种方式是使用多项式模型。多项式模型是线性模型的泛化。n次多项式表示如下:

注意 当n=1时,多项式简化为一个简单的线性方程。
考虑图3.10的散点图,x轴显示输入,y轴显示输出。可以看出,直线不足以描述所有数据。多项式函数是线性函数更为灵活的泛化。

图3.10 类似这样的数据不适合线性模型
让我们用多项式来拟合这种数据。按照清单3.3的内容创建一个名为polynomial.py的文件。
清单3.3 使用多项式模型

代码的最终输出是一个对数据拟合出的5次多项式,如图3.11所示。

图3.11 最佳拟合曲线与非线性分布数据平滑吻合