Datos públicos, datos DUP

Hoy en día, en España, salvo por unas cuantas honrosas excepciones no existen datos públicos, solo datos manejados dentro de las administraciones públicas (y a los que los ciudadanos no tienen acceso). Los datos públicos deberían ser datos DUP: disponibles, ubicables y procesables. Existen d-iniciativas en España. Sería injusto no reconocer que administraciones y organismos públicos no han venido haciendo un esfuerzo (todo lo desigual e insuficiente que se quiera) por poner su información al alcance de la ciudadanía. Me honra como zaragozano encontrar al ayuntamiento de mi ciudad entre los pioneros. ...

10 de junio de 2011 · Carlos J. Gil Bellosta

Gestión de proyectos en R

Muchos de mis lectores tienen, seguro, maneras distintas —y probablemente mejores— de organizar sus proyectos en R que yo. Pero me consta que a algunos les cuesta no convertir sus carpetas en un caos en los que solo ellos se manejan —hasta que pasa el tiempo, se olvidan y tienen que volver sobre ello—. Para ellos, para sugerirles un procedimiento eficiente de trabajo, va esta entrada. En ella describo cómo organizo mis propios proyectos con R. ...

8 de junio de 2011 · Carlos J. Gil Bellosta

Sobre la encuesta sobre minería de datos de Rexer Analytics

Hace unos días se publicaron los resultados de la cuarta encuesta anual de minería de datos realizada por Rexer Analytics en la que 735 participantes de 60 países completaron sus 50 preguntas. Los hechos más relevantes que contiene son: La principal aplicación de la minería de datos (siempre pienso que desgraciadamente) es en el campo de la gestión (o inteligencia) de clientes, lo que por ahí denominan CRM. Los algoritmos más usados por los encuestados han sido árboles de decisión, regresión y análisis de conglomerados. En cuanto a las herramientas, la más utilizada es R. El 43% de los encuestados afirmaron haberlo usado. Sin embargo, como herramienta básica de trabajo, la más usada parece ser STATISTICA, usada por un 18% de los encuestados. Las herramientas mejor valoradas fueron STATISTICA, IBM SPSS Modeller y R. La mayor parte del análisis sigue realizándose en ordenadores personales, con los datos almacenados en local. Lo mismo ocurre a la hora de realizar el scoring. Los usuarios que más utilizan PMML son quienes emplean STATISTICA. Y más detalles pueden descargarse de la página de la encuesta.

2 de junio de 2011 · Carlos J. Gil Bellosta

Dos perspectivas sobre el problema de los valores no informados

Me llegó el otro día información acerca de un curso sobre métodos para afrontar el problema planteado por los valores no informados (missing observations) que su autor agrupaba bajo etiquetas bastante simpáticas: el bueno, el malo y el impensable. Tal vez faltaba el feo, tal vez porque lo son todos ellos, igual que el bendito problema que suponen. Añadía, sin mayores abundamientos, que explicaría cómo la solución común es en general la peor; mostraría por qué cierta solución sencilla, relativamente común y con mala fama no es habitualmente tan mala, explicando, además, cuáles son las situaciones en las que funciona y no funciona e indicaría dos soluciones que proporcionan resultados insesgados, una de las cuales es sencilla de implementar perosolo funciona en ciertas circunstancias y la otra, aunque más complicada, funciona siempre. Es un planteamiento un tanto comercial y no exento de gancho. Sin embargo, para el interesado en estos temas, traigo a colación dos artículos que ofrecen dos perspectivas algo distintas sobre este problema. El primero es una panorámica de procedimientos y herramientas existentes para encarar el problema de los valores no informados (en el contexto del análisis de la regresión, pero fácilmente extrapolables a otros similares), _Much Ado About Nothing: A Comparison of Missing Data Methods and Software to Fit Incomplete Data Regression Models _. El segundo es un informe de la Agencia Europea del Medicamento, Guideline on Missing Data in Confirmatory Clinical Trials, que sostiene una postura razonablemente paranoica al respecto (resumidamente: en caso de duda, siempre la solución más conservadora). ...

30 de mayo de 2011 · Carlos J. Gil Bellosta

Se buscan "alpha testers" para rPython

Busco alpha testers para mi paquete rPython. El paquete es la evolución natural de rJython, un paquete de R que permite llamar a Jython, el dialecto de Python que corre sobre la máquina virtual de Java, desde R. rPython permite llamar al verdadero Python. Funciona perfectamente en mi máquina, pero necesito ver qué problemas de instalación y uso aparecen en otras plataformas. De momento,solo funcionaría sobre plataformas UNIX o Linux. Me sorprendería lo indecible que funcionase también sobre Windows: sería toda una casualidad. ...

24 de mayo de 2011 · Carlos J. Gil Bellosta

La versión 0.7 del paquete colbycol, en CRAN

Me complace anunciar la subida a CRAN de la versión 0.7 del paquete colbycol. La diferencia esencial con respecto a la anterior es: Utiliza el paquete filehash para crear el objeto que almacena los datos en disco. Incorpora algunas mejoras de uso sugeridas por los usuarios que facilitan la manipulación de los datos. Espero poder publicar un estudio comparado del rendimiento en los próximos días.

23 de mayo de 2011 · Carlos J. Gil Bellosta

Solipsismo, comunidad y rendimiento

Desde esta bitácora hemos seguido atentamente el a veces espinoso asunto del rendimiento de R. De ello es muestra entradas como ésta. Por eso retomamos el asunto para comentar desde una óptica distinta un análisis publicado hace un mes cuyo autor estudia la ineficiencia de funciones básicas como la media y otras similares. Y llega a conclusiones que no es necesario manifestar explícitamente a quien ejecute esto en R: x <- rnorm(50000) foo.mean <- function(){ mean(x) } foo.mean.int <- function(){ .Internal(mean(x)) } foo.sum <- function(){ sum(x) / length(x) } system.time(tmp <- replicate(10000, foo.mean())) system.time(tmp <- replicate(10000, foo.mean.int())) system.time(tmp <- replicate(10000, foo.sum())) Efectivamente, la media es lenta: pierde mucho tiempo en comprobaciones, revisando opciones y casos particulares. Además, es una función genérica que tiene que encontrar el método adecuado. Todo eso supone, efectivamente, un sobrecoste. ...

18 de mayo de 2011 · Carlos J. Gil Bellosta

Consejos para utilizar R "en producción"

El otro día di con una entrada en una bitácora con cinco consejos para utilizar R en producción. Cuatro de ellos son razonables: Crear un sistema de validación, monitorización y alertas. Y, en particular, desarrollar un mecanismo para que R notifique los problemas encontrados por correo electrónico. En la entrada original hay código que puede utilizarse para tal fin. Usar la función sink para facilitar la detección y corrección de los errores. Usar Linux de 64 bits con mucha, mucha memoria. Aunque el autor de la entrada que comenta no lo diga, añado yo de mi cosecha que es conveniente utilizar rm y gc explícitamente cuando dejen de utilizarse objetos voluminosos para eliminarlos más satisfactoriamente y facilitar labor del recolector de basura. Usar sentencias tryCatch. El último de los consejos del autor es más cuestionable: utilizar —más bien se refiere a reescribir— tus propias funciones. Pone como ejemplo la función glm, que no tiene mucho éxito de crítica, al parecer. ...

13 de mayo de 2011 · Carlos J. Gil Bellosta

¿Qué nos jugamos?

Imagínese que le proponen participar reiteradamente en un juego de azar. Dispone de una cantidad de dinero inicial, $a$ euros, y puede apostar en un juego en el que o gana con probabilidad $p$ $b$ veces la apuesta o la pierde enteramente. Puede repetir el juego cuantas veces quiera y apostar el porcentaje que desee de su dinero. ¿Cuánto se apostaría? ¿Qué porcentaje de su capital inicial se jugaría? Suponga que decide apostar siempre un porcentaje fijo, $x$ del dinero del que disponga en cada momento. Tras la primera jugada, tendría $a + b a x = a(1+bx)$ de ganar y le quedarían $a (1-x)$ de perder. Puede seguir jugando y en cada partida su capital se multiplicaría por $1+bx$ o por $1-x$ según su suerte. Al cabo de $n$ partidas, de haber ganado $w$ de ellas, su capital inicial se habría multiplicado por ...

12 de mayo de 2011 · Carlos J. Gil Bellosta

Extensiones de la R2

Sin ir más lejos, cojamos el primer ejemplo que aparece en ?ls, es decir, ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels=c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) summary( lm.D9 ) y hagamos cor( weight, predict( lm.D9 ) )**2 ¿Qué obtenemos? Precisamente la R2 del modelo lm.D9. Esta relación abre la puerta a varias extensiones de esta medida de la bondad de ajuste a contextos en los que las expresiones suma de cuadrados de… carecen de sentido. En la UCLA mantienen una página sobre la R2 y sus extensiones que seguro será del provecho de muchos de los lectores de esta bitácora.

28 de abril de 2011 · Carlos J. Gil Bellosta