10

有谁知道哪个 R 包实现了广义缩减梯度 (GRG2) 算法?谢谢

4

2 回答 2

4

由于@BenBolker 已经完成了初步工作,找到了您希望复制的功能类型,因此我发布了一个可能有用的后续内容。最近在 Rhelp 上的一次交流以被提名为 Rfortunes包的报价结束,尽管我不清楚它是否被接受:

"The idea that the Excel solver "has a good reputation for being fast
and accurate" does not withstand an examination  of the Excel solver's
ability to solve the StRD nls test problems. ...
Excel solver does have the virtue that it will always produce an
answer, albeit one with zero accurate digits."

"I am unaware of R being applied to the StRD, but I did apply S+ to the 
StRD and, with analytic derivatives, it performed flawlessly."

From:   Bruce McCullough <bdmccullough@drexel.edu>
Date:   February 20, 2013 7:58:24 AM PST

以下是 McCullough 记录 Excel Solver 失败(我们现在知道它由 GRG2 算法的某些版本提供支持)的自引作品的链接: www.pages.drexel.edu/~bdm25/chap8.pdf 和测试问题的 NIST 网站链接在这里:http ://www.itl.nist.gov/div898/strd/nls/nls_info.shtml和http://www.itl.nist.gov/div898/strd /nls/nls_main.shtml

@jwg 的负面评论(通过反对票引起了我的注意)促使我重做 Bolker 建议的搜索。仍然没有命中findFn( "GRG2"). 我可以向求解器报告“GRG”的几个命中,但显然其中一个具有对“通用随机猜测模型”的吸引人的扩展,这让我很高兴。当我可以说没有答案的主旨是选择使用 Excel 的求解器让人们真正不确定解决方案的准确性时,这似乎特别有趣。对于发布的“答案”并没有完全提供所要求的内容,我不悔改,而是警告在这个统计/数学领域可能不虔诚地致力于微软方式的用户。分布式 R 开发人员没有做出任何努力来为 Excel 求解器提供替代品,这是值得认真考虑的事情。

于 2013-03-02T17:12:05.720 回答
2

一些相关的见解来自一位著名的统计科学家的R-help 帖子:

Excel 中的代码实际上称为 GRG2(2 确实很重要)。与 optim() 的任何方法不同,它可以处理非线性不等式约束并且不需要可行的初始解。

NEOS 优化指南中有关于它的简介: http ://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Blurbs/grg2.html

从这个简介来看,对于没有约束或框约束的问题,它将类似于 L-BFGS-B。-托马斯

托马斯·拉姆利协会。u.washington.edu 生物统计学教授 tlumley 华盛顿大学,西雅图

所以在某些情况下,它可能适合optim像这样使用来代替 Excel 求解器:

optim(pars, 
      OptPars, 
      ... ,
      method = "L-BFGS-B")

请注意,NEOS 优化指南现在在这里:http : //neos-guide.org/content/optimization-guide 并且此页面上提到了 GRG2 :http: //neos-guide.org/content/reduced-gradient-methods它列出了 BFGS、CONOPT 和其他几个作为相关算法。文章将这些描述为“投影增强拉格朗日算法”。根据优化 CTV,这些算法可以在 nloptr、alabama 和 Rsolnp 中找到。

我在 Excel 求解器和使用optimx包的 R 之间有很好的匹配(到六个 sig figs),但是 YMMV。

于 2016-06-02T11:32:04.963 回答