Posts

¿De dónde vienen las interacciones?

El contexto es, esencialmente, la creación de modelos lineales —no necesariamente los clásicos—, aunque la discusión podría extenderse más allá. Una cosa que nos suelen enseñar los libros es que si en un modelo de la pinta

y ~ t + g

(donde t es un tratamiento y g es algún tipo de grupo) nos da por introducir una interacción (en este caso solo cabe t*g) tenemos necesariamente que incluir los efectos individuales t y g so pena de incurrir en una larga retahíla de pecados estadísticos. La admonición suele venir seguida de una discusión que, admito, nunca he acabado de comprender.

Más sobre paralelismos entre textos vía embeddings

Retomo el asunto de los paralelismos entre textos, que ya traté aquí, por el siguiente motivo:

  • Estoy explorando las posibilides del RAG
  • Para lo cual es necesario crear una base de datos documental con los fragmentos debidamente embebidos
  • En particular, estoy probando lo que chroma da de sí.

Esencialmente, chroma consiste en:

  • Una base de datos (SQLite, de hecho) donde se almacenan los fragmentos, sus metadatos y sus embeddings.
  • Mecanismos para crear los embeddings.
  • Mecanismos para buscar (por similitud de los embeddings) fragmentos relacionados con una petición de búsqueda.

Mis experimentos en español han sido catastróficos. La culpa, realmente, no parece ser de crhoma en sí sino de los algoritmos de embedding —se supone que específicos para el español— que he utilizado. Lo que sigue es un resumen de los resultados obtenidos en inglés, que parecen mucho mejores.

Más allá del BMI

I.

Alguien se queja del BMI (body mass index). Quejarse del BMI es como quejarse de que el agua moja. Porque:

  1. Supongamos que nos interesa un asunto poliédrico (como se decía en tiempos) o multidimensional (más al gusto de los que corren).
  2. La gente quiere medirlo.
  3. Se elige un número —porque a la gente le gusta medir las cosas con un único número, claro— construido de cierta manera.
  4. La gente se queja de que el fenómeno era multidimensional (o poliédrico) y que un solo número no recoge adecuadamente el blablablá.

Una cosa que probablemente aprenderá quien se tome la molestia de revisar el enlace anterior es que:

De qué va TimesNet

Toca TimesNet. Se trata de un modelo para la predicción (y más cosas: imputación, detección de outliers, etc.) en series temporales. Tiene que ser muy bueno porque los autores del artículo dicen nada menos que

As a key problem of time series analysis, temporal variation modeling has been well explored.

Many classical methods assume that the temporal variations follow the pre-defined patterns, such as ARIMA (Anderson & Kendall, 1976), Holt-Winter (Hyndman & Athanasopoulos, 2018) and Prophet (Taylor & Letham, 2018). However, the variations of real-world time series are usually too complex to be covered by pre-defined patterns, limiting the practical applicability of these classical methods.

Cuidado con ChatGPT (advertencia núm. 232923423)

I.

Cuando éramos críos e íbamos al colegio, todos hemos participado en conversaciones que discurrían más o menos así:

— Quiero ver el programa X.
— No puedes porque A, B y C.
— Pero Fulanito lo ve todos los días.
— No te fijes en lo que hace el más tonto; fíjate en lo que hace el más listo.

Los primeros buscadores de internet eran catastróficos. Un día apareció uno nuevo, Google, con una filosofía de madre de los setenta: fijarse en lo que hacía el más listo, no el más tonto. En el fondo, tecnicismos aparte, era en lo que se basaba el PageRank.

Villaverde, Carabanchel, Puente de Vallecas, Tetuán, Ciudad Lineal, Usera, Villa de Vallecas, Latina, San Blas-Canillejas, Hortaleza, Moratalaz, Vicálvaro, Retiro, Fuencarral-El Pardo, Arganzuela, Moncloa-Aravaca, Chamartín, Barajas, Centro, Chamberí, Salamanca

La anterior es una lista de los 21 distritos del municipio de Madrid en un orden muy concreto. Si se te ocurre alguno, casi seguro, te has equivocado.

Porque se trata de una lista en estricto orden de porcentaje de colegios públicos de primaria (CEIP) que ofrecen clases en modalidad de jornada continua:

Los datos completos pueden consultarse aquí. Las fuentes son el CISF para el numerador y el buscador de colegios de la Comunidad de Madrid para el denominador.

LLMs: grados de libertad en la generación de texto

Me he entretenido dibujando

que representa gráficamente los grados de libertad de un LLM según va generando texto. Brevemente, he arrancado con

Never in the history of

y he dejado que mi LLM fuese construyendo

Never in the history of “The Bachelor” has a contestant been so hated by the viewing public.

The “Bachelor” franchise has had its share of villains, but the one who has

mientras registraba el vector de probabilidades en cada iteración, es decir, el vector que permite que el LLM elija, por ejemplo, villains en lugar de maples, vikings or frenchmen.

¿Y si calculamos la potencia de un test a posteriori?

Esta entrada continúa esta otra y describe un cambio realizado en la app para ilustrar qué ocurre —spoiler: nada bueno— cuando se calcula el poder de un test a posteriori, es decir, usando como estimaciones el efecto y su ruido los valores observados.

Como comprobará quien use la herramienta, puede ocurrir casi cualquier cosa. Y, en particular, para potencias de partida pequeña, la estimación de la potencia a posteriori es una enorme sobreestimación de la real cuando la prueba es significativa.

LLMs en perspectiva

I.

Llevamos muchos años —muchos más de los que la mayoría de la gente piensa— detrás de mecanismos del tipo

$$f(h) = x$$

donde $h$ es una historia y $x$ es una continuación suya coherente con $h$. El texto

IN NO IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME OF DEMONSTURES OF THE REPTAGIN IS REGOACTIONA OF CRE

se construyó en 1948 usando un procedimiento básico: $h$ son dos caracteres y $x$ es otro caracter que se elige al azar de acuerdo cierta probabilidad condicional $P(x | h)$ que se estima a partir de frecuencias observadas en un determinado corpus.

Si tus datos son minúsculos y están hipersesgados, no los tires a la basura: aquí te contamos cómo reciclarlos.

I.

Supongamos que X es una población determinada. A alguien le interesa estudiar cierto aspecto de ella. Lo que procede es:

  1. Muestrear X adecuadamente.
  2. Medir los parámetros de interés en la muestra.
  3. Aplicar técnicas de inferencia estadística.
  4. Redactar las conclusiones pertinentes.

II.

Supongamos que a alguien le interesa aprender sobre cierto aspecto de una población X. Lo que tiene que hacer es buscar publicaciones en que lo hayan estudiado como se indica en I. Seguramente hay muchas más fuentes que hablen de ese aspecto de la población X, pero si no se han redactado siguiendo el esquema anterior o no están basados en fuentes primarias que lo hayan hecho así, solo acertarán, si lo hacen, de casualidad.