Dear all,
I'm trying to estimate some parameters with the optim() function but I
need to restrict one parameter and I have not found how to do it.
Could you help me please?
my program is basically
fn<-function(s)
initial<-function(r)
{
cst<-r[1]
cst1<-r[2]
beta<-r[3]
rho<-r[4]
p1<-r[5]
return(-sum())
}
parms<-c()
m0<-optim()
I need to specify 0<=p1<=1.
Thank you very much
Luis SAGAON
Luis SAGAON TEYSSIER <luis.sagaon_teyssier <at> etumel.univmed.fr> writes:> > Dear all, > > I'm trying to estimate some parameters with the optim() function but I > need to restrict one parameter and I have not found how to do it. > Could you help me please?Thought someone else would answer by now. use the arguments method="L-BFGS-B", lower=c(-Inf,-Inf,-Inf,-Inf,0), upper=c(Inf,Inf,Inf,Inf,1) you may need to tweak these slightly (e.g. set the bounds slightly within the desired [0,1] range or set the lower/upper bounds for the unbounded parameters to large negative/positive numbers) if you get errors about NaNs etc.
> Dear all, > > I'm trying to estimate some parameters with the optim() function but I > need to restrict one parameter and I have not found how to do it. Could > you help me please? > > my program is basically > > fn<-function(s) > > initial<-function(r) > { > cst<-r[1] > cst1<-r[2] > beta<-r[3] > rho<-r[4] > p1<-r[5] > > return(-sum()) > } > > parms<-c() > > m0<-optim() > > > I need to specify 0<=p1<=1. > > Thank you very much > > Luis SAGAON