[R] Gradient function in OPTIMX
Ravi Varadhan
rvaradhan at jhmi.edu
Tue Aug 30 19:47:09 CEST 2011
Hi Kathie,
The gradient check in "optimx" checks if the user specified gradient (at starting parameters) is within roughly 1.e-05 * (1 + fval) of the numerically computed gradient. It is likely that you have correctly coded up the gradient, but still there can be significant differences b/w numerical and exact gradients. This can happen when the gradients are very large.
I would check this again separately as follows:
require(numDeriv)
mygrad <- gr.fy(theta0)
numgrad <- grad(x=theta0, func=gr.fy)
cbind(mygrad, numgrad)
all.equal(mygrad, numgrad)
Can you report these gradients to us?
In "optimx", we should probably change this into a "warning" rather than a "stop".
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
More information about the R-help
mailing list