Cómo transformar un vector aleatorio para que tenga distribución uniforme

Si X es una variable aleatoria con función de distribución continua F, entonces la variable U=F(X) tiene distribución uniforme en el intervalo [0,1]. Por ejemplo, si tenemos observaciones independientes  x_1,\ldots, x_n procedentes de una distribución normal estándar y llamamos \Phi a la función de distribución \mbox{N}(0,1), entonces \Phi(x_1),\ldots, \Phi(x_n) es una muestra de observaciones independientes de una uniforme en [0,1].

¿Existe alguna transformación similar para convertir vectores aleatorios de dimensión p (con una distribución continua cualquiera) en vectores uniformes en el (hiper)cubo [0,1]^p? En 1952 Murray Rosenblatt publicó un artículo de tres páginas en Annals of Mathematical Statistics en el que describe una transformación con esta propiedad.

En el apartado siguiente describimos con detalle la transformación en el caso bidimensional, en especial en el importante caso en que los datos tienen distribución normal bidimensional. Luego comentamos una posible aplicación.

La transformación de Rosenblatt en el caso bidimensional

Consideremos vectores bidimensionales (X_1,X_2) con distribución continua. La transformación de Rosenblatt consiste en calcular (u_1,u_2) = T(x_1, x_2), donde

  • u_1 = F_1(x_1), donde F_1(x_1) es la función de distribución marginal de X_1.
  • u_2 = F_2(x_2|x_1), donde F_2(x_2|x_1) es la distribución de X_2 condicionada a X_1=x_1.

Se puede demostrar que el vector (U_1,U_2) = T(X_1,X_2) tiene distribución uniforme en el cuadrado unidad [0,1]^2.

Por ejemplo, consideremos el caso en que (X_1,X_2) tiene distribución normal bidimensional con vector de medias \mu=(\mu_1,\mu_2) y matriz de covarianzas

\Sigma=\left( \begin{array}{ll} \sigma_1^2 & \sigma_{12} \\ \sigma_{21} & \sigma_{2}^2 \end{array} \right).

Por las propiedades de la distribución normal X_1 tiene distribución normal de media \mu_1 y varianza \sigma_1^2 mientras que la distribución de X_2 condicionada a X_1=x_1 es también normal con media \mu_{2.1} = \mu_2 + \sigma_{12}(x_1-\mu_1)/\sigma_1^2 (la recta de regresión) y varianza \sigma_{2.1}^2 = \sigma_2^2 - \sigma_{12}^2/\sigma_1^2. De acuerdo con estas fórmulas, la transformación que tenemos que hacer es:

  • u_1 = \Phi[(x_1-\mu_1)/\sigma_1], donde \Phi es la función de distribución normal estándar.
  • u_2 = \Phi[(x_2-\mu_{2.1})/\sigma_{2.1}].

Aplicación a los contrastes de bondad de ajuste

La transformación en el caso unidimensional se usa, por ejemplo, para demostrar que el estadístico del contraste de Kolmogorov-Smirnov tiene siempre la misma distribución bajo la hipótesis nula (es de distribución libre) cuando la distribución de los datos bajo la nula es continua. En este blog también hemos usado esta propiedad en una entrada anterior para resolver un problema suponiendo datos uniformes sin perder generalidad.

En el caso multivariante la propiedad también se puede usar para construir un contraste de bondad de ajuste a una distribución continua dada F_0. Si aplicamos la transformación de Rosenblatt, el problema se reduce a saber contrastar si nuestras observaciones transformadas tienen distribución uniforme en un cubo.

El siguiente código de R es una implementación de esta transformación para datos normales bidimensionales:

library(MASS)
# Rosenblatt (p = 2)

rosenblatt = function(x, mu, sigma){
# x es una matriz de n x 2 datos
# mu es el vector de medias teorico de x
# sigma es la matriz de covarianzas teorica de x
mu2.1 = mu[2] + sigma[1,2] * (x[,1] - mu[1]) / sigma[1,1]
sigma2.1 = sigma[2,2] - sigma[1,2]^2/sigma[1,1]
u1 = pnorm((x[,1] - mu[1])/sqrt(sigma[1,1]))
u2 = pnorm((x[,2] - mu2.1)/sqrt(sigma2.1))
return(cbind(u1, u2))
}

#-------------------------------------------------------------

n = 1000
mu = c(2, 3)
sigma = matrix(c(1, 0.8, 0.8, 1), 2)
x = mvrnorm(n, mu, sigma)
colnames(x) = c("x1", "x2")
u = rosenblatt(x, mu, sigma)

layout(matrix(1:2, 1))
plot(x, pty="s", pch=16, cex=0.5)
plot(u, pty="s", pch=16, cex=0.5)

La segunda parte del código anterior genera una muestra aleatoria de datos normales bidimensionales con correlación 0,8 y la transforma en una muestra uniforme en el cuadrado unidad:

EjemploMuestras

Si por ejemplo generamos datos normales, luego los elevamos a 1,2 (con lo que dejan de ser normales) y aplicamos la misma transformación anterior obtenemos:

NoNormal

Si detectamos la falta de uniformidad en el gráfico de la derecha (que parece clara por los puntos que se acumulan en la parte superior derecha del gráfico) esto permite rechazar la hipótesis de normalidad en los datos de la izquierda. Como hemos dicho antes, cualquier contraste de bondad de ajuste a una distribución continua bidimensional se reduce a saber contrastar la uniformidad en un cuadrado.

El código del último ejemplo es el siguiente:


n = 1000
mu = c(2, 3)
sigma = matrix(c(1, 0.8, 0.8, 1), 2)
x = mvrnorm(n, mu, sigma)^(1.2)
colnames(x) <- c('x1', 'x2')
u = rosenblatt(x, mu, sigma)

layout(matrix(1:2, 1))
plot(x, pty='s', pch=16, cex=0.5)
plot(u, pty='s', pch=16, cex=0.5)

 

El caso general

En el caso de dimensión arbitraria p la transformación es la siguiente:

  • u_1 = F_1(x_1), donde F_1(x_1) es la función de distribución marginal de X_1.
  • u_2 = F_2(x_2|x_1), donde F_2(x_2|x_1) es la distribución de X_2 condicionada a X_1=x_1.
  • u_p = F_p(x_p|x_1,\ldots,x_{p-1}), donde F_p(x_p|x_1,\ldots,x_{p-1}) es la distribución de X_p condicionada a X_1=x_1,\ldots,X_{p-1}=x_{p-1}.

Una última observación es que en realidad hay p! transformaciones, ya que cada permutación de las variables da lugar a una transformación diferente. En el caso bidimensional podríamos haber comenzado transformando la segunda coordenada y luego la primera coordenada condicionando al valor de la segunda. Esto hubiera dado lugar a otra muestra transformada diferente, pero también uniforme en el cuadrado unidad.

Referencias

Rosenblatt, M. (1952). Remarks on a multivariate transformation. The Annals of Mathematical Statistics23, 470-472.

Anuncios
Publicado en estadística, probabilidad | Etiquetado | Deja un comentario

Historia de dos borrachos

Dos borrachos salen de un bar y dan pasos de un metro de longitud, cada paso en una dirección aleatoria e independiente de la dirección de los pasos anteriores. Si uno de ellos da n pasos y el otro m pasos, ¿cuál es la probabilidad de que el primero acabe más cerca del bar que el segundo? ¿Cuál es la probabilidad de que cualquiera de los dos acabe de nuevo en el bar (a distancia menor de un metro)?

A continuación se muestran dos trayectorias de 1000 pasos (en rojo) y 3000 pasos (en azul). El bar es el punto negro y los puntos finales de los dos paseos se han marcado en rojo y azul, respectivamente. En este caso el borracho que da más pasos ha acabado más cerca. ¿Cuál es la probabilidad de que esto ocurra?

DosBorrachos

Caminos o paseos aleatorios

El término paseo aleatorio (random walk) fue utilizado por primera vez por Karl Pearson en una carta a la revista Nature publicada en 1905 cuyo título era The problem of the random walk. Ese mismo año Einstein publicó también su trabajo sobre el movimiento browniano, que puede entenderse como límite de una sucesión de caminos aleatorios. El símil del borracho ya aparece en la propia carta de Pearson que, comentando un resultado de Rayleigh, acaba con la frase

 The lesson of Lord Rayleigh’s solution is that in open country the most probable place to find a drunken man who is at all capable of keeping on his feet is somewhere near his starting point!

El teorema de Rayleigh

Este resultado se puede usar para responder a la segunda de las preguntas que hacíamos al principio de la entrada. Consideramos caminos aleatorios que comienzan en el origen del plano y se mueven n pasos de longitudes X_1,X_2,\ldots,X_n en direcciones aleatorias independientes con distribución uniforme. ¿Cuál es la probabilidad de que una trayectoria acabe en un lugar que dista menos de una unidad del punto de partida? Si llamamos D_n a la distancia entre el punto final y el origen tras n pasos, entonces el teorema de Rayleigh  proporciona la siguiente sencilla fórmula para n>2:

P(D_n < 1) = \frac{1}{n+1}

Como consecuencia de este teorema la probabilidad de que dando 1000 pasos, el borracho acabe a menos de un metro del bar es 1/1001.

En Bernardi (2013) se proporciona una breve demostración de un resultado más general: si las longitudes de los pasos son variables aleatorias i.i.d. no negativas, consideramos dos trayectorias independientes de m y n pasos con n+m>2 y llamamos D_m y D_n a las correspondientes distancias entre los puntos finales e iniciales de cada una de ellas, entonces:

P(D_n < D_m) = \frac{m}{n+m}

El teorema de Rayleigh es un caso particular para m=1 y pasos de longitud constante igual a 1.

En nuestro ejemplo inicial la probabilidad de que el borracho que da 3000 pasos acabe más cerca del bar que el que da 1000 es de 1/4. Las apuestas a favor de quedar más cerca del bar dando 1000 pasos que dando 3000 (odds ratio) están 3 a 1, lo cual es bastante intuitivo. Esta probabilidad no depende de la distribución de la variable aleatoria que representa la longitud de los pasos, siempre que sea la misma para los dos borrachos.

Código en R

El código en R utilizado para obtener las trayectorias de los caminos aleatorios anteriores es prácticamente el mismo que el que aparece en el siguiente tuit de Antonio S. Chinchón (@aschinchon) cuya lectura me ha sugerido esta entrada (las únicas diferencias son que he sustituido geom_polygon() por geom_path(), he elegido las direcciones con distribución uniforme continua en lugar de discreta y he añadido los puntos final e inicial de cada trayectoria):

 

En realidad esta entrada sirve como excusa para señalar lo elegantes y misteriosas que resultan las trayectorias cuando se sustituye geom_path() por geom_polygon(). Por ejemplo, esta es una trayectoria correspondiente a 2500 pasos cuando se usa geom_polygon():

trayectoria

Referencia

Bernardi, O. (2013). A Short Proof of Rayleigh’s Theorem with Extensions. The American Mathematical Monthly120, 362-364. Preprint.

 

Publicado en probabilidad, R | Etiquetado , , | Deja un comentario

Las componentes lineales de una regla de clasificación cuadrática

¿Cuándo una regla lineal es equivalente a una cuadrática?

Las reglas de clasificación cuadráticas son muy flexibles y permiten distinguir poblaciones que difieren no solo en las medias sino también en la estructura de covarianzas. De hecho, si queremos clasificar entre dos poblaciones  normales con matrices de covarianzas distintas, la regla óptima (o regla Bayes) es cuadrática.

Pero incluso en situaciones en las que la regla de clasificación óptima es cuadrática, es posible que no se pierda nada (en términos de error de clasificación) al sustituirla por una regla lineal más simple. Consideremos el ejemplo siguiente:

optima.PNG

En este ejemplo tenemos dos muestras de entrenamiento procedentes de poblaciones normales con matrices de covarianzas diferentes. La regla de clasificación óptima es cuadrática y corresponde a la línea discontinua del gráfico. Está claro que si la cambiamos por una regla lineal no perdemos nada en error de clasificación y que la complejidad que introducen los términos cuadráticos es superflua en este caso.  Podemos usar una regla lineal, mucho más simple y fácil de interpretar.

Aproximación de reglas cuadráticas mediante productos de hiperplanos

En un artículo que se publicará proximamente hemos considerado el problema de cómo aproximar una regla cuadrática mediante productos de hiperplanos, con la idea de identificar situaciones como la del ejemplo anterior. La ventaja es que las aproximaciones solo dependen de combinaciones lineales de las variables, lo que permite definir reglas de clasificación más fáciles de interpretar. Además, es posible saber cuándo el producto es parecido a la función cuadrática original. En el ejemplo anterior el resultado de aplicar nuestro método a los datos disponibles es el siguiente:

optima-prod

En este caso solo uno de los dos hiperplanos del producto aproximante (las líneas continuas) es necesario para obtener una regla lineal con propiedades equivalentes a la regla cuadrática original. En otros casos pueden ser necesarios los dos hiperplanos o incluso otros productos de hiperplanos complementarios. Consideremos el ejemplo siguiente:

optima2.PNG

El gráfico de arriba a la derecha corresponde a la aproximación a la regla optima basada en un único producto de hiperplanos. Su error de clasificación va a ser bastante mejor que el obtenido mediante una regla lineal (por ejemplo Fisher) al precio de considerar dos funciones lineales en lugar de una. Incluso nos podemos acercar más a la regla cuadrática óptima si consideramos un segundo producto de hiperplanos (gráfico de abajo a la derecha). Para ello tendríamos que tener en cuenta cuatro combinaciones lineales de las variables originales.

La idea es que combinando productos de hiperplanos se obtiene una regla de clasificación lineal a trozos que combina las ventajas de las reglas cuadráticas (error de clasificación) y de las lineales (facilidad de interpretación). Los hiperplanos que intervienen en los productos constituyen la estructura lineal de la regla cuadrática.

El método se aplica a cualquier regla cuadrática, no necesariamente a las óptimas. Usando técnicas de regularización se han propuesto muchas reglas cuadráticas incluso en casos de alta dimensión en los que no es posible estimar las matrices de covarianzas. Un artículo reciente en el que se mencionan muchas de ellas es Qin (2018).

¿Es muy difícil determinar la estructura lineal de una regla cuadrática?

Si la regla cuadrática consiste en clasificar x en una de las poblaciones si y solo si f(x)>0, donde f(x)=x'Ax+2a'x+c, entonces para calcular los productos de hiperplanos basta diagonalizar la matriz B=aa'-cA, que depende de manera muy sencilla de la matriz A, el vector a y el escalar c . Y esto para cualquier dimensión. De manera similar a como ocurre en el análisis de componentes principales, si muchos de los autovalores de B son pequeños es posible aproximar bien la regla cuadrática con un número pequeño de productos de hiperplanos. De esta manera también se puede considerar nuestro método como una forma de reducir la dimensión del problema.

Si el lector tiene curiosidad por saber por qué la matriz B es justo la que hace falta diagonalizar para encontrar los productos de hiperplanos aproximantes tendrá que leer nuestro artículo 🙂

Referencia

Berrendero, J.R. and Cárcamo, J. (To appear). Linear components of quadratic classifiers. Advances in Data Analysis and ClassificationPreprint | doi

Publicado en estadística | Etiquetado , | Deja un comentario

El Grand Slam de las revistas estadísticas

Según wikipedia el término Grand Slam procede de juegos de cartas de la familia del whist y en este contexto ya se usaba en el siglo XVII. Desde 1930 se usa en golf para referirse al hecho de ganar los cuatro principales torneos en la misma temporada. Al parecer el periodista Alan Gould  fue el primero en usar este término referido al tenis en un artículo de 1933 en el periódico The Reading Eagle:

GrandSlam

Pero, ¿cuál sería el Grand Slam de las revistas de estadística? Si a los investigadores en estadística les preguntaran cuáles son las revistas más importantes, ¿cuál sería su respuesta?

Una encuesta

Recientemente se han publicado los resultados de 2018 del ranking de Shanghái. Junto con la lista de mejores universidades (ya suficientemente comentada en diversos foros) se publican también los resultados de una encuesta en la que se pregunta a científicos de distintas áreas, entre otras cosas, por las revistas de su especialidad que consideran más prestigiosas. Me ha parecido interesante mirar los resultados porque reflejan la importancia de las revistas de una forma más cualitativa que los controvertidos índices de impacto. En el área de estadística son cuatro las revistas que aparecen, lo que podríamos llamar el Grand Slam de las revistas estadísticas. Estos son los resultados:

shanghai

Si comparamos con el ranking de revistas en función del índice de impacto hay ciertas discrepancias. Annals, JASA y Royal B son (todavía) Q1, aunque no son ciertamente las tres revistas con mayor índice de impacto. Por otra parte, hay muchos años en los que Biometrika no aparece como Q1, con lo que ello implica en procesos de acreditación, solicitudes de sexenios, etc.

Biometrika

Y sin embargo, a quién no le gustaría publicar en una revista fundada por Pearson, Weldon y Galton a principios del siglo XX y en la que han aparecido contribuciones fundamentales en la historia de la metodología estadística. Así cuenta David Cox los comienzos de Biometrika en un artículo publicado para celebrar su centenario:

biometrika

En 1908 Gosset publicó en Biometrika su artículo sobre la distribución t de Student. Más de un siglo después miles de científicos siguen usando a diario esta distribución. Me cuesta imaginar un artículo que contribuya más al impacto de una revista científica.

 

Publicado en estadística | Etiquetado , | Deja un comentario

¿Con qué probabilidad existe el estimador de máxima verosimilitud en regresión logística?

Un nuevo resultado sobre el estimador de máxima verosimilitud en regresión logística

En una entrada anterior de este blog se comentaba un conocido resultado sobre la existencia del estimador de máxima verosimilitud (EMV) en el modelo de regresión logística. El EMV existe si y solo si las nubes de puntos de las variables regresoras correspondientes a los dos grupos de la variable respuesta (Y=0 e Y=1) no se pueden separar linealmente mediante un hiperplano  (la separación no tiene por qué ser estricta).

En un artículo publicado recientemente en arxiv, Emmanuel Candes y Pragya Sur han profundizado en esta situación cuando las variables regresoras tienen distribución normal. Si n es el tamaño muestral y p es el número de variables regresoras, en el artículo se investiga con qué probabilidad podemos esperar que exista un hiperplano separador (y por lo tanto el EMV no exista) cuando n\to\infty y p/n\to\kappa, con  0<\kappa < 1. Esta probabilidad es relevante en la práctica porque, dada la gran cantidad de datos a nuestra disposición, muchas veces se puede presentar la posibilidad de ajustar el modelo de regresión logística con un número elevado de variables regresoras.

El resultado es sorprendente ya que existe un brusco cambio de régimen en función de si \kappa está por encima o por debajo de cierto umbral. Si está por debajo, el EMV existe en el límite con probabilidad uno; mientras que si está por encima, el EMV existe con probabilidad cero. El umbral solo depende del valor del término independiente del modelo \beta_0 y del límite de las varianzas \gamma=\lim_{n\to\infty} Var(\beta'x), donde \beta es el vector de coeficientes de la regresión y x es el vector de variables regresoras.

Una pequeña simulación

Tenía curiosidad por comprobar la relevancia empírica de este resultado y, en particular, si se notaba claramente el cambio de régimen para tamaños muestrales moderados. Para ello, he hecho una pequeña simulación y comparto aquí los resultados.

He considerado el caso más sencillo en el que  \beta_0=\beta=0, es decir, la variable respuesta es independiente de las variables regresoras. En este caso, puede comprobarse que el umbral que determina el cambio de régimen es \kappa=1/2. Por lo tanto, si el número de variables regresoras está por debajo de la mitad del tamaño muestral debemos esperar probabilidades altas de existencia del EMV mientras que si está por encima se espera una probabilidad de existencia baja. Hay que decir que el umbral crítico es una función decreciente de \gamma y por lo tanto si fuese \beta\neq 0 el umbral sería aún menor.

Para n=200 he generado muestras con p variables regresoras independientes con distribución normal estándar, para p=2,\ldots,200 y, en cada caso, he comprobado si son linealmente separables (doy más detalles al final sobre esta comprobación). Este experimento lo he repetido 100 veces. En el siguiente gráfico se muestra la proporción de veces en las que el EMV existe en función del número de variables regresoras:

Existencia200

Los resultados coinciden totalmente con lo esperado. Hasta una dimensión cercana a 100 el EMV existe siempre. En un entorno de 100 la proporción de veces en las que existe desciende bruscamente a cero y se mantiene en cero a partir de valores de la dimensión ligeramente por encima de 100.

A continuación he repetido el experimento para tamaños muestrales aún menores (n=25, 50, 75 y 100) con los resultados siguientes:

Existencia25a100

 

Vemos que ya para n=25 el efecto del cambio de régimen se nota claramente. Incluso para tamaños muestrales pequeños no es recomendable ajustar un modelo de regresión logística con un número de variables regresoras por encima del umbral que describen Candes y Pragya en su artículo. Desgraciadamente este umbral no es conocido porque depende en general de los valores de los parámetros que queremos estimar.

¿Qué ocurre para variables regresoras con otras distribuciones?

El teorema se cumple bajo condiciones más generales, al menos en el caso en que y es independiente de x. De hecho, bajo la condición \beta_0=\beta=0 hay resultados generales ya en los años sesenta debidos a Tom Cover [Cover, 1965]. A continuación aparece el resultado que he obtenido simulando variables regresoras independientes con distribución exponencial de media uno:

Existencia200exp

 

Comprobación de la separabilidad lineal

Para comprobar si existe un hiperplano separador he seguido el enfoque basado en optimización lineal propuesto por Konis (2007) Para ello, he usado la función separator incluida en el paquete de R safeBinaryRegressionComo la función está un poco escondida, yo la he copiado directamente en mi código, que se puede encontrar aquí por si alguien quiere repetir o modificar lo que yo he hecho.

Referencias

Cover, T. M. (1965). Geometrical and statistical properties of systems of linear inequalities with applications in pattern recognitionIEEE transactions on electronic computers, 3, 326-334.

Candes, E. y Pragya, S. (2018). The phase transition for the existence of the maximum likelihood estimate in high-dimensional logistic regression. https://arxiv.org/abs/1804.09753

Konis, K., B. (2007). Linear programming algorithms for detecting separated data in binary logistic regression models. PhD thesis, University of Oxford.

Publicado en estadística | Etiquetado , | Deja un comentario

Curso de estadística aplicada con R (cuarta edición)

Los Departamentos de Matemáticas y Ecología de la Facultad de Ciencias de la Universidad Autónoma de Madrid organizan, en colaboración con el departamento de Bioestadística de GEICAM, la cuarta edición del curso Estadística aplicada con el software R. El programa está compuesto por diferentes módulos que pueden ser cursados en su totalidad o separadamente, dependiendo de los diferentes intereses y conocimientos de los alumnos. Los módulos se impartirán entre septiembre y noviembre de 2018 en la Facultad de Ciencias de la UAM:

  1. Introducción a R (este módulo se impartirá en dos turnos, el 6-7 y el 20-21 de septiembre)
  2. Métodos de regresión y análisis multivariante con R (3 a 5 de octubre)
  3. Métodos de Regresión Avanzados para la Investigación en Ciencias Naturales con R (16 a 18 de octubre).
  4. Estadística Aplicada a la Investigación Biomédica con R (22 a 26 de octubre).
  5. Modelos Mixtos / Jerárquicos / Multinivel con R (20 a 22 de noviembre).
  6. Técnicas Estadísticas de Data Mining con R (26 a 30 de noviembre).

Más información en este enlace.

Publicado en estadística, R | Etiquetado | Deja un comentario

VII Jornada Estadística UAM

jornada

El próximo día 23 de febrero de 2018, viernes, tendremos en la sala 520 del Departamento de Matemáticas (módulo 17 de la Facultad de Ciencias) la VII jornada estadística UAM, con diferentes charlas de miembros del departamento y de algunos profesores invitados de otras universidades. Este es el programa completo de la jornada:

jornada-programa

Publicado en estadística | Etiquetado | Deja un comentario