10 votos

Calcular la probabilidad de una ordenación particular de variables al azar normales

Hay $m$ se distribuye normalmente, independiente de las variables aleatorias $N_1, \ldots, N_m$ con medios distintos a $\mu_1, \ldots \mu_m$ y desviación estándar $\sigma_1, \ldots, \sigma_m$. Entonces, tenemos una permutación de los números de $\{1, \ldots, m\}$. ¿Cómo podemos calcular de manera eficiente, numéricamente, la (log) de la probabilidad de la observación de las variables aleatorias en el mismo orden como esta permutación?

Un ejemplo:

  1. tenemos cuatro variables aleatorias independientes $N_1, N_2, N_3, N_4$, todos con diferentes medias y varianzas.
  2. Se nos da la permutación (3, 1, 2, 4).
  3. Lo $\Pr(N_3 > N_1 > N_2 > N_4)$?

Una forma cerrada, la solución no es necesario, pero el cómputo de la solución mediante un algoritmo eficiente con buena precisión. También, es probable que sea necesario para calcular un registro de probabilidad debido al hecho de que cuando el número de variables es elevado, el cómputo de la real probabilidad resultará en un punto flotante de subdesbordamiento.

Algunos puntos de partida, tal vez...

La forma más directa para calcular este valor, utilizando el ejemplo anterior, es la evaluación de una de las siguientes integrales, que creo que son equivalentes:

$$ \int_{-\infty}^\infty \int_{n_4}^\infty \int_{n_2}^\infty \int_{n_1}^\infty p(n_1)p(n_2)p(n_3)p(n_4)\ dn_3 dn_1 dn_2 dn_4 $$

$$ \int_{-\infty}^\infty \int_{-\infty}^{n_3} \int_{-\infty}^{n_1} \int_{-\infty}^{n_2} p(n_1)p(n_2)p(n_3)p(n_4)\ dn_4 dn_2 dn_1 dn_3 $$

Donde $p(n_i)$ es la función de densidad de la variable $N_i$. Sin embargo, cuando traté de implementar este numéricamente, es ineficiente, propenso a la inexactitud, y se ejecuta en un subdesbordamiento de errores cuando el número de variables se hace grande. Si usted piensa que usted puede calcular esta integral en una forma aceptable, por favor envíe su respuesta!

De una de las siguientes respuestas, observamos que es posible calcular $\Pr(N_3 > N_1 > N_2 > N_4)$ directamente por la evaluación de una normal multivariante CDF de la dimensión $(m-1)$, o 3 en este caso. Sin embargo, esto es no trivial (aunque puede haber bibliotecas), y se subdesbordamiento de muchas variables.

Tal vez podemos dividir la probabilidad de la siguiente manera:

$$\Pr(N_3 > N_1 > N_2 > N_4) = $$ $$\Pr(N_3 > N_1 \mid N_1 > N_2, N_2 > N_4 )\Pr(N_1 > N_2 \mid N_2 > N_4 )\Pr(N_2 > N_4)$$

Ser capaces de calcular las probabilidades de cada parte directamente es muy fácil de calcular, el registro de probabilidad simplemente añadiendo. Se pueden calcular las probabilidades condicionales por separado, utilice la MVN CDF método que podría ayudar a si el producto puede subdesbordamiento.

Otra observación: el $m!$ posible las probabilidades correspondientes a los diferentes permutaciones debe sumar 1. Tal vez hay una manera de calcular las probabilidades de forma iterativa o usando programación dinámica: es decir: $(N_2 > N_3)$, un pedido de más de un par, tiene algunos fijos de probabilidad, la cual se divide en tres valores por los tres lugares posibles para insertar $N_1$ en los pedidos, divididos en los cuatro valores por los lugares posibles para insertar $N_3$. Este es semánticamente equivalente a las probabilidades condicionales anteriores, pero podría ser más fácil pensar en ello de esta manera.

Cualquier matemáticas asistentes tienen sugerencias sobre cómo solucionar este problema? Les agradecería mucho cualquier idea!

2voto

user55269 Puntos 21

Para empezar a partir de su ejemplo, tenga en cuenta que el unconitional parte es fácil, ya que $N_2 - N_4$ es normal con una media de $\mu_2 - \mu_4$ y la varianza $\sigma_2^2 + \sigma_4^2$. Entonces, por primera probabilidad condicional, usted tiene $P(N_1 - N_2 > 0 | N_2 - N_4 > 0)$. De nuevo, estos son los normales de los cuales se puede calcular la covarianza. Con eso, usted debería ser capaz de calcular la probabilidad. Como para el primer término en su suma, tenga en cuenta que el evento es independiente de la segunda acondicionado eventos, así que usted tiene un caso como el primero. Creo que este debería de llevar más grandes de m y puede deshacerse de la mayoría de los condicionamientos términos. De cualquier manera, usted todavía tiene normales donde se puede calcular la covarianza. Y desde acondicionado en dependiente de las normales sólo funciona para las proyecciones lineales usted debe ser bueno. Creo que la contesta.

EDITAR: Para un poco más clara la explicación, $N_1 - N_2$ $N_2 - N_4$ puede ser considerado como $$ \begin{bmatrix}N_1 - N_2\\ N_2 - N_4 \end{bmatrix} = \begin{bmatrix}1 & -1 & 0 & 0 \\ 0 & 1 & 0 & -1 \end{bmatrix}\begin{bmatrix}N_1 \\ N_2 \\ N_3 \\ N_4 \end{bmatrix} $$ Tenga en cuenta que podemos hacer esto para cualquier número de diferencias. Para calcular la matriz de covarianza no es ningún problema. A continuación, la distribución condicional de primer término, dado que el resto se da aquí: https://en.wikipedia.org/wiki/Multivariate_normal_distribution#Conditional_distributions Ah, mi viejo amigo, el Complemento de Schur. Me olvide de la prueba a pesar de que la parte superior de mi cabeza...

EDIT2: Ah, yo creo que puede haber sido un poco descuidado. Que sólo condicional de una variable aleatoria. Pero creo que todavía se puede utilizar el mismo principio desde $P(X>0 | Y>0) = \frac{P(X>0, Y>0)}{P(Y>0)}$ que usted debería ser capaz de obtener a partir de la distribución conjunta.

EDIT3: Ya que yo todavía no tienen la suficiente reputación para comentar sobre leonbloy la preocupación, voy a publicar aquí. En ese ejemplo, ha pasado de ser un espacio de dos dimensiones a tres dimensiones del espacio, de manera que la transformación es el rango deficiente y se obtiene un degenerado matriz de covarianza en el espacio XYZ.

2voto

Quink Puntos 56

Las respuestas a esta pregunta resultó en el debate, y la respuesta no es clara a partir de los otros puestos, así que yo sólo quería escribir una manera más clara resultado para la posteridad. Por favor comentar si usted ve un error.

La primera observación es que el $\Pr(N_3>N_1>N_2>N_4)$ puede ser evaluado directamente a través de la normal multivariante CDF. Para ver esto, escribir $$Y_1 = N_1 - N_3\\ Y_2 = N_2 - N_1\\ Y_3 = N_4 - N_2$$ A continuación, $(Y_1, Y_2, Y_3)$ es un multivariante distribución normal con una media de vector y matriz de covarianza computable a partir de nuestra original medias y varianzas (ver aquí), y $\Pr(Y_1 < 0, Y_2 < 0, Y_3 < 0)$ nos da la respuesta deseada.

Sin embargo, el cómputo de la normal multivariante CDF es trivial, y no hay una compensación precisión cuando el número de variables se hace grande. Hay paquetes en MATLAB y R, que se puede calcular, todos basados en Alan Genz' código original. Tengo una pregunta de StackOverflow en cómo esto podría ser hecho a partir de Java.

Los siguientes enunciados son incorrectos debido al hecho de que $P(X\mid Y,Z) = P(X\mid Y)$ fib $X\perp Z \mid Y$, que, desgraciadamente, no se sostiene en este caso. A ver si pueden detectar el error; sin embargo, en general es mucho más fácil calcular el CDF de un bivariante normal que multivariante, y usted debe ver si usted puede romper su problema como tal.

Sin embargo, eso no es lo mejor que podemos hacer en este caso, especialmente cuando se requiere un registro preciso de la probabilidad para un gran número de variables. En ese caso, nos dirigimos a la encadenado probabilidades condicionales de arriba:

$$\Pr(N_3 > N_1 > N_2 > N_4) = \\ \Pr(N_3 > N_1 \mediados de N_1 > N_2, N_2 > N_4 )\Pr(N_1 > N_2 \mediados de N_2 > N_4 )\Pr(N_2 > N_4)$$

Podemos calcular cada una de las probabilidades en el producto de forma independiente y simplemente añadirlos. Observe que $\Pr(N_3 > N_1 \mid N_1 > N_2, N_2 > N_4 ) = \Pr(N_3 > N_1 \mid N_1 > N_2)$ porque $N_3 - N_1$ es independiente de $N_2 - N_4$; y, además, si hay un gran número de términos que nos pueden quitar todo, pero la primera diferencia en el condicional predicado. Luego, se nota que todo se reduce a la evaluación de un montón de univariado, bivariado y normal Cdf:

$$ \Pr(N_3 > N_1 \mid N_1 > N_2) = \frac{\Pr(N_3 > N_1, N_1 > N_2)}{\Pr(N_1 > N_2)}$$

Cuando en realidad este cálculo, se obtiene el denominador de la segunda-último plazo para cancelar con el último término, así que para este ejemplo es sólo

$$\Pr(N_3 > N_1 > N_2 > N_4) = \frac{\Pr(N_3 > N_1, N_1 > N_2)}{\Pr(N_1 > N_2)} \Pr(N_1 > N_2, N_2 > N_4 )$$

Observe la simetría de arriba. Cuando la informática de registro de probabilidades, es fácil solo sumar y restar piezas como sea necesario. Afortunadamente, la normal bivariante CDF es mucho más rápida y precisa para evaluar que el general multivariante caso. Hay buenas bibliotecas en MATLAB y R, y también un gran paquete de Java aquí.

0voto

JiminyCricket Puntos 143

Dependiendo del número de variables y de la precisión deseada, usted puede ser que desee considerar el uso de Monte Carlo integración con la importancia de muestreo. Tendría que overrepresent configuraciones con el orden deseado, pero que probablemente no sería suficiente, ya que la configuración, a continuación, vagar sin rumbo, hasta que choca con el orden correcto, por lo que la varianza sería todavía muy alta. Una solución a esto podría ser la introducción de una multa por cada una de las $m(m-1)/2$ posible pareja inversiones con respecto a la orden deseado, y, quizás, para determinar las sanciones de acuerdo a las probabilidades de las inversiones, que son fáciles de calcular.

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