ARTICLE

牛顿-拉弗森法

牛顿-拉弗森法 (Newton-Raphson Method) 牛顿-拉弗森法(简称牛顿法)是一种求解非线性方程 f(x) = 0 的迭代数值算法,由艾萨克·牛顿和约瑟夫·拉弗森在十七世纪独立发展。牛顿于 1669 年在《论分析》手稿中首次描述了用多项式逼近求解方程的思路,而拉弗森在 1690 年发表的《通用方程分析》中将其系统化为今天所见的迭代公式形式。其

浏览 4 更新 2025-10-26

牛顿-拉弗森法 (Newton-Raphson Method)

牛顿-拉弗森法(简称牛顿法)是一种求解非线性方程 f(x)=0f(x) = 0 的迭代数值算法,由艾萨克·牛顿和约瑟夫·拉弗森在十七世纪独立发展。牛顿于 1669 年在《论分析》手稿中首次描述了用多项式逼近求解方程的思路,而拉弗森在 1690 年发表的《通用方程分析》中将其系统化为今天所见的迭代公式形式。其核心思想是利用函数的局部线性逼近:在当前迭代点处作切线,将切线与 xx 轴的交点作为下一个近似解。该方法具有二次收敛性——在接近真根且导数不为零的条件下,每次迭代的有效数字大约翻倍——使其成为科学计算和计量经济学中最广泛使用的数值方法之一。在计算机时代,牛顿法被广泛应用于统计软件和数值库(如 IMSL、NAG 和现代 Python 的 SciPy 等),成为数值分析课程的标准内容。

迭代公式与几何直觉

f:RRf: \mathbb{R} \to \mathbb{R} 连续可微,给定初始猜测 x0x_0,牛顿法的迭代公式为:

xn+1=xnf(xn)f(xn),f(xn)0x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}, \quad f'(x_n) \neq 0

几何解释:在点 (xn,f(xn))(x_n, f(x_n)) 处作函数曲线的切线,斜率为 f(xn)f'(x_n),切线方程为 yf(xn)=f(xn)(xxn)y - f(x_n) = f'(x_n)(x - x_n)。令 y=0y = 0 解得与横轴交点即为 xn+1x_{n+1}。这一过程反复进行,直到满足收敛判据(如 xn+1xn<ε|x_{n+1} - x_n| < \varepsilonf(xn+1)<δ|f(x_{n+1})| < \delta)。

推导也可从泰勒展开理解:将 f(x)f(x)xnx_n 处一阶展开,f(x)f(xn)+f(xn)(xxn)f(x) \approx f(x_n) + f'(x_n)(x - x_n),设其为零解出 xx,即得迭代公式。

收敛性与收敛阶

牛顿法的收敛性质依赖于初始点的选择与函数的光滑性。若 ff 二阶连续可微、真根 xx^* 满足 f(x)0f'(x^*) \neq 0(单根),且 x0x_0 充分接近 xx^*,则牛顿法局部二次收敛:存在常数 C>0C > 0 使得

xn+1xCxnx2|x_{n+1} - x^*| \leq C|x_n - x^*|^2

这意味着一旦进入收敛半径,精度以平方级提升。

然而牛顿法有若干失效场景:(1) 当 f(xn)0f'(x_n) \approx 0 时,迭代步长可能巨大甚至发散;(2) 初始点远离真根时可能不收敛或收敛到非期望的根(分形吸引域问题);(3) 对多重根,收敛速度降为线性;(4) 函数不可微或导数难以计算时方法不直接适用。实践中常配合全局化策略(如线搜索或信赖域方法)来提高鲁棒性,或使用有限差分近似导数以应对求导困难。

多元推广:牛顿-拉弗森法在向量函数中的应用

对于多元非线性方程组 F(x)=0\mathbf{F}(\mathbf{x}) = \mathbf{0},其中 F:RnRn\mathbf{F}: \mathbb{R}^n \to \mathbb{R}^n,牛顿法推广为:

xn+1=xnJF(xn)1F(xn)\mathbf{x}_{n+1} = \mathbf{x}_n - \mathbf{J}_F(\mathbf{x}_n)^{-1} \mathbf{F}(\mathbf{x}_n)

其中 JF(x)\mathbf{J}_F(\mathbf{x})F\mathbf{F}雅可比矩阵。实际计算中不直接求逆,而是解线性方程组 JF(xn)Δx=F(xn)\mathbf{J}_F(\mathbf{x}_n) \Delta\mathbf{x} = -\mathbf{F}(\mathbf{x}_n) 得到步长 Δx\Delta\mathbf{x},再更新 xn+1=xn+Δx\mathbf{x}_{n+1} = \mathbf{x}_n + \Delta\mathbf{x}。这一形式直接通向计量经济学中的高斯-牛顿法和优化中的牛顿法求极值。

在经济学与计量经济学中的应用

牛顿-拉弗森法是计量经济学中极大似然估计 (MLE) 数值实现的核心算法。极大似然估计要求解得分方程 (θ)/θ=0\partial \ell(\boldsymbol{\theta}) / \partial \boldsymbol{\theta} = \mathbf{0},其中 \ell 是对数似然函数。令 F(θ)=(θ)\mathbf{F}(\boldsymbol{\theta}) = \nabla \ell(\boldsymbol{\theta}),则牛顿迭代为:

θn+1=θnH(θn)1(θn)\boldsymbol{\theta}_{n+1} = \boldsymbol{\theta}_n - \mathbf{H}(\boldsymbol{\theta}_n)^{-1} \nabla \ell(\boldsymbol{\theta}_n)

这里 H\mathbf{H}海森矩阵。由于海森矩阵的计算量和可能的非正定性,实际软件(如 Stata、R 的 \texttt{optim})常使用拟牛顿法(如 BFGS 算法),用梯度信息逐步近似海森矩阵的逆。

广义矩估计 (GMM) 中,牛顿法同样用于求解非线性的矩条件。在可计算一般均衡 (CGE) 模型中,牛顿类方法用于求解大规模非线性联立方程组。在动态规划宏观模型的扰动法求解中,牛顿法也是稳态求解和投影法迭代的标准工具。

与其他数值方法的比较

相较于其他求根方法,牛顿法各有优劣。二分法 (Bisection) 虽然稳健且一定收敛(只要区间两端函数值异号),但仅为线性收敛,速度远慢于牛顿法。割线法 (Secant Method) 使用两点近似导数,避免了显式计算 ff',收敛速度约为超线性(阶数为黄金比例 φ1.618\varphi \approx 1.618),介于二分法和牛顿法之间,在导数计算成本高昂的场景中尤为实用。不动点迭代的收敛性则完全取决于迭代函数的选取。

在优化领域中,牛顿法与梯度下降法形成鲜明对比:梯度下降仅利用一阶信息,每次迭代计算成本低但收敛速度慢(至多线性收敛);牛顿法利用二阶海森信息实现了二次收敛,但每次迭代需要计算和求逆海森矩阵。经济学和统计学的实际数值计算中,通常采用折衷策略——初期使用梯度下降或小规模拟牛顿步快速逼近,接近解时切换为牛顿法以获得高精度。

可以说,任何涉及"令一阶条件为零"的数值求解场景中,牛顿-拉弗森法或其变体几乎都在底层发挥着不可替代的作用。它是连接微积分理论与计算经济学实践的桥梁,也是理解现代数值优化算法的逻辑起点。