首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非有限差分值,许多数据在指数后变成inf和NA。

非有限差分值,许多数据在指数后变成inf和NA。
EN

Stack Overflow用户
提问于 2015-01-28 13:39:08
回答 1查看 33.3K关注 0票数 8

我将找到一个rank logit模型的参数。但误差总是表明存在非有限差分值。如果我将"b0<-rep(0,5)“改为"b0<-rep(- 1 ,5)",非有限差值后的数字将从2变为1。如果您需要数据集,我会通过电子邮件发送给您。

代码语言:javascript
复制
cjll <- function(b){

U <- X%*%b
lSU <- csm%*%exp(U)
   lSU <- (lSU!=0)*lSU+(lSU==0)
LL <- sum(Ccsm%*%U-log(lSU))

return(LL)
}

b0 <- rep(0,5)
res <- optim(b0,cjll,method="BFGS",hessian=TRUE,control=list(fnscale=-1))
#Error in optim(b0, cjll, method = "BFGS", hessian = TRUE, control = list(fnscale = -1)) :
#  non-finite finite-difference value [2]

b <- res$par
#Error: object 'res' not found
EN

回答 1

Stack Overflow用户

发布于 2015-01-28 13:46:28

BFGS需要最小化函数的梯度。如果你没有通过一个,它将尝试使用有限差分来估计它。看看您的似然函数,可能是您将其“拆分”为等于0和不等于0的元素的事实造成了不连续,从而阻止了数值梯度的正确形成。尝试使用method = "Nelder-Mead"并将Hessian设置为FALSE,看看是否有效。如果是这样的话,如果需要的话,你可以使用numDeriv包来估计收敛点处的梯度和海森曲线。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28185387

复制
相关文章

相似问题

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