PARTE 1. EXPERIMENTO
Muchos, incluyendo a mí, han despreciado estadística todo este tiempo hasta que ha llegado el tema de IA que en mayoría de casos utiliza herramientas de estadística. Esto ha traído un cambio radical al mundo. Antes, para calcular los recorridos y trayectos más cortos deberíamos inventar algoritmos muy complejos y poco claros tipo SIMPLEX u otros. Ahora google maps utiliza datos que provienen de los propios conductores para hacer comparaciones e inferencias tan precisas que desaparece necesidad de aplicar algoritmos de tipo determinista que poco se ajustan a problemas de vida real.
Un ejemplo simple. Para calcular el número PI lo primero que
se ocurre es coger una cuerda, hacer con ella una circunferencia, en el suelo,
medir el radio y luego dividir longitud de la cuerda entre longitud del radio.
Sabiendo que longitud de la circunferencia es 2PIr al dividir entre r obtenemos
el doble del número PI. No nos va a dar valor exacto porque no podemos crear
figuras perfectas de esta forma.
Para aproximarnos mucho mejor podemos usar algoritmo de
Pitágoras pero hoy vamos hacerlo de otra forma.
Sabemos que área de una circunferencia es PIr^2. Vamos a dibujar una circunferencia inscrita en un cuadrado.
Área del cuadrado es (2r)^2
Entonces área de circunferencia es PIr^2/(2r)^2 = PI/4 veces
menos que el cuadrado. Si hacemos un experimento, tirando con ojos
cerrados un garbanzo en este campo, la probabilidad que el garbanzo cae sobre
la circunferencia es de PI/4
Solo nos falta repetir el experimento varias veces.
Bastantes veces. En el caso si el garbanzo cae dentro de las circunferencia lo
vamos a llamar favorable (F) y el número total de estos casos lo vamos a llamar
(f), el número total de intentos lo vamos a denotar por n. Esta proporción
f/n debe aproximarse a PI/4. Así que el resultado final lo vamos a multiplicar
por 4 y obtenemos una aproximación a PI. Por ley de números grandes a mayor
número de intentos la aproximación sería mejor. Vamos a diseñar los
experimentos con Python.
Creamos un campo 1x1 la verdad que tamaño no importa ya
que se ha visto que el radio se “simplifica” en el desarrollo.
Observa que si trabajamos con una cuarta parte de imagen la
proporción sería la misma. Pero esto ayuda a evitar situar el origen de ejes de
coordenadas en el centro de la imagen y crear semirrectas negativas.
No vamos a crear listas de puntos favorables. Mejor trabajamos con el radio que se calcula usando teorema de Pitágoras r = sqrt(x^2+y^2). Si lo único que necesitamos es conocer si el garbanzo queda en la circunferencia, entonces solo nos interesa un parámetro. El radio máximo en este caso es 1. Por esto podemos decidir si el garbanzo cae en zona favorable comprobando que r < 1
Repetimos experimento varias veces y obtenemos resultados. En
cada iteración restamos del valor real el valor de la fracción. Éste sería el
error de aproximación. Veamos en la gráfica que a mayor número de iteraciones
este error disminuye.
Éste método tiene muchas ventajas ya que nos proporciona
protocolo para cálculo de áreas complejas sin tener que inventar algoritmos
complicados. Se apoya en el teorema central del límite y en otros resultados
matemáticos rigurosos por lo cual es un método fiable.
La desventaja de este método es el resultado inexacto y no
solo por el tema de “fallos” probabilísticos. Hemos usado en el desarrollo una
figura o bien dibujada a mano para tirar garbanzo encima de ella, o bien una
circunferencia construida con herramientas informáticas. En ambos casos la
figura no es perfecta. De hecho el ordenador no opera con los números reales.
Son infinitos y el ordenador tiene memoria limitada. Por lo cual no puede
trazar una circunferencia perfecta.
Pero ¿Qué más da si el método es aplicable a la vida real?
Ahora vamos a formalizar nuestro estudio y dotarle de un
intervalo de confianza. Para asegurarnos el valor de PI con un porcentaje alto
de probabilidad.
Volvemos a la interpretación gráfica para diseñar el
experimento como proporción. Sabemos que la proporción de éxito es de PI/4 ¿Qué
tamaño de muestra n debe tomarse para que el intervalo de confianza de 99%
sería menor de 0,001?
Se sabe que la de proporción tiene distribución normal de
media p = PI/4 y desviación típica sqrt(p*q/n)
p = PI/4
q = 1 – PI/4
si quiero un intervalo de eficacia 99% debo recurrir a la tabla normal.
Aciertos en 99% da lugar a fallos 1% y la mitad es 0,5% que es 0,005 en términos de la probabilidad. Si vamos a la tabla normal con datos mayor de 0.5 tenemos que optar por el “complementario” 1 - 0,005 = 0,995
Aquí está:
z = 2.57
IC99 = [p-z·sqrt(p*q/n);
p+z·sqrt(p*q/n)]
Si quiero que longitud total del intervalo no supera 0,001
entonces su amplitud no debe superar 0,0005 entonces z·sqrt(p*q/n) < 0,0005.
De aquí solo tenemos que despejar la n
Sqrt(p*q/n)< 0,0005/z
p*q/n<(0,0005/z)^2
p*q<((0,0005/z)^2)*n
n> (p*q)/(0,0005/z)^2 = 4452967.790506449
Resulta que tenemos que tomar muestra mayor de 4452968 para
asegurar intervalo tan pequeño a 99%
Probamos:
nos da como resultado pi = 3.1421353128969263
¿Está dentro de intervalo?
PI - pi = -0.0005426593071331531 No está en el
intervalo. Pero casi.
El código:
import
random
import math
import
matplotlib.pyplot as pltÇ
n = 4452968; # cantidad de experimentos que vamos a usar
N= [];
f = 0;
L = [];
i = 1;
while i <= n:
x = random.random();
y =
random.random();
if pow(x,2)+pow(y,2) <= 1:
f = f +1;
L.append((f/i)*4-math.pi)
i = i + 1;
N.append(i)
# print(L)
fig, ax =
plt.subplots()
plt.plot([0, n],
[0, 0], color='green')
ax.plot(N, L)
plt.show()
print((f/n)*4)
No hay comentarios:
Publicar un comentario