Regla de Sturges

En estadística descriptiva esta regla es muy utilizada cuando se quiere realizar un histograma de frecuencias ya que con esta regla se calcula el número de clases (o intervalos) necesarios para representar fielmente los datos.

k = 1 + log_{2}(N)

Donde N es el número de muestras a representar y k el número óptimo de clases o intervalos.

Hoy en día, con el uso del ordenador, esta regla se hace menos conocida ya que es el propio ordenador el que se encarga de calcular el número de intervalos. De hecho, en R, la función hist tiene el parámetro breaks = «Sturges» por defecto, aunque siempre podemos modificar este parámetro.

Ahora bien, ¿de donde viene la regla de Sturges?

Sturges consideró un histograma de frecuencias ideal con k intervalos, donde el i-ésimo intervalo contiene un número de muestras dado por el coeficiente binomial combn(k-1,i) (utilizo funciones de R para la notación). Por el Teorema Central del Límite sabemos que cuando k aumente el histograma de frecuencias se aproximará a la distribución Normal.

Podemos calcular el número de muestras de todos los intervalos, ya que

N = \sum_{i=0}^{k-1}{k-1 \choose i} = (1+1)^{k-1} = 2^{k-1}

Si aplicamos logaritmos

log_{2}(N) = k - 1

por lo que el número óptimo de intervalo k vendrá dado por

k = 1 + log_{2}(N)

que es la Regla de Sturges.

42 premios Nobel alertan a Europa del desastre de los recortes en I+D

42 premios Nobel y galardonados con la medalla Fields alertan a Europa del desastre de los recortes en I+D.

A los jefes de Estado o de Gobierno de los países de la UE, a los presidentes de las Instituciones de la UE:

A menudo se dice que toda crisis también presenta una oportunidad. La crisis actual nos obliga a tomar decisiones, y una de ellas se refiere a la ciencia y su apoyo. Allá por el año 2000, ustedes y sus predecesores acordaron el objetivo de convertirse el área “basada en el conocimiento más dinámica del mundo en el año 2010”. La intención era ambiciosa y noble, pero el objetivo ha quedado muy lejos.

La ciencia puede ayudarnos a encontrar respuestas a muchos de los problemas acuciantes a los que nos enfrentamos: nuevas formas de aprovechar la energía, nuevas formas de producción y nuevos productos, nuevos marcos para entender cómo funcionan las sociedades y cómo podríamos mejorar su organización.

Estamos justo en el comienzo de una nueva y revolucionaria comprensión de cómo funcionan nuestros cuerpos con consecuencias incalculables para nuestra salud y longevidad futuras.

Europa está a la vanguardia de la ciencia en muchas áreas. La transformación de este conocimiento en la innovación de nuevos productos, servicios e industrias es la única forma de dotar a Europa de una ventaja competitiva en el cambiante panorama mundial y asegurar a largo plazo la prosperidad futura de Europa.

El conocimiento no conoce fronteras. El mercado global de talento sobresaliente es altamente competitivo. Europa no puede permitirse perder a sus mejores investigadores, y se beneficiaría fuertemente de la atracción de talento extranjero.

La reducción de los fondos disponibles para la investigación de excelencia se traduce en un menor número de investigadores que alcanzan esta condición. En caso de una severa reducción en el presupuesto comunitario de investigación e innovación corremos el riesgo de perder una generación de científicos de talento, justo cuando Europa más los necesita.

En este sentido, el Consejo Europeo de Investigación (ERC) ha logrado un reconocimiento mundial en un tiempo extraordinariamente corto. El ERC financia a los mejores investigadores donde se encuentren en Europa, independientemente de su nacionalidad: investigadores excelentes con proyectos excelentes. El ERC complementa la financiación nacional de la investigación fundamental, añadiendo un valor adicional a la excelencia.

La financiación de la investigación a nivel de la UE cataliza un mejor uso de los recursos disponibles y ayuda a que los presupuestos nacionales sean más eficientes y eficaces. Estos recursos de la UE son extremadamente valiosos pues han demostrado su capacidad de lograr beneficios esenciales para la ciencia europea, así como beneficios crecientes a la sociedad y un aumento de la competitividad internacional.

Es fundamental que sigamos apoyando, y más importante aún, inspirando la extraordinaria riqueza del potencial de investigación e innovación que existe en toda Europa. Estamos convencidos de que la nueva generación de investigadores también hará oír su voz y deberán oír lo que tienen que decir.

La pregunta que queremos plantearles, a ustedes, jefes de Estado o de Gobierno y presidentes reunidos en Bruselas los días 22-23 de noviembre para discutir el presupuesto de la UE para el periodo 2014-2020, es simple: cuando se anuncie el acuerdo para el futuro presupuesto de Europa, ¿cuál será el papel de la ciencia en el futuro de Europa?

Firmado por 42 premios Nobel y galardonados con la medalla Fields: Sidney Altman, Werner Arber, Robert J. Aumann, Françoise Barré-Sinoussi, Günter Blobel, Mario Capecchi, Aaron Ciechanover, Claude Cohen-Tannoudji, Johann Deisenhofer, Richard R. Ernst, Gerhard Ertl, Martin Evans, Albert Fert, Andre Geim, Serge Haroche, Avram Hershko, Jules A. Hoffmann, Roald Hoffmann, Robert Huber, Tim Hunt, Eric R. Kandel, Klaus von Klitzing, Harold Kroto, Finn Kydland, Jean-Marie Lehn, Eric S. Maskin, Dale T. Mortensen, Erwin Neher, Konstantin Novoselov, Paul Nurse, Christiane Nüsslein-Volhard, Venkatraman Ramakrishnan, Richard J. Roberts, Heinrich Rohrer, Bert Sakmann, Bengt I. Samuelsson, John E. Sulston, Jack W. Szostak, John E. Walker, Ada E. Yonath, Rolf M. Zinkernagel, Harald Zur Hausen; Pierre Deligne, William Timothy Gowers, Maxim Kontsevich, Stanislav Smirnov, Cedric Villani.

Leído en: El País

Secure the EU research budget for a future-oriented Europe!

Ley de Benford

Hace tiempo colaboré con la revista SIGMA (una revista de divulgación matemática editada por el Gobierno Vasco) con un artículo sobre la Ley de Benford o Ley del Primer Dígito Significativo, en el que describía como comprobarla estudiando el tamaño en bytes de los ficheros de nuestro propio ordenador y viendo como se ajustaban a la Ley de Benford. El script lo escribí con el MATHEMATICA y hoy quiero actualizarlo y escribirlo con R para todo el que quiera comprobarlo con sus propios datos.

El script para leer el tamaño de cada fichero de nuestro ordenador no puede ser más sencillo utilizando las funciones de R, list.files() y file.info().

# LEEMOS LOS DATOS DESDE EL DIRECTORIO RAIZ
mfiles <- list.files(«/home/ibon»,recursive=TRUE,full.names=TRUE)
# GUARDAMOS LA INFORMACIÓN DEL TAMAÑO DE CADA FICHERO
mfilessize <- file.info(mfiles)$size
# ELIMINAMOS LA INFORMACIÓN DE AQUELLOS FICHEROS SIN TAMAÑO DEFINIDO
# Y DE AQUELLOS CON TAMAÑO 0
mfilessize <- mfilessize[!is.na(mfilessize)]
mfilessize <- mfilessize[mfilessize!=0]
# NOS QUEDAMOS CON EL PRIMER DÍGITO
firstdigitmfilessize <- substr(mfilessize,1,1)
# CALCULAMOS LA FRECUENCIA DE CADA DÍGITO
prop.table(table(firstdigitmfilessize))
1      2      3      4      5      6      7      8      9
0.3653 0.1516 0.1035 0.0783 0.0580 0.0561 0.0548 0.0751 0.0574

Programar la función que devuelve la probabilidad de aparición de cada dígito también es sencillo.

pbenford <- function(n) {
  return (log(n+1,10)-log(n,10))
}
pbenford(1:9)
[1] 0.3010 0.1761 0.1249 0.0969 0.0792 0.0669 0.0580 0.0512 0.0458

Ya vemos como los datos son muy similares. Si realizamos una gráfica con estos resultados obtenemos:

La Ley de Benford se puede generalizar a los dos primeros dígitos significativos.

# O CON LOS DOS PRIMEROS DÍGITOS
twofirstdigitmfilessize <- substr(mfilessize,1,2)
# ELIMINAMOS LA INFORMACIÓN DE AQUELLOS FICHEROS CON
# MENOS DE 10 BYTES DE TAMAÑO
twofirstdigitmfilessize <- twofirstdigitmfilessize[nchar(twofirstdigitmfilessize)!=1]

Si realizamos una gráfica con estos resultados obtenemos:

Si te parece que el primer dígito (o los dos primeros dígitos) del tamaño en bytes nuestros ficheros se ajustan bastante a esta Ley, te propongo lo siguiente: tomar el primer dígito significativo de los números de la secuencia de Fibonacci (1, 1, 2, 3, 5, …)

# DEFINIMOS LA FUNCIÓN DE FIBONACCI
fibonacci <- function(n,a=1,b=1){  
  if (n == 1) return(a)  
  if (n == 2) return(b)  
  return(fibonacci(n-1,b,a+b))  
}
vfibonacci <- numeric(1000)
for (i in 1:1000) vfibonacci[i] <- fibonacci(i) 
firstdigitfibonacci <- substr(vfibonacci,1,1)

Ahora representamos gráficamente lo que hemos obtenido:

También siguen la Ley de Benford.

Una Cita Interesante

Hoy he leido el siguiente artículo de opinión de Miguel Escudero en el periódico El Correo.

Poincaré en el caso Dreyfus, del Miguel Escudero

Acaba de cumplirse un siglo de la muerte de Henri Poincaré, ingeniero de minas francés y matemático de verdadera importancia. Murió con 58 años de edad. Provisto de conocimientos amplios y sólidos, nunca se limitó a la tarea de un estricto especialista. Entendía además que todas las partes del universo son en cierto modo «solidarias» y que cualquier fenómeno es resultante de causas infinitamente numerosas, y no de una sola. Tampoco titubeaba en apreciar que las matemáticas merecen ser cultivadas por si mismas, al margen de su posible aplicación.

Yo quisiera recordar aquí un momento en su biografía que apenas es sabido. Fue su intervención en el asunto Dreyfus: un capitán del Estado Mayor francés que, acusado de espiar para Alemania, fue degradado y condenado a cadena perpetua en 1895. Se le reintegró al Ejercito en 1906, tras reconocerse su inocencia. En ese largo periodo más de cuarenta expertos fueron designados por la Justicia para hacer pruebas periciales.

El objeto de estudio era una hoja escrita a mano y rota en seis trozos -hallada en una papelera de la embajada alemana en París por una señora de la limpieza que trabajaba para el servicio secreto francés- que contenía pruebas de traición militar. Se dio por hecho que aquella caligrafía era de Alfred Dreyfus. Oficialmente aquel era un caso cerrado y no había lugar a duda alguna. Sin embargo comenzaron a salir claros indicios de que no era así, pero media Francia, intozicada por lemas nacionalistas y patrioteros, se exaltó ante esa posibilidad. Poincaré, primo de quien sería presidente de la República, no tenía actividad política pero en 1899 se pronunció por carta en los siguientes términos: <<No sé si el acusado será condenado, pero si lo fuera, sería or otras pruebas. es imposible que una argumentación como esta pueda impresionar  a nadie sin una toma de posición previa y que haya recibido una sólida educación científica>>. Se refería a las deducciones de Alphonse Bertillon, oficial de policia e introductor de la antropometría, quien enredó aquel asunto con una estrambótica tesis de autofalsificación y un uso pésimo del cálculo de probabilidades.

En 1904 se hizo público un trabajo encargado por la Justicia a Poincaré y otros dos matemáticos de renombre. Unas cien páginas concisas y contundentes que desarticularon hasta el más mínimo detalle aquella grave exhibición de pseudociencia, jaleada por razones pasionales opuestas a la decencia de la verdad. Henri Poincaré puso a la ciencia en su sitio, fuera de la credulidad: <<El cálculo de probabilidades no es, como parece creerse, una ciencia maravillosa que dispensa al sabio de tener buen sentido>>. Y no obstante, aquellos tres científicos influyeron en el desenlace de la causa más por recibir un crédito de autoridad que por lo irrefutable del contenido científico de su informe. De todas estas cosas hay que estar siempre sobre aviso.

Suscribo todas y cada una de las palabras del artículo de opinión de Miguel Escudero, además, siempre es interesante conocer algo más de la vida de Henri Poincaré. Pero hay una cita atribuida a Poincaré que me ha parecido muy interesante y que en esencia justifica este blog.

«El cálculo de probabilidades no es, como parece creerse, una ciencia maravillosa que dispensa al sabio de tener buen sentido», Henri Poincaré (1854-1912)

Esta cita resumen lo que intento transmitir a través de este blog.

Desviación Estándar y Error Estándar

Muchas veces me preguntan cual es la diferencia entre la desviación estándar y el error muestral o más concretamente cuando se utiliza uno u otro para acompañar a una estimación, ¿media y desviación típica o media y error muestral?

Sinceramente creo que el problema siempre es más de concepto que de aplicación de fórmulas o ecuaciones. La idea general es la siguiente: La desviación estándar (sd) es un valor que representan cuanto se alejan los valores de una distribución de un valor central (media) y el error estándar (se) representa la incertidumbre de una medida (en este caso la media) y que es función de la desviación estándar y del tamaño muestral (sd/sqrt(n)). Cuanto mayor sea el tamaño muestral, menor será nuestra incertidumbre

Lo veremos más claro con ejemplos donde se puedan observar las diferencias en los conceptos y en los resultados.

Proponemos el siguiente caso: Tenemos 100 valores de una distribución normal de media 5.3 y desviación típica 1.7. Está claro el significado de la desviación típica en estos datos, nos informa de la media de distancias que tienen los datos respecto de su media aritmética (5.3), el 68% de los datos se encuentran entre 3.6 y 7 y el 95% de los datos se encuentran entre 1.9 y 8.7.

En este caso concreto, la forma de describir la variable sería utilizado la media y la desviación típica, entonces ¿cuándo usamos el error muestral o error estándar? Como hemos comentado el error estándar podemos entenderlo como un indicador de incertidumbre para una medida dada (en este caso, la media). Si tomamos 1000 muestras con reemplazamiento de 50 valores (aquí lo importante son los 50 valores, la «n» de la raíz cuadrada, las 1000 muestras con reemplazamiento es para que salga lo más exacto posible) de los datos originales y calculamos la media de cada muestra, tenemos 1000 medias, nos preguntamos, ¿Qué relación tiene la desviación estándar de la muestra original (sd) y la desviación estándar (sd50) de las 1000 medias? Pues que sd50 = sd/sqrt(50) = 1.7/sqrt(50) = 0.2404, error estándar de la media de nuestra distribución original.

Veámoslo en R

media<-5.3; sd<-1.7
muestra<-rnorm(100,mean=media,sd=sd)
mean(muestra); sd(muestra)
nmedias<-numeric(1000)
for (i in 1:1000) {
                nmedias[i]<-mean(sample(muestra,size=50,replace=TRUE))
}
sd(nmedias); sd(muestra)/sqrt(50)

muestra<-rnorm(100,mean=media,sd=sd)
mean(muestra); sd(muestra)
nmedias<-numeric(1000)
for (i in 1:1000) {
                nmedias[i]<-mean(sample(muestra,size=25,replace=TRUE))
}
sd(nmedias); sd(muestra)/sqrt(25)

Está claro lo que queremos decir cuando afirmamos que el error estándar es una medida de incertidumbre, nos informa de la variabilidad que tenemos en la medida que estamos estudiando (en este caso la media) y es evidente que cuantas más muestras estudiemos menos inseguridad tendremos de la medida y eso se refleja en el denominador.

Entonces, ¿Cómo se presentan los datos?, pues depende lo que estemos describiendo, pero una medida no excluye a la otra. Si queremos informar de la distribución hablaremos de desviación típica, pero si hablamos de un estimador en concreto (media, mediana, cuartiles, …) será más correcto hablar de error estándar. En nuestro ejemplo podemos afirmar lo siguiente: «Tenemos una distribución de media 5.3 y desviación típica 1.7. El error estándar para la media es 0.17 (1.7/sqrt(100)).»