4 votos

Estimar eficazmente una integral 2D a partir de datos limitados y de muestreo irregular

He medido datos de la siguiente forma:

$f(3.2, 2.5) = 10$

$f(3.7, 2.6) = 9$

$f(3.1, 2.8) = 9.1$

(etc)...

Es decir, sé $f(x, y)$ para ciertos valores irregulares de $x$ y $y$ . Quiero estimar la integral $\int f(x, y) dx dy$ . ¿Existe un método estándar para estimar esta integral?

Detalles:

No puedo hacer mediciones adicionales, tengo que dar mi mejor estimación con las medidas que tengo a mano. No necesito una precisión especialmente alta; los datos tienen algo de ruido de todos modos. Una solución rápida sería muy útil, ya que eventualmente necesitaré repetir esta estimación para millones o miles de millones de entradas. Si existe una solución en Python, sería excelente.

EDITAR:

Debo mencionar que $f(x, y)$ sólo es distinto de cero en el barrio local que estoy muestreando. Para algún valor fijo $a$ , si $x^2 + y^2 > a$ entonces $f(x, y) = 0$ .

5voto

JiminyCricket Puntos 143

Algunas ideas:

a) Si tiene sentido suponer que los puntos de datos están distribuidos de forma aproximadamente uniforme en la región de integración, una estimación muy rápida sería la media de los valores de la función por el área total.

b) Se podría triangular el conjunto de puntos de datos y dar a cada punto el peso de un tercio de las áreas de todos los triángulos en los que participa. El problema es que tienes que lidiar de alguna manera con la parte de la región de integración que está fuera del casco convexo de los puntos de datos: podrías añadir puntos externos y estimar sus valores de función o distribuir su peso en los triángulos externos en los puntos internos.

c) Podría ponderar los puntos según las áreas de su Células de Voronoi .

d) Podrías generar aleatoriamente puntos distribuidos uniformemente en la región de integración y utilizar el valor de la función del punto de datos más cercano; esto sería una versión Monte Carlo de c) en caso de que no quieras molestarte en calcular el diagrama de Voronoi.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X