¿Es Pi Aleatorio?

\(\pi\) no es aleatorio. En este ensayo pretendo resumir algunos conceptos de mi formación como Estadístico y proporcionar una aproximación imprecisa pero útil para el valor de \(\pi\).

Gracias a los trabajos de Nicolai Andrei Kolmogorov, quien ordenó y estructuró la obra de sus precedesores, hoy en día sabemos que la aleatoriedad no es anarquía, sino que obedece a leyes matemáticas.

En el paradigma frecuentista, la noción de aleatoriedad tiene que ver con las condiciones iniciales de un sistema. ¿Cuál es la probabilidad de lanzar una moneda y que el resultado sea cara? La respuesta es “depende”. Si formulamos la pregunta antes de lanzar la moneda, la probabilidad es 50% si la moneda es equilibrada. Si hacemos la pregunta después, el estado del sistema no es aleatorio y la probabilidad, por definición, no es calculable, el resultado es simplemente cara o sello (cruz).

Este simple ejemplo ha llevado a grandes científicos a formular preguntas simples cuya respuesta es extremadamente compleja. Dadas las condiciones iniciales de un sistema, la observación de leyes físicas lleva al cálculo de la probabilidad de un evento.

Aparte de las leyes físicas, existen probabilidades asociadas a las decisiones, en cuyo caso lo que influye al tomador de decisiones tiene que ver con un estado emocional (psicológico) particular, cuya complejidad es mayor que la de lanzar monedas o dados. El grado de convencimiento, como podría ser una idea del tipo “la opción A (o R) en el próximo plebiscito en Chile obtendrá el 50% de los votos, dado que no tenemos como saber y no le podemos creer a las encuestas”, lleva a la idea de probabilidad subjetiva. En este ejemplo, el hecho de asociar eventos inciertos a una probabilidad del 50% corresponde a una falacia habitual y común.

La idea de probabilidad subjetiva, también basada en la observación, pero condicionada (e.g., la probabilidad de ver un Ford Mustang en los próximos cinco minutos dado que ya vi uno), llevó al desarrollo del paradigma bayesiano.

Bruno de Finetti, quien para algunos inició la escuela bayesiana, llegó a afirmar que la probabilidad no existe, a modo de evitar controversias filosóficas que persisten hasta hoy. Es más, los trabajos de Finetti utilizan el concepto de previsión. La controversia respecto de las probabilidades, no respecto de su formalización matemática, sino respecto de sus alcances, obedece a la misma observación física que motiva su estudio.

En una escala macroscópica, digamos lanzar una moneda o la trayectoria de un cometa, es posible predecir fenómenos. De hecho, la base de la Econometría actual se divide entre los trabajos de Gauss y Markov, por un lado, intentando predecir la trayectoria de un cometa y de Galton, por el otro, quien quiso explicar los determinantes de la estatura de los infantes.

En la escala microscópica, la física estadística, fuertemente relacionada con la física cuántica, presenta controversias. Para algunos físicos como Bell, lo que observamos a escala muy pequeña, como las partículas subatómicas, corresponde a observaciones de sistemas caóticos, es decir puramente aleatorios y en cuyo caso es imposible explicarlos pues no tenemos acceso a sus condiciones iniciales, las cuales corresponden a variables no observadas.

Así tal como no podemos entrar en la mente de los políticos para saber que los lleva a legislar pensando en que determinados eventos serán más importantes a futuro, tampoco podemos predecir por cual rendija de la lámina de oro va a pasar un electrón (fotón) en el experimento de Rutherford. La controversia es tal, que existe el Teorema de Bell, que es objeto de amplia controversia y establece que toda la mecánica cuántica es inconsistente bajo la explicación de variables ocultas (no observadas).

Algunos científicos, por ejemplo en la P. U. Católica de Chile, el lugar que me formó, encuentran en esta inconsistencia una razón para creer en los Santos y en la famosa frase de Einstein “Él no juega a los dados” o “El creador no juega a los dados”. No soy quien para juzgar a favor o en contra, simplemente me declaro ignorante.

Volviendo a la idea de Finetti de que la probabilidad es una construcción mental, que corresponde a asignar valores subjetivos a eventos inciertos, de la misma forma en que una persona con capacidad de ahorro decide invertir más o menos pensando en que determinados ETF (o acciones) le generarán beneficios a futuro.

En el lenguaje R, podemos simular valores pseudo-aleatorios, por ejemplo

rbinom(10, 1, 0.5)
##  [1] 0 1 1 1 1 0 1 1 0 0

simula el resultado de lanzar 10 veces una moneda asignando el valor uno a obtener cara y 0 a sello (cruz). Lo obtenido no es puramente aleatorio pero se asemeja a lanzar una moneda real para la mayoría de los efectos. Con un valor semilla o condición inicial podemos fijar los resultados, por ejemplo

set.seed(1234)
rbinom(10, 1, 0.5)
##  [1] 0 1 1 1 1 1 0 0 1 1

asegura que el lector obtenga la misma secuencia resultante. Para el caso anterior, el resultado es irreplicable y de obtenerse uno igual, es puramente coincidencia.

Con todas sus limitantes, la Estadística y en general las Matemáticas, nos permiten describir la realidad bajo leyes consistentes dentro de un determinado marco de referencia.

Tomemos el número \(\pi\). Este número, entre otras posibilidades, se puede aproximar bajo la fórmula no aleatoria de Euler \(\frac{\pi^2}{6} = \sum_{n = 1}^{\infty} \frac{1}{n^2}\). Es habitual usar \(\pi \approx 3.14 \approx 3\). Sabemos que para un \(r\) finito la razón entre un círculo de diámetro \(2r\) y un cuadrado de lado \(2r\) es \(\pi / 4\).

Simulando puntos, en un experimento pseudo-aleatorio similar a lanzar dardos, podemos aproximar \(\pi\) superponiendo el círculo sobre el cuadrado y usando \(\pi \approx 4 \times \frac{\text{puntos dentro del circulo}}{\text{puntos totales}}.\)

Sin pérdida de generalidad, tomemos \(r = 1\), a partir de lo cual sabemos que un punto \((x,y)\) está dentro del círculo si \(\sqrt{x^2 + y^2} \leq 1\).

El código R para implementar esto es el siguiente:

estimacion_pi <- function(puntos_totales) {
  set.seed(1234)
      
  # coordenadas de los puntos asumiendo uniformidad
  x <- runif(n = puntos_totales, min = 0, max = 1)
  y <- runif(n = puntos_totales, min = 0, max = 1)
  
  # estimacion de pi
  4 * (length(which(sqrt(x^2 + y^2) <= 1)) / puntos_totales)
}

# resultado para 1, 10 y 100 millones de puntos
sapply(10^(6:8), estimacion_pi)
## [1] 3.143128 3.140820 3.141727
# "verdadero" valor de pi (pi es irracional!)
print(pi, 6)
## [1] 3.14159

En este caso hemos incurrido en el supuesto de que los dardos que lanzamos computacionalmente caen uniformemente sobre un tablero, lo cual no es la realidad física que observamos, pero nos permite obtener una aproximación útil.

En la medida que aumenta el número de observaciones, aumenta la precisión de la estimación, con el coste adicional que es más lento (y por ende más costoso en tiempo y recursos) obtener el resultado. El mismo ejercicio se podría hacer con mil millones de puntos o hasta donde la capacidad computacional lo permita.

Extrapolando a fenómenos sociales más complejos, si bien las encuestas no son perfectas, nos permiten extraer una cantidad limitada de observaciones que nos permiten caracterizar con un margen de error el valor de una variable aleatoria.

En conclusión, \(\pi\) no es aleatorio y un ejercicio muy simple de simulación con componentes de aleatoriedad nos permite aproximar su valor. Una encuesta podría ser simple o con un tamaño muestral pequeño, pero al final del día lo que nos permite evaluar su metodología es tener el valor real y comparar, sea el resultado del plebiscito o el próximo valor del IMACEC, tal como hemos comparado el valor de \(\pi\) con la simulación.

Ya que estás leyendo mi blog

Estoy haciendo clases de R y Shiny como una forma de generar ingresos como estudiante internacional. Ofrezco clases con un 50% de descuento para personas en América Latina que estén interesadas.

Te ayudaré a entender los fundamentos de R o Shiny de manera que contribuya a tu trabajo diario.

Si tienes conocimientos de hojas de cálculo, también te mostraré cómo aplicar estos conocimientos a la escritura de código.

Cada sesión consiste en una hora en Zoom, centrada en las preguntas y datos que acordemos previamente. Todas las sesiones de tutoría son diferentes, ya que creo las diapositivas y los códigos de ejemplo a la medida de cada alumno.

Aquí hay una demostración breve de lo que hago https://www.youtube.com/watch?v=DW-HPfohfwg.

Puedes agendar en https://www.buymeacoffee.com/pacha/e/81873.