What is the best method to estimate a definite integral from given samples of the integrand?

430 Views Asked by At

I need to calculate something of the form

\begin{equation} \int_{D} f(\mathbf{x}) d\mathbf{x} \end{equation}

with $D \subseteq \mathbb{R^2}$, but I only have available $f(\mathbf{x})$ at given samples of points in $D$. What do you suggest to do the estimate? For example, I think Monte Carlo integration doesn't apply directly because I can't evaluate $f(\mathbf{x})$ at arbitrary $\mathbf{x}$. Maybe it could be some kind of combination of Monte Carlo and interpolation?

2

There are 2 best solutions below

7
On BEST ANSWER

Assuming you are just given a table of values there are two approaches that come to mind.

One is to view each point as a sample of the value of the function. You can divide $D$ into regions by a Voroni diagram, associating every point in $D$ with the closest point you have data from. Multiply each $f(\bf x)$ by the area of its cell and add them up.

The second is to pick some functional form, use the data points to feed a nonlinear minimizer to find the parameters of the form, and integrate the resulting function over $D$. If you know something about $f$ this would seem preferable. If you don't, I would plot $f$ and look at it for inspiration. You can try a number of forms and see what fits the best.

Either one can be badly wrong. There could be some point where the function gets huge that is not represented in your data. If you try including some term like $\frac a{|\bf x-x_0|^2+b^2}$ but don't have any points near $\bf {x_0}$ you can get badly fooled.

0
On

There is no "best" estimation method in general. For an extreme example, if $f$ is linear over $\mathbb{R}^2$, then knowing $f$ at three non-aligned points is enough to compute the integral exactly over every domain $D$. Conversely, if $f$ strongly oscillates or is piecewise constant, you have no guarantee to converge quickly enough to the integral value for a given precision for the sample you have. If your sample contains some very close points and you know $f$ cannot vary very fast compare to their distance, you can use higher orders methods to obtain better estimates. And so on ...

Without additionnal information Monte Carlo seems to be the only reasonnable thing to do.