I'm using a genetic algorithm (GA) to estimate the minimum value of a likelihood function $L[x]$ which is too complicated to evaluate mathematically. This likelihood function quantifies the goodness of fit between a model (which depends on the $x$ parameter) and a set of $M$ observations $O=\{a_1, a_2, ..., a_M\}$.

After enough iterations (when the optimal value found by the GA hasn't changed for a while) I stop the GA and assume the value $x_0$ for the model parameter $x$ it settled on, is one that satisfies:

$$L[x_0] \sim min(L[x])$$

which identifies the "best" model/observation fit.

Now, I want to assign an uncertainty to this $x_0$ value for which I apply a bootstrap process with replacement. This means I run the GA again a number $N$ of times (each time using a random sample of $M$ observations taken from $O$) which results in $N$ values for the $x$ parameter: $(x_1, x_2, ..., x_N)$.

Finally I assign the standard deviation of the $N$ values returned by the GA as the uncertainty (error) of $x_0$:

$$e_{x_0} = std(x_1, x_2, ..., x_N)$$

This process works fine, but since I am forced to run the GA a large $N$ number of times, this can quickly become unmanageable in computational time.

The question is: is there a faster/computationally cheaper way of assigning uncertainty to a parameter value estimated through a genetic algorithm?

  • $\begingroup$ jackknife? Using the parameter estimate as the starting value? $\endgroup$ – Bill May 15 '14 at 16:20
  • 1
    $\begingroup$ Is the parameter continuous? Bounded/unbounded? $\endgroup$ – Glen_b May 16 '14 at 3:37
  • 1
    $\begingroup$ Have you looked at the caret package? Is fast and cheap more important than accuracy of your estimate? $\endgroup$ – David LeBauer May 16 '14 at 6:11
  • $\begingroup$ @Glen_b the parameter is not continuous (varies in steps of my choosing, smaller if I want more precision) and it is bounded (also set by me) $\endgroup$ – Gabriel May 16 '14 at 14:07
  • $\begingroup$ @David not really a connoisseur of CRAN's enormous set of packages, I'm more of a python guy. Would you like to expand in the form of an answer? Perhaps it's what I need. Add: I'd say they are both equally important, can't really afford to lose that much accuracy. $\endgroup$ – Gabriel May 16 '14 at 14:08

Your Answer

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

Browse other questions tagged or ask your own question.