Los dados de Efron

Disponemos de un conjunto de cuatro dados en cuyas caras aparecen otros números en lugar de los tradicionales 1 a 6:

DadosEfron

Imaginemos una partida entre dos jugadores en la que cada uno tira uno de estos dados y gana aquel que obtenga una mayor puntuación. Si vuestro caballeroso oponente os deja elegir primero el dado con el que queréis jugar, ¿cuál elegiríais?

Un juego no transitivo

La respuesta es que no importa cuál seleccionéis, vuestro adversario siempre puede elegir otro con el que os gana con probabilidad 2/3. Por ejemplo, si seleccionáis el aburrido dado B (siempre sale 3) entonces A gana con probabilidad 2/3 (cada vez que sale 4), pero si animados por este cálculo seleccionáis el dado A, entonces también D gana a A con probabilidad 2/3 (ejercicio fácil). Podéis pensar en el dado que elegiríais vosotros si es vuestro adversario el que elige primero para cada una de las dos opciones restantes (la respuesta más abajo).

Este ejemplo, que demuestra que ciertas relaciones entre variables aleatorias no tienen por qué ser transitivas, se debe a  Bradley Efron, un estadístico de la Universidad de Stanford conocido sobre todo por introducir a finales de los 70 del siglo XX las técnicas de remuestreo bootstrap. Sus contribuciones en estadística son muy variadas y relevantes, como se puede comprobar en su perfil de Google Académico. En 1998, Efron fue investido doctor honoris causa por la Universidad Carlos III de Madrid (por cierto, su discurso de investidura, que resume la evolución de la estadística en el siglo XX, fue muy interesante y aún se puede encontrar aquí traducido al castellano).

Volviendo a los dados de Efron, el código de R siguiente (que podéis modificar si queréis experimentar con otros dados) simula 10.000.000 de partidas entre algunos pares de los cuatro dados y devuelve la proporción de veces que cada uno gana a otro. El 66,6% de las veces A le gana a B, B le gana a C, C le gana a D, pero también D le gana al dado A. Intuitivamente, cada dado tiene ventajas e inconvenientes que son las que determinan si es mejor o peor que otro. Lo que supone una ventaja en unas comparaciones puede no serlo tanto en otras.

# Esta función simula R partidas entre dos dados
# y devuelve la proporción de veces que el primero le gana
# al segundo

partidas = function(dado1, dado2, R=10^7){
# dado1 y dado2 son vectores con los 6 números de cada dado
sample1 = sample(dado1, R, rep=TRUE)
sample2 = sample(dado2, R, rep=TRUE)
return(sum(sample1 > sample2)/R)
}

# Aplicamos la función a los datos de Efron
dadoA = c(0, 0, 4, 4, 4, 4)
dadoB = c(3, 3, 3, 3, 3, 3)
dadoC = c(2, 2, 2, 2, 6, 6)
dadoD = c(1, 1, 1, 5, 5, 5)

set.seed(100) # para reproducir los resultados
partidas(dadoA, dadoB)
partidas(dadoB, dadoC)
partidas(dadoC, dadoD)
partidas(dadoD, dadoA)

La paradoja de Steinhaus-Trybula

En términos más generales, supongamos que X, Y, Z,\ldots son variables aleatorias que representan el beneficio obtenido, por ejemplo, en diferentes inversiones. Decimos que la inversión X es mejor que la inversión Y (notación, X\succ Y) si es más probable ganar más con X que con Y, es decir, si \mathbb{P}(X>Y)> 0.5. Podría pensarse que si una inversión X es mejor que otra Y, y a su vez Y es mejor que una tercera Z, entonces X también será mejor que Z. Sin embargo, los dados de Efron proporcionan un ejemplo de que la relación no es transitiva. De hecho, es posible encontrar tres variables X,Y,Z tales que  X\succ YY\succ Z, pero Z\succ X (es muy fácil comprobar que el dado C le gana al A con probabilidad 5/9>1/2). A este hecho a veces se le llama la paradoja de Steinhaus-Trybula.

En Trybula (1965) se demuestra que si X_1,X_2,X_3,X_4 son variables aleatorias independientes, entonces

\min\{\mathbb{P}(X_1>X_2),\mathbb{P}(X_2>X_3),\mathbb{P}(X_3>X_4),\mathbb{P}(X_4>X_1)\} \leq 2/3.

Teniendo en cuenta esta cota, los dados de Efron constituyen un ejemplo que no puede mejorarse en el sentido de que no es posible encontrar cuatro variables independientes tales que las cuatro probabilidades anteriores sean todas ellas estrictamente mayores que 2/3.

Para tres variables independientes puede probarse

\min\{\mathbb{P}(X_1>X_2),\mathbb{P}(X_2>X_3),\mathbb{P}(X_3>X_1)\} \leq \varphi -1,

donde \varphi = (1+\sqrt{5})/2\approx 1.618 es la proporción áurea, que de pronto aparece en este contexto. En particular, no es posible diseñar tres dados de forma que A le gane a B, B a C y C a A, siempre con probabilidad 2/3.

El artículo de Trybula contiene cotas para un número arbitrario n de variables aleatorias. Si p_n es la cota para n variables independientes (los ejemplos anteriores corresponden a p_3 y p_4) entonces p_n es una sucesión creciente que converge a 3/4. Otros resultados en relación con la paradoja de Steinhaus-Trybula se pueden encontrar, por ejemplo, en Usiskin (1964) y Savage (1994).

 

 

Publicado en probabilidad, R | Etiquetado | Deja un comentario

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

La Facultad de Ciencias de la Universidad Autónoma de Madrid (UAM) y la Unidad de Bioestadística del Instituto IMDEA Alimentación  han organizado conjuntamente el curso de formación continua en “Estadística Aplicada con R” (segunda edición) que se va a impartir en Madrid, entre septiembre y diciembre de 2016, de forma presencial. El programa está compuesto por 7 módulos que pueden ser cursados de forma independiente:

1. Introducción a R (22, 23 de septiembre )

2. Métodos de Regresión con R (6, 7 de octubre)

3. Métodos de Regresión Avanzados para la Investigación en Ciencias Naturales con R (19, 20, 21 de octubre)

4. Estadística Aplicada a la Investigación Biomédica con R (24, 25, 26 de octubre)

5. Modelos Mixtos / Jerárquicos / Multinivel con R (16, 17, 18 de noviembre)

6. Estadística Multivariante con R (24 y 25 de noviembre)

7. Técnicas Estadísticas de Data Mining con R (12, 13, 14, 15 de diciembre)

Los módulos 4 y 7 se impartirán en el Instituto IMDEA Alimentación, y el resto en la Facultad de Ciencias de la UAM. El programa completo de todos los módulos lo puedes encontrar en este enlace.

Si quieres obtener más información, lo puedes hacer en las siguientes páginas, donde también podrás formalizar la matrícula:

http://goo.gl/whB1MM

http://www.alimentacion.imdea.org/unidad-de-formacion

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

Selección de variables en clasificación de datos funcionales

En un contexto de creciente abundancia de datos, cada vez es más frecuente tener que analizar muestras de curvas o funciones, en lugar de escalares o vectores. Espectros de frecuencias, electrocardiogramas o incluso imágenes proporcionan este tipo de observaciones en distintos campos. Por ejemplo, la figura de abajo muestra los espectros de absorción obtenidos a partir del análisis de 215 piezas de carne. La parte de la estadística que analiza este tipo de observaciones se llama análisis de datos funcionales.

EjemploTecator

Es imposible observar las funciones completamente. Únicamente se conoce su valor en una rejilla fina (incluso a veces tan fina como se quiera) de valores. Esto quiere decir que en la práctica se trabaja con vectores de alta dimensión a los que no es posible aplicar los métodos clásicos de análisis multivariante. Una posible solución es utilizar solo un número pequeño, cuidadosamente seleccionado, de los valores de las funciones. De esta forma, al reducir la dimensión ya es posible aplicar los métodos estadísticos tradicionales.

¿Es posible entonces sustituir una curva completa por muy pocos puntos sin perder apenas información o, incluso, salir ganando? ¿Cómo seleccionar estos puntos? En esta entrada presento uno de nuestros artículos en el que se aborda esta cuestión en un problema de clasificación.

Clasificación supervisada con datos funcionales

El gráfico siguiente muestra los espectros de absorción anteriores en distinto color según el contenido en grasas de la pieza de carne a la que corresponden (por encima del 20% en rojo y por debajo en azul):

EjemploTecatorGrasa

El problema de clasificación supervisada en esta situación consiste en utilizar la información de esta muestra (muestra de entrenamiento) con el fin de clasificar un nuevo espectro como perteneciente a una carne con bajo o alto contenido en grasas.

Más en general, en clasificación supervisada se dispone de dos muestras de funciones generadas a partir de dos modelos diferentes. El problema consiste en clasificar  una nueva función, independiente de las muestras anteriores y cuya procedencia se desconoce, en uno de los dos modelos.

Selección de variables

Nuestro objetivo en este problema es clasificar la curva usando los valores de los espectros en un número muy pequeño de longitudes de onda cuidadosamente seleccionadas, y despreciar el resto de la curva. Aunque pueda parecer que se pierde información, es sorprendente que para muchos conjuntos de datos (la mayoría de los que hemos analizado) se incrementa la tasa de aciertos de la clasificación procediendo de esta manera.

En Berrendero, J.R., Cuevas, A. y Torrecilla, J.L. (2016) [aquí se puede obtener un preprint publicado en Arxiv] proponemos un criterio relativamente simple para seleccionar los puntos relevantes que da resultados muy buenos, tanto en conjuntos de datos reales como en simulaciones. Se trata de utilizar una medida adecuada para cuantificar el grado de dependencia entre los espectros para cada longitud de onda y la variable que determina si la carne es baja o alta en grasas. La medida que utilizamos es la covarianza de distancias (y su versión estandarizada, la correlación de distancias)  cuyas definiciones y propiedades comentábamos en la anterior entrada del blog. Esta es una medida que, al contrario que el coeficiente de correlación lineal, permite detectar relaciones no lineales entre variables.

En el gráfico siguiente hemos representado (línea negra discontinua) la correlación de distancias entre los espectros evaluados en cada longitud de ondas y la variable que determina si la carne es baja o alta en grasas. Con una barra vertical se señala el punto en el que se maximiza la correlación de distancias:

TecatorMasRelevante

De acuerdo con este criterio, si tuviéramos que representar cada curva con un único punto, lo haríamos con su valor para la longitud de onda 931 aproximadamente. Este es el punto más relevante. Si tuviéramos que elegir dos puntos, ¿cuál sería el siguiente?

Relevancia y redundancia 

El segundo punto no puede ser aquel que da la segunda mayor correlación de distancias porque, debido a la naturaleza de los datos funcionales, este segundo punto sería adyacente al primero y básicamente contendría la misma información. A la hora de seleccionar puntos no solo hay que tener en cuenta su relevancia en la clasificación sino también su redundancia en relación a los puntos ya seleccionados. En nuestro artículo, proponemos seleccionar los puntos que correspondan a máximos locales de la correlación de distancias. Esta es una forma de seleccionar puntos relevantes que al mismo tiempo recogen distintos aspectos de la información contenida en la curva, lo que implícitamente toma en cuenta la redundancia. Al mismo tiempo, el numero de máximos locales sugiere cuántos puntos es necesario seleccionar.  En el ejemplo, los dos mejores puntos son los señalados en el gráfico siguiente, y entre los dos ya contienen la mayor parte de la información relevante:

TecatorSegundo

En el siguiente gráfico cada punto representa un espectro. Los puntos corresponden a la segunda derivada de los espectros evaluada en los dos puntos que hemos seleccionado:

ProyeccionesDerivadas2

Está claro que la tasa de error de clasificación (con cualquier regla de clasificación estándar) va a ser muy baja ya que los puntos azules se muestran bien separados de los rojos. Si comparamos el gráfico de las curvas originales con esta nube de puntos, parece que sí hemos salido ganando al reducir cada curva a un vector bidimensional. De hecho, en este ejemplo, únicamente usando el punto 1 el error de clasificación sería muy pequeño.

 

 

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

Una correlación para el siglo XXI

La mayoría de los científicos ha calculado alguna vez el coeficiente de correlación de Pearson para valorar el grado de asociación lineal entre dos variables. Aunque es una medida muy sencilla y útil, la correlación de Pearson no es efectiva para detectar relaciones no lineales entre las variables. Existen medidas más recientes que resuelven este problema a cambio, normalmente, de un mayor coste computacional. Por ejemplo, un artículo de la revista Science presentaba en 2011 el coeficiente de información maximal, al que llamaba la correlación del siglo XXI. En esta entrada os presento la correlación de distancias, que es el candidato más firme entre los que conozco para ser la correlación que más se use en el futuro.

La correlación de distancias

Desde que Szekely, Rizzo y Bakirov introdujeron la covarianza y la correlación de distancias en un artículo de Annals of Statistics de 2007, estas medidas han atraído una atención considerable y se han aplicado a problemas estadísticos muy diversos.

Veamos cómo se calcula la covarianza de distancias entre dos vectores de variables  X e Y a partir de una muestra de  observaciones (X_1,Y_1)\ldots, (X_n,Y_n). Tenemos que seguir los siguientes tres pasos:

  • Calculamos todas las distancias euclídeas entre pares de observaciones de cada uno de los vectores (es decir, \|X_i-X_j\| y \|Y_i-Y_j\|). Con ello, tenemos dos matrices n\times n de distancias, una para cada vector.
  • Llevamos a cabo un doble centrado de las dos matrices. Esto significa que a cada elemento le restamos las medias de su fila y de su columna, y le sumamos la media de toda la matriz.
  • Finalmente, calculamos la covarianza entre las n^2 distancias centradas.

Puede demostrarse (con cierto esfuerzo) que al aumentar el número de datos, la covarianza de distancias converge  a un valor que se anula si y solo si los vectores X e Y son independientes. (De hecho, este valor se puede escribir como cierta distancia entre la función característica \varphi_{(X,Y)} del vector conjunto (X,Y) y el producto de las funciones características de X e Y\varphi_X\varphi_Y.)

A partir de la descripción que acabamos de hacer, algunas de las ventajas de la correlación de distancias son claras:

  • Se puede calcular directamente para vectores y no solo para escalares.
  • El valor límite al que converge la correlación de distancias se anula si y solo si los vectores son independientes (si y solo si \varphi_{(X,Y)}=\varphi_X\varphi_Y).
  • Como está basada en las distancias, los vectores X e Y pueden tener dimensiones distintas. Podemos tratar de detectar dependencias entre dos grupos, uno formado por p variables, por ejemplo, y otro por q variables.
  • El hecho de estar basada en distancias implica también que no cambia si se aplica una rotación a los datos.
  •  La correlación de distancias se obtiene normalizando la covarianza de distancias de forma que al calcularla para X=Y el resultado sea igual a uno, el máximo valor posible. La normalización es análoga a la que se hace para pasar de la covarianza al coeficiente de correlación de Pearson. La versión estandarizada tampoco depende de cambios de escala de los vectores.

Implementación en R

Como hemos visto, los cálculos necesarios para obtener la correlación de distancias no son complicados (aunque se requiere una buena implementación si n es muy grande). El paquete energy de R incluye las funciones dcov y dcor para calcular la covarianza y la correlación de distancias, respectivamente.

El siguiente código genera y representa gráficamente tres conjuntos de datos muy sencillos y calcula tanto el coeficiente de correlación de Pearson como la correlación de distancias para cada uno de ellos:


library(energy) # hay que instalar el paquete previamente
set.seed(500) # para reproducir los resultados
n = 2000
sigma = 0.3
x = rnorm(n)
y1 = x + sigma*rnorm(n) # relación lineal
y2 = x^2 + sigma*rnorm(n) # relación cuadrática
y3 = rnorm(n) # independencia
# Gráfico
layout(matrix(1:3, 1))
plot(x, y1, cex=0.2, bty='l')
plot(x, y2, cex=0.2, bty='l')
plot(x, y3, cex=0.2, bty='l')
# Correlaciones de Pearson
cor(x, y1)
cor(x, y2)
cor(x, y3)
# Correlaciones de distancias
dcor(x, y1)
dcor(x, y2)
dcor(x, y3)

Los conjuntos de datos generados son los siguientes:

ejemplo1dcov

El valor del coeficiente de correlación de Pearson es 0.96 para el conjunto de la izquierda (reflejando el alto grado de asociación lineal de las dos variables), -0.09 para el del centro (a pesar de que hay una relación cuadrática evidente) y 0.01 para el de la derecha (en el que las variables son independientes). Por otra parte, los valores de la correlación de distancias son 0.94, 0.51 y 0.03, respectivamente. En este ejemplo, el coeficiente de correlación de Fisher no es capaz de distinguir entre un caso en que existe una relación no lineal muy pronunciada entre dos variables y el caso en que las variables son independientes, mientras que la correlación de distancias permite distinguir claramente ambas situaciones.

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

El cierre convexo y el bisonte de la pradera

Imaginemos un bisonte vagando por las grandes praderas de Misuri. Él no es consciente pero, gracias al GPS, alguien está registrando en todo momento el lugar en que se encuentra. Su trayectoria, vista desde arriba, podría pasar por la red de calles de una ciudad antigua o incluso por la tela de una araña:

TrayectoriaBisonte

Los ecólogos están interesados en determinar el área de campeo (home range) de diferentes especies animales. En nuestro ejemplo, determinar la zona en la que vive y por la que se mueve el bisonte. El problema estadístico es utilizar la trayectoria seguida por los animales  para estimar su área de campeo. Se trata de un problema estadístico peculiar ya que lo que queremos estimar es en realidad un conjunto. Es un ejemplo de estadística infinito-dimensional (el espacio al que pertenece lo que queremos estimar tiene dimensión infinita).

En esta entrada describimos dos estimadores del área de campeo, uno de ellos se ha propuesto en un artículo (de donde he tomado la imagen anterior) que publicará próximamente un investigador de nuestro proyecto. En la imagen, el estimador calculado a partir de la trayectoria aparece en rojo. Más adelante en esta entrada se define este estimador y se explica cómo se puede calcular con R.

El cierre convexo

Un conjunto es convexo si dados dos puntos del conjunto, el segmento que los une también está totalmente incluido en el conjunto. El cierre convexo de un conjunto de puntos es el conjunto convexo más pequeño que los incluye. Por ejemplo, la frontera del cierre convexo de los puntos de la izquierda se ha representado en azul a la derecha.

CierreConvexo

Si los puntos corresponden a los  lugares en los que se ha localizado nuestro bisonte, el cierre convexo se puede usar para estimar su área de vida. Si bien el cierre convexo es un estimador muy utilizado por su sencillez, en la literatura sobre el tema se han puesto de manifiesto sus sesgos. Parece claro que imponer que el área de campeo sea un conjunto convexo es una hipótesis demasiado fuerte. Esto significaría que dados dos puntos cualesquiera en los que se ha localizado al bisonte, el segmento que los une también está incluido en la zona en la que se mueve. Sin embargo, esto podría ser imposible debido a la presencia de barreras naturales, entre otras posibles causas.

La función relevante en R para el cálculo y representación gráfica del cierre convexo es chull(). Su argumento es una matriz n\times 2 cuyas filas son las coordenadas de los puntos para los que se desea calcular el cierre convexo. Lo que esta función devuelve son los índices ordenados correspondientes a los vértices del cierre. El siguiente código de R calcula el cierre convexo de n puntos cuyas coordenadas son normales estándar independientes (reproduce el gráfico de la parte derecha de la figura anterior):

set.seed(100) # para reproducir los resultados
n = 50
puntos = cbind(rnorm(n), rnorm(n))
indices= chull(puntos)
plot(puntos, pch=16, bty='l', xlab='', ylab='')
polygon(puntos[indices, ], lwd=2, border = 'blue')
points(puntos[indices,], col='red', pch=16, cex=1.1)

 

El cierre alfa-convexo

En una investigación reciente llevada a cabo por A. CholaquidisR. Fraiman -miembro de nuestro proyecto de investigación-, G. Lugosi y B. Pateiro-López, se estudian estimadores que no requieren la hipótesis de convexidad. Se utiliza como modelo para el desplazamiento del animal un movimiento browniano (reflejado en la frontera del conjunto que se desea estimar). Como estimador del conjunto se utiliza el cierre alfa-convexo de los puntos observados de la trayectoria del proceso. Este estimador resulta mucho más flexible y de aplicación mucho más general que el cierre convexo. La investigación se publicará próximamente en Journal of the Royal Statistical Society, series B.

Veamos cómo se define el estimador en este artículo. Un conjunto es alfa-convexo (para un valor \alpha>0 prefijado) si dado un punto que no está en el conjunto, existe un círculo abierto (sin incluir la circunferencia) de radio \alpha, centrado en el punto, que no toca al conjunto; es decir, la circunferencia separa al punto del conjunto ya que el punto queda dentro del círculo y el conjunto fuera. La figura siguiente muestra uno de estos conjuntos:

alfaconvexo

 

El cierre alfa-convexo de un conjunto de puntos es el menor conjunto alfa-convexo que lo contiene. Si el radio \alpha de los círculos es grande, las circunferencias se asemejan más a rectas con lo que el cierre alfa-convexo se parece bastante al cierre convexo. Sin embargo, para valores pequeños de \alpha, el cierre alfa-convexo puede estar muy lejos de ser un conjunto convexo. En la figura siguiente se compara el cierre convexo (su frontera en azul) con el cierre alfa-convexo (su frontera en negro) con \alpha=1 para los mismos puntos de la figura anterior.

alfaconvexo1

En R, es muy fácil calcular y representar gráficamente el cierre alfa-convexo, gracias al paquete alphahull, escrito por Beatriz Pateiro-López y Alberto Rodríguez-Casal, de la Universidad de Santiago de Compostela. Basta usar el comando ahull() de este paquete y aplicar plot() al objeto resultante. El código para obtener la figura anterior ha sido el siguiente (usa el resultado del código mostrado anteriormente):

library(alphahull) # instalar previamente el paquete
alfaconvexo = ahull(puntos, alpha=1)
plot(alfaconvexo)
polygon(puntos[indices, ], lwd=2, border = 'blue')

En la figura siguiente se muestra cómo varía el cierre alfa-convexo al cambiar el valor de \alpha:
alfaconvexo2

Se observa que para \alpha=5.5 el cierre alfa-convexo y el cierre convexo ya son muy similares.

En el artículo mencionado se estudian, entre otros resultados relacionados con el perímetro y la superficie de estos conjuntos, condiciones bajo las cuales el cierre alfa-convexo converge al verdadero conjunto que se desea estimar a medida que crece el número de posiciones del animal observadas, así como la velocidad de convergencia. Este tipo de análisis requiere estudiar sucesiones de conjuntos aleatorios, y determinar qué significa que estas sucesiones se aproximan a un conjunto límite. La estadística tiene estas cosas, permite conectar conceptos matemáticos sofisticados (alfa-convexidad, movimiento browniano, convergencia de sucesiones de conjuntos) con problemas relacionados con la vida cotidiana, por lo menos con la vida cotidiana de los bisontes.

 

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

Cuatro consejos para quienes comienzan a investigar

En una nota publicada en Nature en noviembre de 2003, el Premio Nobel de Física Steven Weinberg comenta cuatro reglas de oro (golden lessons) para aquellos que comienzan a dedicarse a la investigación. Me han parecido ideas que conviene tener en cuenta. Sus cuatro consejos son:

  1. No esperes a saberlo todo sobre un tema para comenzar a investigar, ve aprendiendo lo necesario sobre la marcha. Nadie puede saberlo todo de un tema, ni tampoco hace falta.
  2. Elige áreas en las que los principios básicos no estén aún establecidos sólidamente. El trabajo creativo es más fácil en estos temas. En palabras de Weinberg: my advice is to go for the messes- that’s where the action is.
  3. No te preocupes si parece que pierdes el tiempo. No es posible saber a priori cuáles son los problemas adecuados en los que trabajar, o cuál es la forma correcta de enfocarlos. Si uno quiere ser creativo debe acostumbrarse a pasar mucho tiempo aparentemente estancado.
  4. Aprende algo de la historia del área científica en la que trabajas. Dado que un científico normalmente no se hace rico, ni tampoco puede explicar fácilmente su trabajo a familiares y amigos, el grado de satisfacción al realizar su trabajo será mayor si lo percibe -por modesto que sea- como parte de una historia más amplia.

Aquí tenéis el artículo original de Weinberg (está subrayado por mí).

Publicado en y otras cosas | Etiquetado , | Deja un comentario

V jornada estadística en la UAM

El próximo día 22 de enero, viernes, tendremos en el Departamento de Matemáticas de la UAM una nueva jornada estadística, con diferentes charlas de miembros del departamento y de algunos profesores invitados de otras universidades. Este es el programa completo de la jornada.

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