Estadística

Parametrización de modelos de supervivencia (paramétricos)

He participado directa o indirectamente en algunas decenas de los llamados proyectos de churn. Estoy al tanto de aún más de los que he hablado con otros colegas.

Digresión (para desavisados): se aplica (impropiamente) el término churn a aquellos clientes (en general) que abandonan una compañía o dan de baja un servicio. En realidad churn se refiere al flujo a corto plazo de clientes de poco valor que adquiere una compañía y que pierde enseguida. No sé por qué no se ha popularizado abandono. Uno de los primeros proyectos que abordan los departamentos de inteligencia de clientes de las compañías que se lo pueden permitir es tratar de identificar aquellos clientes con alta probabilidad de abandonarla.

Entrevista en Principio de Incertidumbre: "big data" sin artificio

El jueves pasado y durante un breve receso de mi gripe, me entrevistaron en Canal Extremadura Radio. Durante una hora larga (que luego hubo que recortar a los 30 minutos que dura el programa de divulgación científica Principio de Incertidumbre) hablé de estadística, big data y R con Jorge Solís Bejarano.

A quien tengo que agradecer, primero, que contase conmigo; pero además y sobre todo, lo bien documentado que estuvo (lo cual me lleva a pensar que habrá que estar atentos a otras grabaciones de su programa).

Grandes datos, máquinas pequeñas (y regresiones logísticas con variables categóricas)

Preguntaba el otro día Emilio Torres esto en R-help-es. Resumo la pregunta. Se trata de una simulación de unos datos y su ajuste mediante una regresión logística para ver si los coeficientes obtenidos son o no los esperados (teóricamente y por construcción).

El código de Emilio (cuyos resultados no podemos reproducir porque no nos ha contado qué similla usa) es

logisticsimulation <- function(n){
  dat <- data.frame(x1=sample(0:1, n,replace=TRUE),
                    x2=sample(0:1, n,replace=TRUE))
  odds <- exp(-1 - 4 * dat$x1 + 7*dat$x2 - 1 *dat$x1* dat$x2 )
  pr <- odds/(1+odds)
  res <- replicate(100, {
    dat$y <- rbinom(n,1,pr)
    coef(glm(y ~ x1*x2, data = dat, family = binomial()))
  })
  t(res)
}

res <- logisticsimulation(100)
apply(res,2,median)
## (Intercept)          x1          x2       x1:x2
## -1.0986123 -18.4674562  20.4823593  -0.0512933

Efectivamente, los coeficientes están lejos de los esperados, i.e., -1, -4, 7 y 1.

Cuando dicen que la variable x es exógena, quieren decir...

Cuando los economistas dicen que la variable $latex x$ es exógena (con respecto a una variable de interés $latex y$) en realidad quieren decir que la función de verosimilitud $latex f(x,y)$ puede descomponerse de la forma $latex f(x,y) = f(y|x) g(x)$ y eso permite modelizar $latex y$ en función de $latex x$.

Cuando la descomposición no es posible (porque $latex x$ y $latex y$ se influyen mutuamente) dicen que $latex x$ es endógena. Obviamente, a la hora de (pretender) modelizar $latex y$ pueden considerarse variables endógenas y exógenas (y la correspondiente descomposición de la verosimilitud es un ejercicio para el lector).

No me ha salido, pero lo cuento igual

Creo que todos sabéis la historia de las admisiones de la Universidad de Berkeley y la paradoja de Simpson. Con palabras, muchas palabras, está contado, por ejemplo, aquí. Y si buscáis ubc admissions simpson en Google la encontraréis también en modo --verbose en muchos más sitios.

En R puede resumirse en

library(reshape2)
library(plyr)

data(UCBAdmissions)

raw <- as.data.frame(UCBAdmissions)

dat <- dcast(raw, Gender + Dept ~ <a href="http://inside-r.org/packages/cran/AdMit">Admit)

mod.0 <- glm(cbind(Admitted, Rejected) ~ Gender, data = dat, family = binomial)
mod.1 <- glm(cbind(Admitted, Rejected) ~ Gender + Dept, data = dat, family = binomial)

Echad un vistazo a los coeficientes de Gender en ambos modelos y veréis.

Rarezas: estadística algebraica

Matemáticas y estadística son peras y manzanas. La una es la ciencia del ser; la otra, del parecer. Se encuentran en la teoría de la probabilidad, pero se miran de reojo y con recelo. Por eso este curso de estadística algebraica es toda una rareza.

Contiene resultados, como la proposición 1.1.2 que… bueno, sí, bien, vale:

Proposición 1.1.2. Las variables aleatorias [discretas] X e Y son independientes sí y solo sí la matriz $latex p = (p{ij})$ tiene rango 1._

evtree: árboles globales

Tengo por delante otro proyecto que tiene mucho de análisis exploratorio de datos. Sospecho que más de un árbol construiré. Los árboles son como la Wikipedia: prácticamente nunca el último pero casi siempre el primer recurso.

Esta vez, además, por entretenerme un poco, probaré el paquete [evtree](http://cran.r-project.org/web/packages/evtree/index.html). Aunque no porque espere sorprendentes mejoras con respecto a los tradicionales, ctree y rpart.

¿Qué tiene aquél que los diferencie de los otros dos? Que la optimización es global. Tanto ctree como rpart utilizan algoritmos recursivos: al definir un nuevo corte del espacio, el algoritmo solo tiene en cuenta la región definida por los cortes anteriores. La optimización es local. evtree utiliza un algoritmo global de la familia de los evolucionarios (¡qué tufillo a lentorro!). Los detalles están aquí.

La curtosis de una variable aleatoria constante

Una mañana de hace veinte $latex \pm \epsilon$ años sufrí mi primera hora de clase de estadística reglada. No la olvidaré: fue un monográfico sobre momentos muestrales de todo orden; los sumatorios se salían por ambos márgenes de las transparencias de acetato. Horrible.

Sin embargo, aquel día perdí la ocasión de levantar la mano y preguntar por la curtosis de una variable aleatoria constante. Porque necesito un valor razonable por defecto y no se me ocurre ninguno. ¿Cero acaso? ¿Alguna sugerencia?

El problema de la estimación inversa

Supongamos que tenemos unos niños de los que sabemos las edades $latex x_i$ y las alturas $latex y_i$. Supongamos además que podemos estimar las segundas en función de las primeras con un modelo lineal clásico

$$ y_i \sim N(a_0 + a_1 x_1, \sigma).$$

Este modelo nos permite, dada una edad, estimar la altura y los correspondientes intervalos de confianza. Pero, dada una altura, ¿qué nos dice de la edad? Este es el problema conocido como de la estimación inversa.