数据拟合方法:多项式回归、通用函数拟合与非线性最小二乘回归
1. 多项式回归概述
多项式回归模型的表达式为:
[y_i = \beta_0 + \beta_1x_i + \beta_2x_i^2 + \cdots + \beta_px_i^p + \varepsilon_i, \quad i = 1, 2, \cdots, n]
尽管该模型在解释变量 (x) 上不再是线性的,但在系数 (\beta_j) 上仍然是线性的,因此线性回归模型的理论仍然适用。
1.1 多项式回归的问题与挑战
在多项式回归中,预测变量之间往往存在较高的相关性,这可能导致系数矩阵 (X^{\top}X) 病态。对于大量数据点,该矩阵趋近于希尔伯特矩阵,而希尔伯特矩阵是非常病态的。使用病态矩阵进行计算时,会损失一定的小数位数,其损失位数可通过 MATLAB 表达式 (\log_{10}(\text{cond}(A))) 近似估计。例如,拟合五次多项式时,损失的小数位数约为 (\log_{10}(\text{cond}(\text{hilb}(5)))=5.6782),这意味着 MATLAB 使用的 16 位有效数字中会损失五到六位。
为避免这种困难,可以采用正交多项式的方法,但这里不详细介绍,可参考相关资料。此外,将拟合多项式的次数 (p) 保持在合理的较小范围内,也能避免病态问题的严重影响。
1.2 多项式回归的实现方法
- 需要诊断信息时 :可以使用 MATLAB 函数
mregg2进行多项式回归。此时,数据矩阵 (Xd) 的第一行包含 (
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



