So here is my trouble:

I wanted to test whether my estimation method is correct, so what I did was to simulate a data set with a group of parameters: (a=200, b=0.3, c=0.4, d=0.5, for example). If my estimation method is correct, then when it's applied to the generated data set, it should be able to recover the 4 parameters at their "true values".

The thing is, I figured out my objective function has many local optima and suffers from starting point. If I let initial "a" be 200 (the true value), and (b,c,d) be random draws then after trying different (b,c,d) starting points, the estimates with minimum objective function value will give me the recovered parameters correctly. But, if I let the starting "a" be far off the true value (say 100 or 150), then I could never be able to recover the parameters, because the optimization will always find some "local optima" near the starting point.

What should I do?

  • $\begingroup$ Maybe you could you refine what you mean by "...my estimation method is correct ..". Solutions to non-convex global optimisation are usually NP-Hard. You might try simulated annealing, but there are other approaches too. $\endgroup$ May 7 '15 at 17:11
  • $\begingroup$ Thank you @ image_doctor . By "my estimation method is correct", I meant to make sure that the set of ( to be estimated ) parameterscan be identified. $\endgroup$
    – Ruby
    May 7 '15 at 17:16

You might be suffering from a scaling issue. I refer you to another post: How to solve the problem, that the scale of variables influence the gradient/optimization

  • $\begingroup$ You're welcome. ( I see you are new; if the answer helped out, you can check the check mark on the left. This signals the answer as accepted and the question as sufficiently answered.) $\endgroup$
    – spdrnl
    May 9 '15 at 8:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.