Al final del ultimo post, comenté mi preocupación por la lenta convergencia, y culpe apresuradamente al uso de los objetos de tipo float.
Haciendo cuentas noté que no había nada raro en la convergencia.
El estimador era:
˜π=4∗∑nt=1I(punto i esta dentro de circulo)n
Esto se puede reescribir de la siguiente forma:
˜π=4∗˜F, donde ˜F=∑nt=1I(1 si punto i esta dentro de circulo)n Sabemos que I(1 si punto i esta dentro de circulo) es una variable aleatoria Bernoulli, entonces
˜F=Yn donde Y es una variable Binomial con parámetros n y p=π/4.
E[˜π]=4∗E[Y]n=4∗π4∗n∗1n=π
Ahora, la varianza es lo que nos interesa.
Var[Y]=np(1−p)Var[˜F]=np(1−p)n2=p(1−p)n=˜F(1−˜F)nVar[˜π]=42Var[˜F]=8˜F(1−˜F)n
Ahora, quiero generar un intervalo de confianza del 95% (usando la normal, porque n es muy grande), y quiero que ese intervalo tenga un tamaño del orden de 10−4. Teniendo la formula de la varianza del estimador, podemos calcular el n para esa precisión: n=1035989708.4897318. Acá queda claro que floats no tenía nada que ver con la falta de precision. Fue solo una cuestión de ansiedad.
De hecho, si usamos n=109, luego de un tiempito, tenemos el siguiente resultado
˜π=3.141564804(3.67207693157∗10−5)
y con un α=5% podemos construir el intervalo: [3.141492831293.14163677671]