La siguiente figura sugiere como estimar el valor de π con una simulación. En la figura, un circuito con un área igual a π/4, está inscrito en un cuadrado cuya área es igual a 1. Se elige de forma aleatoria n puntos dentro del cuadrado. La probabilidad de que un punto esté dentro del círculo es igual a la fracción del área del cuadrado que abarca a este, la cual es π/4. Por tanto, se puede estimar el valor de π/4 al contar el número de puntos dentro del círculo, para obtener la estimación de π/4. De este último resultado se encontrar una aproximación para el valor de π.
¿Cuántos de los puntos están dentro del círculo? ¿Cuál es su estimación de π?
Se ha desarrollado una función que utiliza simulaciones para estimar el valor de π. Esta función toma un parámetro ‘n’, que indica cuántas simulaciones se realizarán. En cada simulación, se genera pares de coordenadas aleatorias (X, Y) en el rango de 0 a 1, que representan puntos dentro de un cuadrado de 1x1. Luego, se calcula la distancia entre cada punto y el centro del cuadrado (0.5, 0.5) utilizando la fórmula de la distancia.
El siguiente paso es determinar cuántos puntos caen dentro del circulo. Esto se logra comparando las distancias calculadas con el radio del círculo (0.5). Luego, se identifican cuántos puntos están dentro del círculo en cada simulación y se estima π/4 dividiendo esta cantidad por ‘n’.
Finalmente, multiplicamos la estimación de π/4 por 4 para obtener una estimación del valor de π. Este proceso de simulación permite aproximarse al valor de π y luego se visualiza los resultados en gráficas que muestran la distribución de puntos.
#install.packages("plotrix")
library(plotrix)
#Creando una función llamada Puntos
Puntos<- function(n){
#Constantes 0 y 1
Mi = 0
Ma = 1
#Variables aleatorias
X <- runif(n, Mi ,Ma)
Y <- runif(n, Mi, Ma)
#Calculo de la distancia d elos puntos
Dist. <- (X-0.5)^2 + (Y-0.5)^2
# Crear el gráfico
plot(X, Y, cex = 0.5 , pch = 7, xlim = c(0, 1), ylim = c(0, 1), asp = 1, col = "white")
# Dibujar un círculo con área π/4 dentro de un cuadrado 1x1
draw.circle(0.5, 0.5, 1/2 , border = "darkgreen")
# Pintar los puntos dentro y fuera del circulo de color diferente
points(X[Dist. < 0.25], Y[Dist. < 0.25], cex = 0.5, pch = 7, col = "#A9DFBF")
points(X[Dist. >= 0.25], Y[Dist. >= 0.25], cex = 0.5, pch = 7, col = "#D2B4DE")
#Contar puntos dentro del circulo
P_in <- sum(Dist.<0.25)
#Estimación de π/4
Est_pi_div_4 <- P_in/n
#Estiamación de π
Est_pi <- Est_pi_div_4 * 4
Tabla <- data.frame(Puntos_en_Circulo= P_in,
Estimación_Pi_div_4 = Est_pi_div_4,
Estimación_Pi= Est_pi)
return(Tabla)
}Puntos(1000)| Puntos_en_Circulo | Estimación_Pi_div_4 | Estimación_Pi |
|---|---|---|
| 796 | 0.796 | 3.184 |
Puntos(10000)| Puntos_en_Circulo | Estimación_Pi_div_4 | Estimación_Pi |
|---|---|---|
| 7847 | 0.7847 | 3.1388 |
Puntos(100000)| Puntos_en_Circulo | Estimación_Pi_div_4 | Estimación_Pi |
|---|---|---|
| 78420 | 0.7842 | 3.1368 |
A medida que aumentamos el tamaño de la muestra, la estimación de π se vuelve más precisa y se acerca al valor real de π. Esto se debe a que con una muestra más grande, se está generando más puntos aleatorios y, por lo tanto, obteniendo una estimación más confiable.
En términos generales, se espera que la estimación de π sea menos precisa con una muestra pequeña (1000) y más precisa con muestras más grandes (10000 y 100000). Esto ilustra la importancia de la cantidad de datos en el proceso de estimación y cómo una muestra más grande tiende a reducir la variabilidad en la estimación.