[R] Fast optimizer

Ravi Varadhan rvaradhan at jhmi.edu
Fri Oct 30 03:22:09 CET 2009


This optimization should not take you 1-2 mins.  My guess is that your coding of the likelihood is inefficient, perhaps containing for loops.  Would you mind sharing your code with us?

As far as incorporating inequality constraints, there are at least 4 approaches:

1.  You could use `constrOptim' to incorporate inequality constraints.  

2.  I have written a function `constrOptim.nl' that is better than `constrOptim', and it can be used here.

3.  The projection method in spg() function in the "BB" package can be used.

4.  You can create a penalized objective function, where the inequalities c < a and c < b can be penalized.  Then you can use optim's L-BFGS-B or spg() or nlminb().


Ravi.
____________________________________________________________________

Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology
School of Medicine
Johns Hopkins University

Ph. (410) 502-2619
email: rvaradhan at jhmi.edu


----- Original Message -----
From: R_help Help <rhelpacc at gmail.com>
Date: Thursday, October 29, 2009 9:21 pm
Subject: Re: [R] Fast optimizer
To: Ravi Varadhan <rvaradhan at jhmi.edu>
Cc: r-help at r-project.org, r-sig-finance at stat.math.ethz.ch


> Ok. I have the following likelihood function.
> 
> L <- p*dpois(x,a)*dpois(y,b+c)+(1-p)*dpois(x,a+c)*dpois(y,b)
> 
> where I have 100 points of (x,y) and parameters c(a,b,c,p) to
> estimate. Constraints are:
> 
> 0 < p < 1
> a,b,c > 0
> c < a
> c < b
> 
> I construct a loglikelihood function out of this. First ignoring the
> last two constraints, it takes optim with box constraint about 1-2 min
> to estimate this. I have to estimate the MLE on about 200 rolling
> windows. This will take very long. Is there any faster implementation?
> 
> Secondly, I cannot incorporate the last two contraints using optim function.
> 
> Thank you,
> 
> rc
> 
> 
> 
> On Thu, Oct 29, 2009 at 9:02 PM, Ravi Varadhan <rvaradhan at jhmi.edu> wrote:
> >
> > You have hardly given us any information for us to be able to help 
> you.  Give us more information on your problem, and, if possible, a 
> minimal, self-contained example of what you are trying to do.
> >
> > Ravi.
> > ____________________________________________________________________
> >
> > Ravi Varadhan, Ph.D.
> > Assistant Professor,
> > Division of Geriatric Medicine and Gerontology
> > School of Medicine
> > Johns Hopkins University
> >
> > Ph. (410) 502-2619
> > email: rvaradhan at jhmi.edu
> >
> >
> > ----- Original Message -----
> > From: R_help Help <rhelpacc at gmail.com>
> > Date: Thursday, October 29, 2009 8:24 pm
> > Subject: [R] Fast optimizer
> > To: r-help at r-project.org, r-sig-finance at stat.math.ethz.ch
> >
> >
> >> Hi,
> >>
> >> I'm using optim with box constraints to MLE on about 100 data points.
> >> It goes quite slow even on 4GB machine. I'm wondering if R has any
> >> faster implementation? Also, if I'd like to impose
> >> equality/nonequality constraints on parameters, which package I should
> >> use? Any help would be appreciated. Thank you.
> >>
> >> rc
> >>
> >> ______________________________________________
> >> R-help at r-project.org mailing list
> >>
> >> PLEASE do read the posting guide
> >> and provide commented, minimal, self-contained, reproducible code.
> >




More information about the R-help mailing list