[R] Error: Gradient function might be wrong - check it! OPTMX
ProfJCNash
profjcnash at gmail.com
Thu Aug 13 19:42:22 CEST 2015
There are tolerances in the checks, and sometimes scaling of the problem
leads to false positives on the checks.
Try control = list(starttest=FALSE, etc.) to suppress the test.
JN
On 15-08-13 01:20 PM, Olu Ola via R-help wrote:
> Hello,
> I am trying to estimate a non-linear GMM in R using Optimx. However, when I do the start test to compare my analytical gradient with the numerical gradient, I get the following error message
>
> Error: Gradient function might be wrong - check it!
>
> Below are the print out of my analytical and numerical gradient. They are close to an extent and I want to use my analytical gradient. The first column is the analytical gradient while the second column is the numerical gradient
>
> numgrad
> [1,] -9862.118 -9862.103
> [2,] -20855.001 -20854.985
> [3,] -12277.764 -12277.767
> [4,] 3332.864 3332.865
> [5,] 3562.808 3562.804
> [6,] -14971.913 -14971.915
> [7,] 27394.457 27394.451
> [8,] -15634.531 -15634.532
> [9,] -16893.399 -16893.402
> [10,] -1330.469 -1330.468
> [11,] 16877.994 16877.991
> [12,] -9406.643 -9406.643
> [13,] -40451.881 -40451.881
> [14,] -48052.941 -48052.944
> [15,] -29997.114 -29997.116
> [16,] 34546.011 34546.002
> [17,] -65540.191 -65540.200
> [18,] -24400.970 -24400.972
> [19,] -26655.760 -26655.760
> [20,] -59128.576 -59128.576
> [21,] -40026.926 -40026.931
> [22,] -34780.662 -34780.655
> [23,] -119284.474 -119284.473
> [24,] 22336.013 22336.025
> [25,] -40665.139 -40665.139
> [26,] -21596.959 -21596.959
> [27,] -33859.274 -33860.747
> [28,] -30536.938 -30539.807
> [29,] -95411.022 -95416.182
> [30,] -33016.450 -33018.690
> [31,] -90052.772 -90059.612
> [32,] 8008.684 8009.342
> [33,] -45084.823 -45086.720
> [34,] -34071.584 -34074.802
> [35,] -259960.860 -259990.135
> [36,] -69986.472 -69990.537
> [37,] 24870.530 24874.012
>
> The code for my optimization is as follows:
>
>
> nlgmm = optimx(par=b0, fn=obj,gr=gra, method ="BFGS", itnmax=10000, control=list(follow.on = TRUE,usenumDeriv=FALSE,kkttol=10,starttests=TRUE, save.failures=TRUE, trace=0))
>
> Is there a way to turn off the gradient check? this is because if I do not run the start test, it will still eventually display the error message. Any help to cross this bridge will be greatly appreciated.
>
> Thank you
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list