R |
您所在的位置:网站首页 › r语言nls函数原理 › R |
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一个包含以下内容的列表。 minimumf 的估计最小值。 estimate获得 f 的最小值的点。 gradientf 的估计最小值处的梯度。 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翻译。 ReferencesDennis, JE 和 Schnabel, RB (1983)。无约束优化和非线性方程的数值方法。新泽西州恩格尔伍德悬崖 Prentice-Hall。 Schnabel, RB, Koontz, JE 和 Weiss, BE (1985)。用于无约束最小化的模块化算法系统。ACM 数学软件交易,11,419–440。doi: 10.1145/6187.6192。 See Alsooptim 和 nlminb 。 constrOptim 用于约束优化, optimize 一维最小化和 uniroot 用于求根。 deriv 计算解析导数。 对于非线性回归, nls 可能更好。 Examples f |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |