Bitácora · DCSS · Unidad 3

Tu simulación no está mal: está corta

Unidad 3 · Decidir sobre R = A + N

Un enlace antipodal con amplitud 1 y ruido de desvío σ=0,20 se equivoca con probabilidad Q(5)=2,8665·10−7. Lo simulás con cuatro millones de tiradas, contás los errores y el programa te devuelve cero. No es que el número esté mal: no hay número. En cuatro millones de tiradas se esperan 1,147 errores, y una corrida que no ve ninguno es lo segundo más probable que puede pasar.

Cuántas veces pasa: sobre 400 corridas independientes de cuatro millones de tiradas cada una, 124 no vieron un solo error — el 31,0 %. La cuenta de Poisson, que no sortea nada, dice e−1,147=31,8%. Una corrida de cada tres dice que el canal no se equivoca nunca.

Y la corrida que sí cuenta errores tampoco te salva, por una razón que no tiene nada de estadística fina: con 1,147 errores esperados, el estimador sólo puede devolver los valores 0 · 0,87 · 1,74 · 2,62 · 3,49 veces el verdadero, y ninguno de ellos es el verdadero. Lo que sigue es de dónde sale ese reparto, cuánto hay que correr para que deje de pasar, y un error metodológico mío que es exactamente el que esta nota denuncia.

01 · Una simulación de BER no mide una probabilidad: cuenta eventos raros

El apunte 2 deja el desempeño del enlace en una sola cuenta. Con símbolos antipodales ±A, ruido gaussiano de desvío σ y umbral en cero, la probabilidad de error es la cola de la normal:

Pe=Q(Aσ)=Q(5)=2,8665·10−7

Eso es la teoría, y no hay nada que simular ahí. Lo que se simula es la verificación: se tiran N símbolos, se los mete en ruido, se cuentan los k que el decisor erra, y se estima

Pe^=kN

Cada tirada es una moneda cargada que sale cara con probabilidad Pe, así que k es binomial. Y cuando Pe es minúsculo y N es enorme, esa binomial es de Poisson, con un único parámetro que se lleva puesto todo lo demás:

λ=N·Pe=4·106·2,8665·10−7=1,147

Ahí está el punto entero de esta nota. Ni N ni Pe importan por separado: importa el producto, que es la cantidad de errores que la corrida va a ver. Cuatro millones de tiradas suena a muchísimo, y en este canal son un error. Una simulación de BER no es una medición de una probabilidad: es un contador de eventos raros, y lo único que la gobierna es cuántos eventos entran en la ventana.

02 · El cero es el segundo resultado más probable

Con λ en la mano, el reparto de resultados posibles de una corrida sale de la fórmula de Poisson y no hace falta sortear nada:

P{k errores}=λkk!e−λ

El caso k=0 es el que interesa, porque es el que rompe la medición sin avisar:

P{0}=e−λ=e−1,147=0,318

Casi un tercio. Y la simulación de 400 corridas —tiradas de verdad, una moneda cargada por vez, sin usar esta fórmula en ningún lado— contó 124 corridas en cero, el 31,0 %. Son dos caminos que no comparten una línea: uno es una exponencial, el otro son mil seiscientos millones de tiradas de moneda.

Lo que hace dañino a ese cero no es que esté lejos del valor verdadero: es que no se ve que esté mal. Una corrida que devuelve 8·10⁻⁷ delata sola que la ventana es corta. Una que devuelve 0 devuelve un número redondo, entra en una tabla sin rechinar, y en una curva de BER en escala logarítmica no se puede ni dibujar: el punto desaparece del gráfico y lo que queda es una curva con un agujero donde estaba el mejor caso. La lectura natural de ese agujero es «el enlace es perfecto acá», y es lo contrario: es «acá no medí nada».

03 · Cuatrocientas corridas, y por qué no cinco

La primera versión de esta nota que escribí decía otra cosa: «tres de cinco corridas dieron cero». Era cierto — esas cinco corridas dieron eso — y estaba mal de todos modos, porque publicar «tres de cinco» es publicar una frecuencia, y cinco corridas no miden una frecuencia. Es exactamente el error que esta nota denuncia, una capa más arriba: una muestra corta, un número que parece un resultado.

La aritmética de cuán mal: con una probabilidad verdadera del 31,8 %, el desvío de una frecuencia estimada con cinco corridas es de 21 puntos porcentuales. Sacar «tres de cinco» —el 60 %— de un fenómeno que ocurre el 32 % de las veces no es raro ni interesante: es lo que pasa con bastante regularidad, y la misma tanda de cinco pudo haber dado cero corridas en cero, que también pasa seguido. Con 400 corridas ese desvío baja a 2,3 puntos, y recién ahí «una de cada tres» es una afirmación y no una anécdota.

Y para no cometer el mismo error dos veces, el control: esas 400 corridas son una tanda, y una tanda también se mueve. Repitiendo la tanda entera veinte veces, cada una con su sorteo independiente, la cuenta de corridas en cero fue de 109 a 145 — del 27,3 % al 36,3 %. El promedio de las veinte, ocho mil corridas en total, da 31,8 %. O sea: el 31,0 % de la tanda de arriba es un número honesto y con dos puntos de ruido encima, y el que hay que creerle es el de la exponencial. La medición no está para producir el 31,8 %: está para descartar que la fórmula esté describiendo otra cosa.

Vale decirlo al derecho: la tanda que aparece en el widget de abajo está fijada para que cualquiera la vuelva a obtener igual, y da 124. El botón que la vuelve a tirar existe justamente para que se vea que el 124 no es el dato.

04 · La corrida que sí cuenta errores tampoco te salva

Uno podría pensar que el problema es el cero y que basta con descartar esas corridas. No alcanza, y el motivo es aritmética de enteros. El estimador es k/N con k entero, así que sus valores posibles están en una escalera de peldaños de 1/N=2,50·10−7. Medido contra el verdadero, el peldaño vale 1/λ=0,87, y la escalera entera es:

errores contadosPe estimada÷ la verdaderade las no nulas
00——
12,50·10⁻⁷0,8753 %
25,00·10⁻⁷1,7431 %
37,50·10⁻⁷2,6212 %
41,00·10⁻⁶3,493 %
51,25·10⁻⁶4,361 %
61,50·10⁻⁶5,230,1 %

Ninguna fila dice 1,00. El valor verdadero cae entre el primer peldaño y el segundo, y el estimador no tiene forma de pisarlo: o subestima un 13 % o sobreestima un 74 %. La mitad de las corridas que sí ven un error ven exactamente uno, y ésas son las buenas; una de cada seis se pasa por más del doble.

Y acá hay que tener cuidado con una tentación, que es reportar la peor corrida de la tanda. Yo la tenía anotada como «hasta 4,4 veces alta». En la tanda del widget la peor da 5,2 veces, y repitiendo la tanda veinte veces la peor dio 3,5 · 4,4 · 5,2 · 6,1 — y nada intermedio, porque son cuatro, cinco, seis o siete errores y los peldaños son de 0,87. El máximo de 400 corridas es un extremo muestral, y un extremo muestral se mueve tanto como la muestra: no se puede citar con un decimal. Lo que sí se puede citar es la escalera, que es aritmética, y el reparto de la última columna, que es Poisson.

Mirarlo

El widget arranca con σ=0,50 y cien mil tiradas, que es la posición donde no hay nada que ver: ahí se esperan más de dos mil errores por corrida, las 400 coinciden entre sí y el histograma de abajo es una raya sobre el valor verdadero. Bajá el ruido un escalón por vez y mirá dos cosas: cuántas celdas se ponen rojas, y hacia qué lado se deforma el histograma. Cero está pegado al borde izquierdo y no hay nada más allá; la cola sólo puede crecer hacia la derecha. Esa asimetría es la razón de fondo por la que una simulación corta no se equivoca en las dos direcciones por igual.

Simulación Cuatrocientas corridas de la misma simulación — arriba, una celda por corrida, en el orden en que salieron: en rojo las que no vieron un solo error y devolvieron Pe = 0, y en azul las demás, más saturadas cuanto más errores contaron. Abajo, el histograma de lo que devolvió cada corrida, medido en veces la Pe verdadera: la línea de puntos es el 1, o sea el valor que se quería medir. Cuando los errores esperados son pocos, las marcas grises encima de las barras son lo que Poisson predice para cada altura, calculado sin sortear nada.
Pe verdadera — errores esperados — corridas en cero — Poisson predice — la peor corrida — tiradas para 100 errores —

Lo que se ve al bajar σ es que el desastre no llega de a poco. Con σ = 0,25 y cuatro millones de tiradas todavía hay más de cien errores por corrida y todo cierra; con σ = 0,20, el mismo presupuesto de cuatro millones, la grilla se llena de rojo. Entre esos dos casos la Pe cambia por un factor de 110 y el costo de medirla cambia por el mismo factor: lo que se movió no es la calidad del enlace, es qué tan caro es demostrar que es bueno.

05 · Cuánto cuesta medir de verdad

De la fórmula de Poisson salen las dos cuentas que deciden si una simulación es viable. La primera: cuántas tiradas hacen falta para que un cero deje de ser plausible. Pidiendo que el cero sea más raro que 1 en 100,

N>ln(100)Pe=1,61·107

Cuatro veces el presupuesto original, y todavía es una simulación mala: el estimador sigue en la escalera de peldaños gruesos. La segunda cuenta es la que se usa en la práctica, y es la regla de bolsillo del curso: para que la estimación tenga un error relativo del orden del 10 % hacen falta unos cien errores contados, o sea N=100/Pe. Barriendo el ruido:

σPe = Q(1/σ)tiradas para 100 erroreserrores en 4·10⁶
0,502,275·10⁻²4,40·10³91 000
0,352,137·10⁻³4,68·10⁴8 550
0,253,167·10⁻⁵3,16·10⁶127
0,202,867·10⁻⁷3,49·10⁸1,147

Bajar el ruido de 0,50 a 0,20 —un factor 2,5 en el desvío, 8 dB de relación señal a ruido— multiplica el costo de la simulación por ochenta mil. La cola de la normal cae como una exponencial de un cuadrado, y el presupuesto de cómputo sube como la inversa de esa cola: es la misma curva leída al revés. Por eso una curva de BER de un apunte se dibuja con la forma cerrada y se simula sólo en la parte alta, donde los errores abundan; y por eso, cuando alguien publica una curva simulada que baja hasta 10⁻⁹, la primera pregunta no es qué canal usó sino cuántos bits tiró.

El corolario práctico es incómodo y conviene decirlo entero: el régimen donde el enlace es bueno es exactamente el régimen donde no se lo puede verificar simulando. Cuanto mejor el enlace, más cara la verificación, y la simulación directa se queda sin aire justo donde uno querría usarla. Lo que se hace en serio es otra cosa —muestreo por importancia, sembrar errores a propósito, o directamente creerle a la forma cerrada y usar la simulación sólo donde se la puede cruzar con ella—, y todo eso empieza por reconocer el síntoma: una corrida que devuelve cero no es un enlace perfecto, es una ventana corta.

Para tener a mano

  1. Una simulación de BER no mide una probabilidad: cuenta eventos raros. Lo único que la gobierna es λ=N·Pe, la cantidad de errores esperados — ni N ni Pe dicen nada por separado.
  2. Con σ=0,20 y amplitud 1, Pe=Q(5)=2,8665·10−7: cuatro millones de tiradas son 1,147 errores esperados, no una simulación larga.
  3. La probabilidad de que una corrida no vea ningún error es e−λ, que acá vale 31,8 %. Medido sobre 400 corridas sorteadas de verdad: 124 en cero, el 31,0 %.
  4. Cero no es un número chico: es la ausencia de número, y encima es invisible. No se puede dibujar en una escala logarítmica, y el agujero que deja se lee como «acá el enlace es perfecto» cuando dice «acá no medí nada».
  5. Descartar las corridas en cero no arregla nada. El estimador vive en una escalera de peldaños de 1/λ=0,87 veces el valor verdadero, y ningún peldaño cae en 1: la corrida más común subestima un 13 % y la siguiente sobreestima un 74 %.
  6. La peor corrida de una tanda no es una medición, es un extremo muestral: veinte tandas de 400 dieron 3,5 · 4,4 · 5,2 · 6,1 veces el valor verdadero y nada intermedio, porque son cuatro, cinco, seis o siete errores.
  7. Para que el cero sea más raro que 1 en 100 hacen falta ln(100)/Pe=1,61·107 tiradas; para contar cien errores y tener un 10 % de error relativo, 3,49·10⁸.
  8. Bajar σ de 0,50 a 0,20 multiplica el costo de la simulación por ochenta mil. El régimen donde el enlace es bueno es el régimen donde no se lo puede verificar simulando, y ahí manda la forma cerrada.
  9. Una frecuencia también es una medición y también se queda corta: «tres de cinco corridas» tiene un desvío de 21 puntos y no dice nada. Con 400 baja a 2,3 puntos, y una tanda de 400 repetida veinte veces todavía se mueve entre el 27,3 % y el 36,3 %.
← Anterior Siguiente → Inicio