Re: Likelihood analysis with Mathematica: which Method for NIntegrate
- To: mathgroup at smc.vnet.net
- Subject: [mg121524] Re: Likelihood analysis with Mathematica: which Method for NIntegrate
- From: "Kevin J. McCann" <kjm at KevinMcCann.com>
- Date: Sun, 18 Sep 2011 04:12:44 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j4v6kq$cac$1@smc.vnet.net>
I typically use a Bayesian approach to such problems, and I find that the combination of FindMinimum with the default method for the LSQ part along with the NIntegrate and its defaults works best. Remember, lots of very smart numerical analysts at Wolfram developed these; so, unless you have a very good reason to do otherwise, I would suggest that the default methods, i.e. Mathematica gets to choose, work best. Now, for a "quick and dirty" version, I would probably use a Table evaluation and a ListContourPlot on a fairly coarse grid, before I use FindMinimum. This way I can restrict the parameters without taking a lot of computer time. In any such problem, you should use all available physical or other information to restrict the parameter search. Kevin On 9/16/2011 5:58 AM, ValeX wrote: > 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! >