5 votos

Proceso gaussiano con límites en las variables no observadas

Estoy tratando de utilizar la regresión de procesos gaussianos de la que sólo tengo conocimientos básicos y el problema que tengo que tratar tiene un poco de giro en relación con la configuración natural, por lo que me preguntaba si hay algún resultado conocido para el tipo de problema al que me enfrento.

Estoy interesado en la distribución posterior de un conjunto de observaciones no observadas $y_i$ asociado a algún $x_i$ para $i$ en algún conjunto $I$ . Los datos de los que dispongo son de la forma:

  1. $(x_i,lb_i)$ para $i \in L \subset I$ donde $lb_i$ es una cota inferior para la variable no observada $y_i$ a $x_i$ .
  2. $(x_i,ub_i)$ para $i \in U \subset I$ donde $ub_i$ es una cota superior para la variable no observada $y_i$ a $x_i$ .

Se puede suponer que no habrá condiciones conflictivas, y que $L \neq U$ pero también que $L \cup U \neq \emptyset$ y que $E[y_i] = 0$

2 votos

¿A qué te refieres con "sólo tengo puntos no observados y para algunos de ellos tengo límites superiores e inferiores"? No estoy seguro de entender del todo qué información tienes. De todas formas, parece que te conviene mirar mi respuesta aquí Creo que (si entiendo bien su pregunta) cubre un caso similar.

0 votos

He editado la pregunta para que sea (¡espero!) más clara. El enlace proporcionado es algo útil (en el sentido de que parece similar, sé demasiado poco sobre GP para entender directamente las implicaciones del ruido de observación assocaited. La diferencia con la pregunta respondida es que en algunos casos tengo intervalos disponibles, pero en otros casos sólo un lado del intervalo es finito, por lo que la técnica de empezar con el punto medio no funciona

0 votos

Para los puntos que tienen límites inferiores y superiores finitos, ¿se puede decir algo sobre la distribución del valor real dentro de esos límites? Tu versión original parecía decir que podría haber alguna pequeña probabilidad de que la verdad estuviera fuera de los límites.

1voto

John Puntos 151

En realidad se puede calcular la media posterior utilizando la siguiente observación si se conoce el núcleo $k$ del GP. Sea $f\sim \mathcal{GP}(0,k)$ de $\mathcal{X}$ a $\mathbb{R}$ (como $\mathcal{X} \subseteq \mathbb{R}^d$ ), y $\{x_j\}_{j\in L}$ el conjunto de puntos para los que se tiene un límite inferior $l_j$ y $\{x_j\}_{j\in U}$ el conjunto de puntos para los que se tiene un límite superior $u_j$ . Para cualquier punto $x\in\mathcal{X}$ se puede calcular la predicción dada por la media posterior: $$\mathbb{E}\Big[f(x) ~\big|~ \{f(x_j)>l_j\}_{j\in L}, \{f(x_j)<u_j\}_{j\in U}\Big] \\ = \mathbb{E}\Big[\mathbb{E}\big[f(x)\mid \{f(x_j)\}_{j\in L\cup U}\big] \mid \{x_j>l_j\}_{j\in L}, \{x_j<u_j\}_{j\in U}\Big] \\ = \mathbb{E}\Big[\mathrm{k}_x\mathrm{K}_{LU}^{-1}\mathrm{f}_{LU} \mid \{x_j>l_j\}_{j\in L}, \{x_j<u_j\}_{j\in U}\Big] \\ = \mathrm{k}_x\mathrm{K}_{LU}^{-1} \mathbb{E}\Big[\mathrm{f}_{LU} \mid \{x_j>l_j\}_{j\in L}, \{x_j<u_j\}_{j\in U}\Big]\,, $$ donde $\mathrm{k}_x$ es el vector de covarianzas $k(x,x_j)$ para todos $x_j\in L\cup U$ , y de forma similar $\mathrm{K}_{LU}$ es la matriz del $k(x_j,x_{j'})$ y $\mathrm{f}_{LU}$ es una abreviatura del vector de columnas de $f(x_j)$ . Entonces la última expectativa es la media de una normal multivariante truncada. Es difícil encontrar fórmulas exactas, pero tienes algoritmos eficientes para muestrear de esta distribución, disponibles en Matlab, R, etc.

Este es un ejemplo de la salida, donde la predicción está en azul, los límites inferiores en verde y los límites superiores en rojo. El núcleo $k$ es la Exponencial Cuadrada con escala de longitud unitaria. sample of truncated GP

Sin utilizar aproximaciones, el coste de los cálculos se debe a la inversión de la matriz de covarianza $\mathrm{K}_{LU}$ Es decir $\mathcal{O}(n^3)$ para $n=|L\cup U|$ . La descomposición de Cholesky mejora la constante y la estabilidad, pero sigue siendo $\mathcal{O}(n^3)$ . Nótese que esta descomposición se utiliza tanto en la fórmula de la media posterior como en el muestreo de la normal truncada. El coste computacional no depende de la dimensión $d$ sólo en el número de puntos de entrenamiento $n$ .

1 votos

Buen comentario. Por lo que entiendo, esto supone que ya tienes la GP sobre los valores no observados. ¿Cómo ajustarías los hiperparámetros de la GP? Creo que es un punto importante para lo que preguntaba el OP.

1 votos

Hum eso es cierto. He editado la respuesta para que quede más claro. No sé cómo se comportarían aquí los métodos clásicos para estimar los hiperparámetros de la GP (maximización de la (pseudo)probabilidad). Puedo añadir experimentos más tarde si eso ayuda.

0 votos

El problema es que la probabilidad marginal no es analítica debido a que la probabilidad de las observaciones no es gaussiana, por lo que tendrás que recurrir a la inferencia aproximada (yo probaría con MCMC o Bayes variacional en este caso, debido a la alta incertidumbre de las observaciones). Esta es la razón por la que propuse una solución basada en GPs sobre los límites en lugar de una GP sobre la función subyacente, ya que, con la primera, se puede utilizar la maquinaria analítica estándar. En cualquier caso, es interesante ver cómo funcionan los distintos enfoques.

1voto

Fire Crow Puntos 2273

Recapitulando y ampliando mi debate en los comentarios.

Si tuvieras $(lb_i, ub_i)$ por cada $i$ Un enfoque sería el que recomendé a este otra pregunta es decir, tener un único GP con observaciones $\tilde{y}_i = \frac{lb_i + ub_i}{2}$ y el ruido dependiente de la observación proporcional a $ub_i - lb_i$ .

Ya que en sus datos $lb_i$ o $ub_i$ no están disponibles para todos los puntos de datos, la alternativa que se me ocurre es ajustar dos GPs, $G_l$ y $G_u$ , respectivamente a $(x_i,lb_i)$ y $(x_i,ub_i)$ . Esto le permitirá generar predicciones para los límites en puntos no observados. No exigimos explícitamente $G_l < G_u$ en el entrenamiento pero podemos añadir la restricción en la predicción.

En particular, para un punto determinado $x$ : $$ p(y|x) \propto \int_{-\infty}^{\infty} \mathcal{N}(l| \mu_l(x),\sigma^2_l(x)) \left\{\int_{l}^\infty \mathcal{N}(u| \mu_u(x),\sigma^2_u(x)) \frac{\left[l \le y \le u \right]}{u - l} du \right\} dl $$ donde $[\cdot]$ denota El soporte de Iverson y $\mu_l, \sigma^2_l$ ( $\mu_u, \sigma^2_u$ ) son la media y la varianza latentes de $G_l(x)$ (resp. $G_u(x)$ ). Dudo que puedas evaluar la integral anterior analíticamente, pero puedes calcularla numéricamente con bastante facilidad.

Para un mejor modelo, probablemente quieras acoplar $G_l$ y $G_u$ mediante un núcleo de acoplamiento según Bonilla, Chai y Williams (2008), Predicción de procesos gaussianos multitarea . Para el entrenamiento multitarea se necesita que las entradas estén bien definidas para todas las GPs, lo que no es tu caso. Sin embargo, en una primera aproximación (si te parece bien un poco de doble inmersión) puedes arreglar eso usando el $G_l$ y $G_u$ para rellenar los valores no vistos. Lo ideal es rellenar como observaciones inciertas de los límites, con la incertidumbre dependiente de la observación según $\sigma_l$ y $\sigma_u$ .

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