Una (dulce) receta con R

El brazo de gitano (llamado en los países anglosajones Swiss roll) es un conocido bizcocho relleno y enrollado en forma de cilindro. En esta entrada se describe cómo generar una muestra aleatoria en \mathbb{R}^3 que tiene la forma de este dulce, y cómo representar estos datos en un gráfico tridimensional.

brazo

Este ejercicio de simulación no es una simple curiosidad, puesto que estos datos o similares se utilizan en la literatura estadística sobre manifold learning y métodos no lineales de reducción de la dimensión para ilustrar las propiedades de los métodos. Un ejemplo es el artículo original acerca de Isomap [Tenenbaum et al. (2000)], que es un conocido método de reducción no lineal de la dimensión.

Según Izenman (2008), página 617, las ecuaciones de la variedad con forma de brazo donde toman valores las observaciones son las siguientes: x_1 = \theta\cos\theta, x_2 =\theta\sin\theta y  x_3 = t, donde \theta\in [3\pi/2,\, 9\pi/2] y t\in [0,15]. En nuestra receta se generan   n realizaciones de una variable aleatoria uniforme \Theta en el intervalo  [3\pi/2, 9\pi/2] y otras n realizaciones (independientes de las anteriores)  de una variable aleatoria T con distribución uniforme en el intervalo [0, 15]. Insertando los valores obtenidos en las ecuaciones se obtienen los puntos.

Para representar los datos en un gráfico tridimensional dinámico he usado el comando plot3d de la librería rgbEl código en R y el gráfico tridimensional dinámico (los puntos se pueden girar y hacer más grandes o pequeños con el ratón) se pueden ver aquí. El resultado de nuestra receta es el siguiente:

swiss

Imaginemos que queremos identificar dos clusters diferentes en una muestra de datos en esta variedad. Los métodos clásicos de clustering (k medias, por ejemplo) se basan en distancias entre las observaciones que no tienen en cuenta la estructura no lineal de la variedad en la que viven, por lo que en general no van a dar buenos resultados. Adoptar un punto de vista adecuado es crucial. Los gráficos siguientes corresponden a los mismos datos contemplados desde dos lugares diferentes:

Mientras que en el gráfico de la izquierda no se distingue apenas la existencia de grupos bien diferenciados en los datos, en el de la derecha aparecen dos clusters de forma totalmente natural. Resulta por lo tanto necesario disponer de métodos que permitan detectar la estructura no lineal de la variedad en la que viven los datos. Este problema puede ser bastante complicado si la dimensión del espacio ambiente es mucho mayor que la de la variedad a la que pertenecen realmente las observaciones.

Volviendo al auténtico brazo de gitano dulce con el que empezábamos la entrada, en esta página se cuentan varias historias que explican su curioso nombre en España. Según wikipedia en otros países de habla hispana se le llama de otras formas, también curiosas: brazo de reina (Chile y Colombia), niño envuelto (México), arrollado (Argentina) o pionono (Perú).

Referencias

Izenman, A. J. (2008). Modern multivariate statistical techniques. Springer.

Tenenbaum, J. B., De Silva, V. y Langford, J. C. (2000). A global geometric framework for nonlinear dimensionality reduction. Science, 290, 2319-2323.

Anuncios
Esta entrada fue publicada en estadística, R y etiquetada , , . Guarda el enlace permanente.

2 respuestas a Una (dulce) receta con R

  1. Me ha encantado este post, casi tanto como el brazo de gitano (y lo curioso es que aún no esté prohibido llamarlo de esta forma).
    Copio las fórmulas de R para poner en mis clases yo también
    Saludos desde la UDC, y excelente blog (que he llegado por casualidad, pero lo guardo en favoritos)
    Alejandro Quintela

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s