Re: [R] help with the maxBHHH routine

From: Andrew Robinson <>
Date: Wed, 04 May 2011 09:14:08 +1000

I suggest that you provide some commented, minimal, self-contained, reproducible code.



On Wed, May 04, 2011 at 02:23:29AM +0530, Rohit Pandey wrote:
> Hello R community,
> I have been using R's inbuilt maximum likelihood functions, for the
> different methods (NR, BFGS, etc).
> I have figured out how to use all of them except the maxBHHH function. This
> one is different from the others as it requires an observation level
> gradient.
> I am using the following syntax:
> maxBHHH(logLik,grad=nuGradient,finalHessian="BHHH",start=prm,iterlim=2)
> where logLik is the likelihood function and returns a vector of observation
> level likelihoods and nuGradient is a function that returns a matrix with
> each row corresponding to a single observation and the columns corresponding
> to the gradient values for each parameter (as is mentioned in the online
> help).
> however, this gives me the following error:
> *Error in checkBhhhGrad(g = gr, theta = theta, analytic = (!is.null(attr(f,

> :
> the matrix returned by the gradient function (argument 'grad') must have
> at least as many rows as the number of parameters (10), where each row must
> correspond to the gradients of the log-likelihood function of an individual
> (independent) observation:
> currently, there are (is) 10 parameter(s) but the gradient matrix has only
> 2 row(s)
> *
> It seems it is expecting as many rows as there are parameters. So, I changed
> my likelihood function so that it would return the transpose of the earlier
> matrix (hence returning a matrix with rows equaling parameters and columns,
> observations).
> However, when I run the function again, I still get an error:
> *Error in gr[, fixed] <- NA : (subscript) logical subscript too long*

> I have verified that my gradient function, when summed across observations
> gives the same results as the in built numerical gradient (to the 11th
> decimal place - after that, they differ since R's function is numerical).
> I am trying to run a very large estimation (1000's of observations and 821
> parameters) and all of the other methods are taking way too much time
> (days). This method is our last hope and so, any help will be greatly
> appreciated.
> --
> Thanks in advance,
> Rohit
> Mob: 91 9819926213
> [[alternative HTML version deleted]]
> ______________________________________________
> mailing list
> PLEASE do read the posting guide
> and provide commented, minimal, self-contained, reproducible code.

Andrew Robinson  
Program Manager, ACERA 
Department of Mathematics and Statistics            Tel: +61-3-8344-6410
University of Melbourne, VIC 3010 Australia               (prefer email)              Fax: +61-3-8344-4599

Forest Analytics with R (Springer, 2011)
Introduction to Scientific Programming and Simulation using R (CRC, 2009):

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Thu 05 May 2011 - 06:25:04 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 05 May 2011 - 07:00:05 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive