AUC = Wilcoxon

Construyo unos datos, n <- 30 si <- data.frame(res = "si", score = rnorm(n, 1, 1)) no <- data.frame(res = "no", score = rnorm(n, 0, 1)) dat <- rbind(si, no) que simulan los scorings de un modelo hipotético en el que comparo unos casos positivos y otros negativos. Comparo con el test de Wilcoxon el scoring según la etiqueta y normalizo (adecuadamente): test <- wilcox.test(score ~ res, data = dat)$statistic test / n^2 Por otro lado calculo el AUC: library(pROC) my_roc <- roc(dat$res, dat$score) auc(my_roc) ¡Lo mismo! Motivo: ambas expresiones dan la probabilidad de que el scoring de un sí elegido al azar sea superior al de un no elegido también al azar. Cosa que está superdocumentada en el ancho mundo. ...

11 de febrero de 2019 · Carlos J. Gil Bellosta

Evolución de la resistencia al calor

En 2003 hubo una ola de calor de tal magnitud que el ministerio de sanidad puso en marcha un plan especial de seguimiento, prevención, monitorización, etc. de ese tipo de fenómenos. La hipótesis que me propongo explorar aquí es la siguiente: que gracias a la prevención, a la popularización del aire acondicionado, a la mejora del nivel de vida, etc. el impacto del calor (en forma de olas) sobre la mortalidad decrece en el tiempo. Casi ninguno de vosotros podéis estudiarla, pero yo sí. No os puedo contar los detalles pero sí las líneas generales del estudio. ...

25 de mayo de 2018 · Carlos J. Gil Bellosta

El z-score es una medida inadecuada de la perplejidad

Tenemos un dato y un valor de referencia. Por ejemplo, el valor predicho por un modelo y el observado. Queremos medir la distancia entre ambos. ¿En qué unidades? Antes de eso, incluso, ¿para qué queremos medir esa distancia? Esta es la pregunta fácil: para ver cómo encaja en el modelo propuesto, para ver cómo lo sorprende, para cuantificar la perplejidad. Los estadísticos están acostumbrados a medir la perplejidad en unas unidades que solo ellos entienden, si es que las entienden: desviaciones estándar. El z-score de un residuo es el número de desviaciones estándar que lo separan de su estimación. Si es una, exclaman ¡bah!; si es dos, ¡oh!; si es tres, ¡oooh!; si es cuatro, ¡ooooooh, válgame Dios!, etc. ...

18 de diciembre de 2017 · Carlos J. Gil Bellosta

Modelos no lineales directos e inversos

Las malandanzas de Circiter la han conducido al siguiente entuerto: estimar $\alpha$ donde $$ y = f_\alpha(x) + \epsilon$$ y $f_\alpha$ es una función no lineal horrible. Sin embargo, $f^{-1}_\alpha$ es mucho más manejable y podría plantearse el modelo $$ x = f^{-1}_\alpha(y) + \epsilon$$ (donde este nuevo $\epsilon$ no coincide con el anterior: piénsese en el método delta y léase la nota final). Un ejemplo. Que arranca con unos datos autoexplicativos: ...

16 de octubre de 2017 · Carlos J. Gil Bellosta

¿Se puede explicar la predicción de un modelo de caja negra?

Imaginemos un banco que construye modelos para determinar si se concede o no un crédito. Este banco tiene varias opciones para crear el modelo. Sin embargo, en algunos países el regulador exige que el banco pueda explicar el motivo de la denegación de un crédito cuando un cliente lo solicite. Esa restricción impediría potencialmente usar modelos de caja negra como el que construyo a continuación: library(randomForest) raw <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/credit-screening/crx.data", sep = ",", na.strings = "?") dat <- raw dat$V14 <- dat$V6 <- NULL # me da igual dat <- na.omit(dat) # ídem modelo <- randomForest(V16 ~ ., data = dat) Fijémonos en el sujeto 100, a quien se le deniega el crédito (suponiendo, ¡mal hecho!, que el punto de corte de la probabilidad para concederlo es el 50%), y la variable $V8$. Podemos ver cuál sería el score del cliente modificando esa variable entre su valor real y el máximo del rango dejando las demás tal cual: ...

15 de marzo de 2016 · Carlos J. Gil Bellosta

Comparaciones de tres grupos: pruebas vs modelos

Una pregunta reciente en r-help-es se refería a la comparación en R de las proporciones en tres grupos. Obviando algunas pequeñas complicaciones en el problema, la respuesta canónica podría ser esta: total <- c(56, 49,51) positivos <- c(14, 10, 17) prop.test(tmp$positivos, tmp$positivos + tmp$negativos) # 3-sample test for equality of proportions without continuity correction # # data: tmp$positivos out of tmp$positivos + tmp$negativos # X-squared = 2.2289, df = 2, p-value = 0.3281 # alternative hypothesis: two.sided # sample estimates: # prop 1 prop 2 prop 3 # 0.2500000 0.2040816 0.3333333 Los grupos no parecen ser desiguales. ...

25 de enero de 2016 · Carlos J. Gil Bellosta

Modelos, mascotas y rebaños en el DataBeers de Madrid

El próximo día 18 de septiembre hablaré de modelos, mascotas y rebaños en el DataBeers de Madrid. Los detalles (incluido el enlace para registrarse) están disponibles aquí. Haréis mal en faltar porque, con la excepción de un servidor, el resto del cartel es de primera: Pedro Concejero: Decide Fran Castillo: Big data needs artist explorers Carlos Herrera: La Geografía de las Redes Sociales Urbanas

10 de septiembre de 2014 · Carlos J. Gil Bellosta

El porqué de los mínimos cuadrados con restricciones

Avisé en mi entrada del otro día: no me preguntéis por qué (imponer restricciones en un problema de mínimos cuadrados). Pero cuanto más pienso sobre ello, menos claro lo tengo. ¿Por qué restricciones? Primero, el contexto. O el casi contexto. Porque no es exactamente así. Pero sí parecido. Supongamos que queremos predecir algo y construimos, p.e., 4 modelos. Se nos ocurre (y hay buenas razones para ello) combinar los predictores. Uno puede pensar en usar la media de las predicciones. O la mediana. O tratar de usar un peso revelado por los datos. ...

9 de junio de 2014 · Carlos J. Gil Bellosta

Y yo que pensaba que lo de Will Smith y SAS era una leyenda urbana...

Durante un tiempo, pensé que esa historia que circulaba por ahí sobre Will Smith y SAS era un bulo. Contaban (y nunca me creí del todo) que al principio de la carrera cinematográfica del actor, este había encargado un estudio para determinar qué tipo de guiones debía aceptar para hacer la mayor cantidad de dinero posible. Que se habían tomado unas cuantas películas muy exitosas, se habían metido en la batidora de SAS y que este le había proporcionado las pistas para hacer de un rapero de poca monta una estrella de Hollywood. ...

25 de abril de 2010 · Carlos J. Gil Bellosta