mv1.estimate(dataset1, new double[]{0.7, 0.2, 0.05, 0.05}); double[] point = new double[1]; point[0] = (i + 0.5) * (1.0 / numVals); double logdens = mv1.logDensity(point); if (!Double.isNaN(logdens)) { integral1 += Math.exp(logdens) * (1.0 / numVals); mv.estimate(dataset, new double[]{2, 0.2, 0.05, 0.05}); point[1] = (j + 0.5) * (1.0 / numVals2); point[2] = (k + 0.5) * (1.0 / numVals2); double logdens = mv.logDensity(point); if (!Double.isNaN(logdens)) { integral += Math.exp(logdens) / (numVals2 * numVals2 * numVals2); mv3.estimate(dataset3, new double[]{1, 0.2, 0.05, 0.05, 1}); point[1] = (j + 0.5) * (1.0 / numVals3); point[2] = (k + 0.5) * (1.0 / numVals3); double logdens = mv.logDensity(point); if (!Double.isNaN(logdens)) { integral3 += Math.exp(logdens) / (numVals3 * numVals3 * numVals3); point[1] = (j + 0.5) * (1.0 / numVals4); point[2] = (k + 0.5) * (1.0 / numVals4); double logdens = mv.logDensity(point); if (!Double.isNaN(logdens)) { integral4 += Math.exp(logdens) / (numVals4 * numVals4 * numVals4);
mv1.estimate(dataset1, new double[]{0.7, 0.2, 0.05, 0.05}); double[] point = new double[1]; point[0] = (i + 0.5) * (1.0 / numVals); double logdens = mv1.logDensity(point); if (!Double.isNaN(logdens)) { integral1 += Math.exp(logdens) * (1.0 / numVals); mv.estimate(dataset, new double[]{2, 0.2, 0.05, 0.05}); point[1] = (j + 0.5) * (1.0 / numVals2); point[2] = (k + 0.5) * (1.0 / numVals2); double logdens = mv.logDensity(point); if (!Double.isNaN(logdens)) { integral += Math.exp(logdens) / (numVals2 * numVals2 * numVals2); mv3.estimate(dataset3, new double[]{1, 0.2, 0.05, 0.05, 1}); point[1] = (j + 0.5) * (1.0 / numVals3); point[2] = (k + 0.5) * (1.0 / numVals3); double logdens = mv.logDensity(point); if (!Double.isNaN(logdens)) { integral3 += Math.exp(logdens) / (numVals3 * numVals3 * numVals3); point[1] = (j + 0.5) * (1.0 / numVals4); point[2] = (k + 0.5) * (1.0 / numVals4); double logdens = mv.logDensity(point); if (!Double.isNaN(logdens)) { integral4 += Math.exp(logdens) / (numVals4 * numVals4 * numVals4);