Integrar estimativa de densidade do kernel 2D

eu tenho umx,y distribuição de pontos para os quais obtenhoKDE atravésscipy.stats.gaussian_kde. Este é o meu código e como a saída parecex,y os dados podem ser obtidos deAqui):

import numpy as np
from scipy import stats

# Obtain data from file.
data = np.loadtxt('data.dat', unpack=True)
m1, m2 = data[0], data[1]
xmin, xmax = min(m1), max(m1)
ymin, ymax = min(m2), max(m2)

# Perform a kernel density estimate (KDE) on the data
x, y = np.mgrid[xmin:xmax:100j, ymin:ymax:100j]
positions = np.vstack([x.ravel(), y.ravel()])
values = np.vstack([m1, m2])
kernel = stats.gaussian_kde(values)
f = np.reshape(kernel(positions).T, x.shape)

# Define the number that will determine the integration limits
x1, y1 = 2.5, 1.5

# Perform integration?

# Plot the results:
import matplotlib.pyplot as plt
# Set limits
plt.xlim(xmin,xmax)
plt.ylim(ymin,ymax)
# KDE density plot
plt.imshow(np.rot90(f), cmap=plt.cm.gist_earth_r, extent=[xmin, xmax, ymin, ymax])
# Draw contour lines
cset = plt.contour(x,y,f)
plt.clabel(cset, inline=1, fontsize=10)
plt.colorbar()
# Plot point
plt.scatter(x1, y1, c='r', s=35)
plt.show()

O ponto vermelho com coordenadas(x1, y1) tem (como todos os pontos no gráfico 2D) um valor associado dado porf (o kernel ouKDE) entre 0 e 0,42. Digamos quef(x1, y1) = 0.08.

Eu preciso integrarf com limites de integração emx ey dadas pelas regiões ondef avalia paraMenos do quef(x1, y1), ou seja:f(x, y)<0.08.

Pelo que eu vipython pode realizar a integração defunções e arrays unidimensionais através de integração numérica, mas eu não vi nada que me permitisse realizar uma integração numérica em um array 2D (of Além disso, eu não tenho certeza de como eu reconheceria as regiões dadas por aquela condição em particular (ie:f(x, y)menor que um determinado valor)

Isso pode ser feito em tudo?

questionAnswers(2)

yourAnswerToTheQuestion