Need help NIntegrating stepwise 3D probability density functions
- To: mathgroup at smc.vnet.net
- Subject: [mg114071] Need help NIntegrating stepwise 3D probability density functions
- From: Jason Neuswanger <jrneuswanger at alaska.edu>
- Date: Mon, 22 Nov 2010 07:40:36 -0500 (EST)
I need to integrate 3D probability density functions over the region in which the probability density exceeds some threshold (the end goal being to calculate isopleths in 3D animal territories fit by kernel distributions). The simplest test case I could come up with is this: testDistribution = MultinormalDistribution[{1, 2, 4}, {{2, -1/4, 1/3}, {-1/4, 2/3, 1/5}, {1/3, 1/5, 1/2}}]; thresholdDensity = 0.05; NIntegrate[ PDF[testDistribution, {x, y, z}]* UnitStep[PDF[testDistribution, {x, y, z}] - thresholdDensity] , {x, -Infinity, Infinity}, {y, -Infinity, Infinity}, {z, -Infinity, Infinity} , Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0} ] I've tried quite a few things and just can't get remotely sensible results. The analogous case in 1 dimension works just fine, shown below: testDistribution2 = NormalDistribution[]; thresholdDensity2 = 0.35; NIntegrate[ PDF[testDistribution2, {x}]* UnitStep[PDF[testDistribution2, {x}] - thresholdDensity2] , {x, -Infinity, Infinity} , Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0} ] (* check answer using symbolic methods *) thresholdRoot = x /. FindRoot[ PDF[testDistribution2, {x}] - thresholdDensity2, {x, 1}]; Integrate[ PDF[testDistribution2, {x}], {x, -thresholdRoot, thresholdRoot}] Any help here would be VERY much appreciated!