在constrOptim(R)中查找约束矩阵

时间:2013-04-18 15:23:00

标签: r optimization continuous-integration simulation

我想设置constrOptim的约束来优化以下功能:

logistic<-function(b,x,target){
  b1<-b[1]
  b2<-b[2]
  log<-function(x){1/(1+exp(-(b1+b2*x)))}
  abs(mean(log(x))-target)
}

target=.75的优化通常可以使用

完成
optim(c(1,1),logistic,x=data,target=.75,hessian=TRUE,method='SANN')

方法SANN似乎是必要的,因为函数不可微分。

约束是b2> 0(条件1)或b2 <0(条件2),而b1可以是任何实数。但是如何将此功能扩展到constrOptim?具体来说,我不知道如何指定参数uici

在这些限制条件下优化的替代方法也受到欢迎。感谢。

修改 我想我找到了一个工作场所。我们通过将logistic重新定义为

来找到约束b2 <0
logistic_lt<-function(b,x,target){
  b1<-b[1]
  b2<-b[2]
  if(b2>0){b2<-b2*(-1)}
  log<-function(x){1/(1+exp(-(b1+b2*x)))}
  abs(mean(log(x))-target)
}

我仍然对涉及constrOptim的解决方案感兴趣。

0 个答案:

没有答案