Una interpretación (rápida y sucia) de los coeficientes de la regresión logística

Los coeficientes de la regresión logística tienen una interpretación recta en términos de odds ratio. Que es un concepto sobre el que puede que alguien tenga algún tipo de intuición. Pero yo no.

¿Cómo podemos interpretar, aunque sea de manera rápida y grosera, los coeficientes? En términos de la variación de la probabilidad cuando la variable correspondiente cambia de valor (p.e., en una unidad). El problema es que la probabilidad depende del valor del resto de las variables: la relación no es lineal. No obstante, esa intuición es posible (en algunos casos: véase la nota).

R Consortium

R

Acaba de nacer el R Consortium con no sé qué objetivos. Los declarados son

trabajar con y dar soporte a la R Foundation y a las organizaciones clave que desarrollan, mantienen, distribuyen y usan R a través de la identificación, desarrollo e implementación de proyectos de infraestructura.

Vamos, nada que la R Foundation no viniese haciendo ya de oficio.

Solo que es probable que lo quieran hacer de otra manera. R se está volviendo demasiado importante, pensarán, como para que su desarrollo siga en manos de unos amateurs. Uso aquí el término en el sentido literal y no despectivo del término: estos amateurs son académicos de reconocido prestigio que hacen en su tiempo libre y con equipos informáticos que vete tú a saber a quién pertenecerán y dónde se alojarán las cosas que pretende hacer el consorcio.

Mejores mensajes de error con deparse + substitute

R
foo <- function(df, column.name){
    if (!column.name %in% colnames(df))
      stop("Column ", column.name, " not found in ", deparse(substitute(df)))

    mean(df$column.name)  # por ejemplo
  }

  foo(iris, "petal.area")

Lanza el error

Error in foo(iris, "petal.area") : Column petal.area not found in iris

mucho más informativo gracias a deparse + substitute.

Condicional e incertidumbre

En una charla hace un tiempo critiqué que no se usase el condicional en titulares tales como

titular_condicional_00

en el que se da noticia de los resultados de una encuesta (el barómetro del CIS). Porque una cosa es que un partido gane las elecciones y otra que las ganaría si se diesen una serie de circunstancias: entre otras, la fundamental, que las hubiera (el resto tienen que ver con la incertidumbre asociada a las encuestas, etc.).

Rapapolvos al INE

¿Os acordáis de cuando escribí que para ingresar en el INE solo hacía falta estadística viejuna? Pues me cuenta una fuente fidedigna que Eurostat ha realizado una auditoría a nuestro organismo estadístico de cabecera y que le ha caído un buen rapapolvos. Consecuencia del cual, el INE está reformulando los criterios de acceso y tratándose de poner al día.

Igual no es cierto. No soy ducho en eso de manejar fuentes y hablar por terceros, sean o parezcan fidedignos o no. Tal vez me han metido un gol. Mas se non è vero, è ben trovato. Y si lo es, lo sabremos pronto.

Licencias urbanísticas, no viables (y fin)

¿Recordáis mi solicitud de datos sobre licencias urbanísticas al ayuntamiento de Madrid? Hoy me he interesado por su estado y he encontrado esto:

no_viable

No viable porque no ha sido posible obtener del órgano competente los datos en formato reutilizable.

Sin comentarios.

Lo que sí he encontrado en la memoria de gestión de 2013 del ayuntamiento es

evolucion_licencias

con su recta de regresión, su NA y todo.

Adenda: Entre el momento en que escribí lo que precede y este, he venido a enterarme de que Victoria Anderica va a liderar el proyecto de transparencia del ayuntamiento de Madrid. Tengo bastante confianza en que eso hará que la decisión se replantee.

Extraído de un libro de educación primaria

Del capítulo de estadística de un libro de matemática para críos capturé el otro día

tartas_libro

¿A qué os imagináis lo que se me pasó por la mente? Pues no lo digo por si algún día llego a concejal.

Diferencia de medias a la bayesiana con salsa de stan

El habitual problema de la diferencia de medias suele formularse de la siguiente manera: hay observaciones $y_{1i}$ e $y_{2i}$ donde

$$ y_{ji} \sim N(\mu_j, \sigma)$$

e interesa saber si $\mu_1 = \mu_2$. Obviamente, se desconoce $\sigma$. De cómo resolvió Gosset el problema están los libros de estadística llenos. En R,

set.seed(1234)
N1 <- 50
N2 <- 50
mu1 <- 1
mu2 <- -0.5
sig1 <- 1
sig2 <- 1
 
y1 <- rnorm(N1, mu1, sig1)
y2 <- rnorm(N2, mu2, sig2)
 
t.test(y1, y2)
# Welch Two Sample t-test
#
# data:  y1 and y2
# t = 4.7059, df = 95.633, p-value = 8.522e-06
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
#   0.5246427 1.2901923
# sample estimates:
#   mean of x  mean of y
# 0.5469470 -0.3604705

En rstan,

Busco viñetista (para MicroDatosEs)

R

Las viñetas son complementos importantes para un paquete, para que un usuario circunstancial pruebe y use un paquete. Uno de los míos, MicroDatosEs carece de ellas.

Me gustaría poder añadirle una o más que ilustraran cómo usarlo. Por ejemplo, para reproducir algunos de los números que ofrece el INE en sus notas de prensa.

Por eso te ofrezco la posibilidad de que te conviertas en viñetista. Eso te convertiría en colaborador del paquete (que es algo que cabe en un currículo). Eso sí, no subiría cualquier cosa.

SparkR 1.4: carga de ficheros CSV

R

He instalado Spark 1.4 recientemente y he comenzado a cacharrear. Antes de nada, quiero cargar datos.

Advierto que ha cambiado sustancialmente la API de SparkR. Entre otras novedades, desapareció (o más bien, se escondió) la función textFile, que permitía leer ficheros línea a línea. Ahora está pero no se exporta. La verás solo si haces SparkR:::textFile. ¿Signo de deprecación?

Se pueden crear un DataFrame (tablas distribuidas de Spark) a partir de un data.frame de R: