Paréntesis, llaves y rendimiento en R

Conforme se populariza el uso de R, cobran creciente importancia las cuestiones relativas a su rendimiento, su gestión de la memoria, etc. Hasta el punto que incluso uno de sus creadores, Ross Ihaka, ha expresado últimamente su descontento con las limitaciones de R (el enlace es gentileza de Daniel Castro) sugiriendo que sus componentes puramente estadísticos deberían construirse sobre la base de un lenguaje distinto, posiblemente Lisp. Dentro de este contexto de preocupación sobre el rendimiento de R, han aflorado algunas cuestiones acerca de la eficiencia del intérprete a la hora de resolver expresiones matemáticas. Por ejemplo, Radford Neal estudió el desigual desempeño de R frente a ciertas expresiones matemáticas equivalentes: en particular, la expresión ...

16 de marzo de 2011 · Carlos J. Gil Bellosta

Metodología, casuística y tipología

Me enterneció el otro día encontrar un artículo en el que la palabra casuística se utilizaba de manera recta. Y es que cifro el abuso que se hace de los términos metodología, casuística y tipología—junto con la expresión más óptimo, de la que ya nos ocupamos otro día— entre los más irritantes que comete el hablante poco versado en temas ortográficos y léxicos que trata de aparentar lo que no es. Y abundan tristemente en el mundo de la consultoría, que es el que más me compete. Hago constar pues mi denuncia razonada para que no se entienda que mi silencio al respecto es connivencia o, peor aún, ignorancia. ...

15 de marzo de 2011 · Carlos J. Gil Bellosta

Publica o perece

Quienes trabajamos circunstancialmente para investigadores heredamos parte de esa presión que sufren para publicar a toda costa so pena de perecer académicamente. Esa presión introduce en demasiadas ocasiones los sesgos, desviaciones con respecto a la ortodoxia metodológica, etc., cuyos excesos han generado una creciente ola de escepticismo frente a los resultados que aparecen en la literatura, tal y como comentábamos el otro día en estas páginas. Esta entrada —continuación de la anterior y abrebocas para otra que estoy preparando sobre el mismo tema— quiero presentar a mis lectores unos cuantos sucesos famosos que ilustran un fenómeno tal vez poco conocido del gran público: casos en los que los resultados científicos resultan falsos no por defectos metodológicos, no por sesgos involuntarios sino por dolo. ...

14 de marzo de 2011 · Carlos J. Gil Bellosta

Riesgo e incertidumbre

He encontrado dos (¿cuatro?) definiciones contradictorias de _riesgo _e incertidumbre. La primera está implícita en una frase del artículo The ratings game de Martin Mayer y dice, según mi traducción, así: Knight realizó una distinción categórica entre el riesgo, que puede ser medido, y la incertidumbre, que no puede serlo. Mayer recoge así la distinción que realizó Frank Knight en su tesis doctoral hace ya casi un siglo. En términos algo más precisos, lo que según Knight distingue la incertidumbre del riesgo es que del segundo se conoce, cuando menos, la distribución de probabilidad asociada al fenómeno. Uno se enfrentaría así a un riesgo cuando no sabe a ciencia cierta qué puede ocurrir pero sabe atribuir una probabilidad a cada uno de los posibles resultados. ...

11 de marzo de 2011 · Carlos J. Gil Bellosta

R, HDF5 y bases de datos orientadas a columnas

Tras escribir el otro día sobre RevoscaleR, he tropezado con un paquete de R, HDF5 que le permite hacer cosas parecidas usando tecnologías libres. Puede encontrarse más información sobre HDF5 en la Wikipedia y en la página del proyecto. De todos modos, y como dejé escrito como respuesta a un comentario en la entrada que indico más arriba, una solución definitiva al problema del análisis de conjuntos de datos grandes con R podría venir de la mano de una integración adecuada con un gestor de bases de datos orientado a columnas. En efecto, el cuello de botella más notable que existe al usar R junto con, p.e., Postgres (y como Postgres el 99% de los restantes DBMS) es que sus tablas son conjuntos de filas mientras que para R son listas de columnas. Por tanto, quiérase o no, en algún sitio hay que realizar una trasposición computacionalmente pesada. ...

10 de marzo de 2011 · Carlos J. Gil Bellosta

Una propuesta de "crowdsourcing analítico"

Pido excusas en primer lugar por usar la palabra crowdsourcing. No sé si tiene una traducción a este idioma con tan pocos valedores que trato de usar habitualmente. Creo que no. La causa, seguramente, es sociológica. Pero no es ése el tema que hoy me ocupa. Es, más bien, una oferta que me han hecho llegar recientemente para colaborar en el desarrollo de una plataforma de crowdsourcing analítico. Esta plataforma haría de intermediaria entre gente que tiene un problema analítico —mencionan las áreas consabidas: datos clínicos, predicción, investigación de mercado, optimización de precios, gestión de inventarios, etc. en las industrias afectadas— y quienes tienen capacidad y experiencia para resolverlo, estén donde estén. ...

9 de marzo de 2011 · Carlos J. Gil Bellosta

¿Cómo mejorar tu estilo de programación en R?

En un hilo reciente en la lista de desarrollo de R ha habido una discusión interesante acerca de buenas prácticas a la hora programar con R y concretamente, para desarrollar paquetes que contuviesen llamadas a código desarrollado en C/C++. En particular, el autor del primer mensaje del hilo criticaba varios usos que consideraba inadecuados a la hora de programar en R: El uso de variables misteriosas surgidas de la nada. En particular, el uso de variables que aparecen en el cuerpo de la función pero que no han pasado como argumentos. El uso de <<- El uso de bucles for cuando el código podía haberse vectorizado. El uso de return al final de una función Código desordenado y antiestético. En particular, el no dejar que respire mediante el uso de espacios. Al respecto, Hadley Wickham, recomendó leer los consejos que ha recogido en su wiki. Gabor Grothendieck recomendó una discusión en Stackexchange. ...

8 de marzo de 2011 · Carlos J. Gil Bellosta

Los dinosaurios y R: dos enlaces

Quiero compartir con mis lectores dos enlaces relacionados. Puede que a alguno le interese su sustancia misma. A mí no tanto. A mí me interesan en cuanto que ilustran la emergencia de R y el papel protagónico que está asumiendo en el universo de las cosas analíticas. Tan protagónico que hasta dos viejos dinosaurios pasan voluntariamente por su aro. Tradicionalmente, para analizar grandes bases de datos empresariales, se realizaba en primer lugar una extracción masiva de datos. Luego se procesaban con herramientas específicas (SAS, por ejemplo). En muchas ocasiones los resultados eran volcados nuevamente en el sistema de partida. ...

7 de marzo de 2011 · Carlos J. Gil Bellosta

Nuevos comentarios sobre RevoScaleR

El reto lanzado por Revolution Analytics a SAS está relacionado con el lanzamiento por parte de la primera empresa de un paquete, RevoScaleR, diseñado para permitir el análisis de conjuntos de datos grandes. La lectura más detallada de uno de los pocos documentos técnicos que circulan sobre el paquete me invita a compartir con mis lectores mis impresiones más allá de las primeras y más someras que realicé hace unos días. La primera es que sigo sin entender claramente cómo es y cómo funciona el nuevo formato de almacenamiento de tablas, XDF. Al menos, no es público. Aunque es un tema de investigación candente (de lo que son prueba esto, esto, esto o el mismo paquete ff de R), no está claro si reaprovecha desarrollos previos o si es una implementación desde cero. ...

4 de marzo de 2011 · Carlos J. Gil Bellosta

¿Casi todos los resultados científicos que se publican son falsos?

La falsabilidad es una exigencia de la ciencia que la distingue, por ejemplo, de la seudociencia. Todo enunciado de valor científico tiene que ser potencialmente refutable. Los resultados científicos, de alguna manera, no son tanto ciertos como refutables y no refutados. El trabajo de los científicos consiste en dar con enunciados refutables lo más difíciles posible de refutar. Piénsese en la ley de gravitación universal de Newton: sin ser cierta, estuvo en pie durante siglos. ...

3 de marzo de 2011 · Carlos J. Gil Bellosta