Likelihood analysis with Mathematica: which Method for NIntegrate and FindMinimum?

To: mathgroup at smc.vnet.net

Subject: [mg121480] Likelihood analysis with Mathematica: which Method for NIntegrate and FindMinimum?

From: ValeX <rjovale at gmail.com>

Date: Fri, 16 Sep 2011 05:50:09 -0400 (EDT)

Delivered-to: l-mathgroup@mail-archive0.wolfram.com

Hi guys, I have to do a likelihood analysis with Mathematica 8.
I have a numerical function that gives me the likelihood for given
experimental datasets and theoretical parameters. It's quite a
complicated function which calls many sub packages i wrote, see it as
a black box. it takes some .5 seconds to calculate the likelihood (or
equivalently the chi2) for a given set of theoretical parameters
(2.8GHz Core2 Duo).
I have 5 theoretical parameters and I have to do the following things:
1- marginalize the likelihood over 3 of the 5 parameters, i.e., do a
NIntegrate over the 3 parameters
2- find the maximum of the marginalized likelihood L (or the minimum
of the chi2 = -2Log[L])
3- integrate the marginalized likelihood over the remaining 2
parameters in order to find the confidence level contours
4- plot the confidence level contours for the marginalized likelihood
Do you have advises about this?
About 2, I've seen that FindMinimum is much faster than NMinimize.
Which one and which Method would you advise? Consider that the
likelihood with respect to one parameter usually falls down pretty
fast, similarly to a gaussian.
About NIntegrate, which Method would you advise? I heard that for high
dimensional integrals a Markov Chain Monte Carlo sampling is
efficient. Does NIntegrate have this built in? Is it perhaps the
"MonteCarlo" Method? Other ideas?
Thanks for the help!