[Date Index] [Thread Index] [Author Index]
Likelihood analysis with Mathematica: which Method for NIntegrate and FindMinimum?
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!