Aptech Systems, Inc. Worldwide Headquarters
Aptech Systems, Inc.
2350 East Germann Road, Suite #21
Chandler, AZ 85286
Ready to Get Started?
Request Quote & Product Information
Training & Events
Step-by-step, informative lessons for those who want to dive into GAUSS and achieve their goals, fast.
Have a Specific Question?
Q&A: Register and Login
Premier Support and Platinum Premier Support are annually renewable membership programs that provide you with important benefits including technical support, product maintenance, and substantial cost-saving features for your GAUSS System or the GAUSS Engine.
Join our community to see why our users are considered some of the most active and helpful in the industry!
Where to Buy
Recent Tagsapplications character vectors CML CMLMT Constrained Optimization datasets dates dlibrary dllcall error error handling errors Excel file i/o floating network GAUSS Engine GAUSS Light graphics GUI hotkeys installation Java API license licensing linux loading data loops matrices matrix manipulation Maxlik MaxLikMT Memory multidimensional array optimization Optmum output PQG graphics procs RAM random numbers string functions strings structures threading writing data
Time Series 2.0 MT
Find out more now
Time Series MT 2.1
Find out more now
CMLMT how to obtain a NxK matrix of first derivatives (gradient)
I am estimating a nonlinear model which does not have an analytic gradient using the CMLMT package.
I need to obtain a Nx1 vector of log-likelihood value and a NxK numerical gradient for the final estimated value. The manual says:
Output Argument: Model Results Instance
The members of this structure are
2. Vector of log-likelihood by observations
Function Nx1 vector of log likelihood
Gradient NxK matrix of first derivative (optional)
It seems like this is feasible with the package. Can anyone give me an example code on extracting the vector likelihood and gradient matrix out ? Thank you very much.
When your procedure returns a vector of log-probabilities, and you choose the BHHH descent method, CMLMT will estimate the matrix of second derivatives as the cross-product of the NxK matrix of first derivatives. This is the recommended method for CMLMT because the estimates will be more accurate.
The NxK matrix of first derivatives is not returned by CMLMT, but producing it is straightforward:
struct cmlmtResults out; out = CMLmt(&lpr,p0,d0,c0)); // F is the Nx1 vector of function values // G is the NxK matrix of first derivatives F = lpr(out.par,d0); G = gradmt(&lpr,out.par,d0);