R

Un viejo truco para que R vuele

R
Existe un viejo truco —mas no por ello conocido— para que R vuele. Lo aprendí en una conferencia de uno de los padres de R (aunque ya no recuerdo quién era) en la primera década del siglo. El problema que tenía entre manos era el de ajustar unos cuantos miles de regresiones logísticas. Además de hacer uso de los métodos de paralelización, aún muy rudimentarios en la época, uno de los trucos más efectivos que utilizaba era el de desnudar las funciones.

Sobre sumas de cuadrados de normales con varianzas desiguales

En mi entrada anterior mencioné cómo la suma de cuadrados de normales, aun cuando tengan varianzas desiguales, sigue siendo aproximadamente $latex \chi^2$. Es el resultado que subyace, por ejemplo, a la aproximación de Welch que usa R por defecto en t.test. Puede verse una discusión teórica sobre el asunto así como enlaces a la literatura relevante aquí. Esta entrada es un complemento a la anterior que tiene lo que a la otra le faltan: gráficos.

¿Dónde son más frecuentes las muestras de una distribución en dimensiones altas?

Esta es una cosa bastante contraintituiva. Uno diría que en la moda, pero no es exactamente así. Veamos qué pasa con la distribución normal conforme aumenta la dimensión. En una dimensión son más frecuentes los valores próximos al centro: hist(abs(rnorm(10000)), breaks = 100, main = "distribución de la distancia al centro") Pero en dimensiones más altas (p.e., 10), la cosa cambia: library(mvtnorm) muestra <- rmvnorm(10000, rep(0, 10), diag(rep(1, 10))) distancias <- apply(muestra, 1, function(x) sqrt(sum(x^2))) hist(distancias, breaks = 100, main = "distribución de la distancia al centro") Lo más frecuente es obtener observaciones ya no próximas al centro sino en un anillo alrededor de él y a cierta distancia del mismo.

Hay mil motivos para criticar una regresión "trucha", pero una R² baja no es uno de ellos

Todo esto arranca con el tuit: En conjunto, como digo, los países con Estados grandes tienden a ser poco progresivos pic.twitter.com/oeI6hkUZwd — Juan Ramón Rallo (@juanrallo) February 1, 2021 Esa gráfica, extraída de un documento de la OCDE, creo, fue uno de los argumentos esgrimidos por JR Rallo para defender cierta postura que no viene al caso. Lo relevante para estas páginas es que fue contestado y protestado por muchos —de algunos de los cuales, dada su autoproclamada condición de divulgadores científicos, cabría esperar más— en términos exclusivamente de lo pequeño de la R².

Separación perfecta en el modelo de Poisson

El asunto de la separación perfecta en el modelo logístico es sobradamente conocido. Solo quiero añadir al respecto dos cosas que no se suelen decir: Es un dolor que solo duele a los frecuentistas que no usan regularización (y van quedando cada vez menos de esos). Que no es malo sino bueno: ¿qué cosa mejor que tus datos puedan responder categóricamente las preguntas que les planteas (supuesto, claro, está, un N suficientemente grande).

Análisis de eventos recurrentes

He sido fan del análisis de los eventos recurrentes desde antes incluso de saber que existía tal cosa formalmente. Es una extensión del análisis de la supervivencia donde resucitas y vuelves a morirte a lo Sísifo. Es decir, en el análisis de la supervivencia, te mueres y ya; por eso, si quieres extender el análisis de la supervivencia a asuntos tales como compras de clientes es necesario usar el calzador muy heterodoxamente.

IGN + R + leaflet

Iba a escribir una entrada técnica al respecto, pero resulta que ya la había hecho hace un tiempo y no me acordaba. Solo quiero abundar en el tema para recordaros que si os interesa mostrar mapas de España vía leaflet, en lugar de usar las capas por defecto, que vaya a saber uno de dónde las sacan, uno siempre puede tirar de la cartografía oficial. Uno de los motivos puede ser que el mapa forme parte de una aplicación seria.

En defensa de iris

R
El archiconocido conjunto de datos iris es víctima reciente de un ataque relacionado con su pecado original: haber tenido unos padres estigmatizados hoy por su otrora popular idea de que gracias a la ciencia podríamos construir un futuro mejor. También ha sido víctima de ataques, esta vez más endógenos, relacionados con lo menguado de su tamaño y lo trivial de su estructura. Vengo aquí a romper una lanza —tres, más bien— en favor de este muy querido de los más conjunto de datos.

Esto no es práctico, pero sí bonito; bonito, además, de esa forma inasequible a la chusma

Va de muestrear los números $latex 1, \dots, n$ que tienen asignadas probabilidades $latex p_1, \dots, p_n$. Una manera muy impráctica (en R, basta usar sample) y nada intuitiva de hacerlo es recurriendo a la distribución de Gumbel: library(evd) pes <- runif(5) pes <- pes / sum(pes) gammas <- log(pes) + 2 x <- rgumbel(length(pes)) muestra <- which.max(gammas + x) O, en masa, aplicando get_samples <- function(n){ replicate(n, { x <- rgumbel(length(pes)) which.

Una herramienta para el análisis no paramétrico de series temporales

R
Sí, es un ejemplar de mi colección de rarezas estadísticas, técnicas que no entran dentro del currículo estándar pero que pudieran resultar útiles en algún momento, para algún caso particular. Hoy, perfiles matriciales para series temporales, una técnica que sirve esencialmente, para identificar formas que se repiten en series temporales, como Entiendo además que, como consecuencia, también para señalar aquellos ciclos en que se produzcan perfiles anómalos, para su evaluación. Pero dejo que consultéis la información en, por ejemplo, aquí y aquí.

Distribuciones (¿de renta? ¿solo de renta?) a partir de histogramas

En el primer número de la novísima revista Spanish Journal of Statistics aparece un artículo con un título tentador: Recovering income distributions from aggregated data via micro-simulations. Es decir, un artículo que nos puede permitir, por ejemplo, muestrear lo que la AEAT llama rendimientos a partir de lo que publica (aquí): Uno de los métodos de los que sostienen el ignominioso a mí me funciona está basado en el modelo

Más sobre variables instrumentales con R

R
[El título de esta entrada tiene un + delante porque ya escribí sobre el asunto tiempo atrás.] Con la excusa de la reciente publicación del paquete ivreg (para el ajuste de modelos con variables instrumentales, por si el contexto no lo hace evidente), he mirado a ver quién estaba construyendo y ajustando modelos generativos menos triviales que los míos (véase el enlace anterior) para que quede más claro de qué va la cosa.

Contrariamente a lo que creía recordar, "Hot deck" != LOCF

Imputación (que es algo en lo que muy a regañadientes estoy trabajando estos días). Si de verdad tienes que imputar datos en una tabla (y solo en ese caso), solo hay un criterio: construye un modelo para predecir los valores faltantes en función del resto y reemplaza el NA por la su predicción. El modelo puede ser tan tonto como lm(my_col ~ 1, na.rm = T) que resulta en la popular estrategia de reemplazar los NAs por la media del resto de las observaciones.