首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中,nlm()或optim()比optim()更精确吗?

在R中,nlm()或optim()比optim()更精确吗?
EN

Stack Overflow用户
提问于 2017-04-24 23:15:07
回答 1查看 672关注 0票数 1

我正试图在我的函数x[1]x[2]中获得更精确的(最多6位小数点)估计值,名为GGG

使用optim,我可以得到一些最高可达小数点3位的精度,但我想知道如何将精度提高到至少6位小数点呢?

optimizenlm可以用于这个目标吗?

代码语言:javascript
运行
复制
GGG = function(Low, High, p1, p2) {


f <- function(x) {

 y <- c(Low, High) - qcauchy(c(p1, p2), location=x[1],  scale=x[2]) 

 }


## SOLVE:  
AA <- optim(c(1,1), function(x) sum(f(x)^2) )  

## return parameters:
parms = unname(AA$par)   


return(parms)     ## Correct but up to 3 decimal places 

}

 ## TEST:
 AAA <- GGG (Low = -3, High = 3, p1 = .025, p2 = .975)


 ## CHECK:
 q <- qcauchy( c(.025, .975), AAA[1], AAA[2] ) # What comes out of "q" MUST match "Low" and 
                                               # "High" up to 6 decimal places
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 23:24:06

optim函数有一个公差控制参数。将optim函数替换为:

代码语言:javascript
运行
复制
AA <- optim(c(1,1), function(x) sum(f(x)^2), control=list(reltol=(.Machine$double.eps)))

返回:

代码语言:javascript
运行
复制
> q
[1] -3  3
> AAA
[1] 5.956798e-08 2.361051e-01
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43599107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档