R

您所在的位置:网站首页 r语言nls函数原理 R

R

2023-09-12 20:21| 来源: 网络整理| 查看: 265

nlm 非线性最小化 Description

该函数使用牛顿型算法执行函数 f 的最小化。有关详细信息,请参阅参考资料。

Usage nlm(f, p, ..., hessian = FALSE, typsize = rep(1, length(p)), fscale = 1, print.level = 0, ndigit = 12, gradtol = 1e-6, stepmax = max(1000 * sqrt(sum((p/typsize)^2)), 1000), steptol = 1e-6, iterlim = 100, check.analyticals = TRUE) Arguments f

要最小化的函数,返回单个数值。这应该是一个函数,第一个参数是 p 长度的向量,后跟由 ... 参数指定的任何其他参数。

如果函数值具有称为 gradient 的属性或 gradient 和 hessian 属性,则这些将用于计算更新的参数值。否则,使用数值导数。 deriv 返回一个具有合适 gradient 属性和可选的 hessian 属性的函数。

p

用于最小化的起始参数值。

...

要传递给 f 的附加参数。

hessian

如果为 TRUE ,则返回 f 最小值处的 Hessian 。

typsize

对每个参数的最小值大小的估计。

fscale

最小 f 大小的估计。

print.level

这个参数决定了在最小化过程中完成的打印级别。默认值 0 表示不打印,值 1 表示打印初始和最终详细信息,值 2 表示打印完整的跟踪信息。

ndigit

函数 f 中的有效位数。

gradtol

一个正标量,给出缩放梯度被认为足够接近零以终止算法的容差。经缩放的梯度是在相对变化的量度 f 在每个方向 p[i] 除以在相对变化 p[i] 。

stepmax

一个正标量,它给出了最大允许的缩放步长。 stepmax 用于防止会导致优化函数溢出的步骤,防止算法离开参数空间中的感兴趣区域,或检测算法中的发散。 stepmax 将被选择得足够小以防止前两次发生,但应该大于任何预期的合理步长。

steptol

一个正标量,提供最小允许的相对步长。

iterlim

一个正整数,指定在程序终止前要执行的最大迭代次数。

check.analyticals

一个逻辑标量,指定分析梯度和Hessians,如果它们被提供,是否应该与初始参数值的数值导数进行检查。这可以帮助检测出不正确的梯度或Hessians。

Details

请注意, ... 之后的参数必须完全匹配。

如果提供了梯度或粗麻布,但计算出错误的模式或长度,如果 check.analyticals = TRUE (默认值)并带有警告,则将被忽略。除非梯度存在并通过健全性检查,否则甚至不会检查粗麻布。

“受干扰的”cholesky 的 C 代码 choldc() 在 3.4.1 之前的所有R版本中都有一个错误。

从原始资料中的三种方法中,我们总是使用方法 "1",即行搜索。

提供的函数应始终返回有限(包括非 NA 和非 NaN )值:对于函数值本身,非有限值将替换为带有警告的最大正值。

Value

一个包含以下内容的列表。

minimum

f 的估计最小值。

estimate

获得 f 的最小值的点。

gradient

f 的估计最小值处的梯度。

hessian

估计最小值 f 的粗麻布(如果需要)。

code

一个整数,表示优化过程终止的原因。

1:

相对梯度接近于零,当前迭代可能是解决方案。

2:

连续的迭代在公差范围内,当前迭代可能是解决方案。

3:

last global step 未能找到低于 estimate 的点。无论 estimate 是函数的近似局部最小或 steptol 太小。

4:

超过了迭代限制。

5:

最大步长 stepmax 连续超过五次。要么函数在下方是无界的,在某个方向上从上方渐近到有限值,要么 stepmax 太小。

iterations

所执行的迭代次数。

Source

目前的代码是由Saikat DebRoy和R核心团队编写的,使用Richard H.Jones的Fortran代码的C翻译。

References

Dennis, JE 和 Schnabel, RB (1983)。无约束优化和非线性方程的数值方法。新泽西州恩格尔伍德悬崖 Prentice-Hall。

Schnabel, RB, Koontz, JE 和 Weiss, BE (1985)。用于无约束最小化的模块化算法系统。ACM 数学软件交易,11,419–440。doi: 10.1145/6187.6192。

See Also

optim 和 nlminb 。

constrOptim 用于约束优化, optimize 一维最小化和 uniroot 用于求根。 deriv 计算解析导数。

对于非线性回归, nls 可能更好。

Examples f


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3