Problema 1: Estimación del valor de π

Estimación del valor de π

Pasos

a. Generación de coordenadas x.

Se generan 1000 coordenadas aleatrias de x con distribución uniforme con valor minimo de 0 y maximo de 1.

n = 1000
x = runif(n, min = 0, max = 1)
kable(head(x, 10))
x
0.1792490
0.8081919
0.1660582
0.4874137
0.3440440
0.0113520
0.7475962
0.4860336
0.0336535
0.3153440

b. Generación de coordenadas y.

Se generan 1000 coordenadas aleatrias de y con distribución uniforme con valor minimo de 0 y maximo de 1.

y = runif(n, min = 0, max = 1)
kable(head(y, 10), col.names = "y")
y
0.4005147
0.0806200
0.6202760
0.5662983
0.9774773
0.4159245
0.5277407
0.5854113
0.8042793
0.6837479

c. Generación de un circulo de radio 0.5 y diam.

Se elabora un circulo con diametro 1 y con centro en la coordenada (0.5,0.5), ubicando las coordenadas creadas previamente.

d_circulo = function(x, y) {
  distancia = (x - 0.5)^2 + (y - 0.5)^2
  dentro_circulo = ifelse(distancia <= 0.25, TRUE, FALSE)
  return(dentro_circulo)
}

plot(c(0, 1), c(0, 1), type = "n", xlab = "X", ylab = "Y")
radio = 0.5
theta = seq(0, 2 * pi, length.out = 100)
x_circle = radio * cos(theta) + 0.5
y_circle = radio * sin(theta) + 0.5
polygon(x = x_circle, y = y_circle, col = "lightblue", border = "black")

points(x[d_circulo(x, y)], y[d_circulo(x, y)], col = "green")

points(x[!d_circulo(x, y)], y[!d_circulo(x, y)], col = "red")

d. Determinación del número de coordenadas dentro del ciruclo y calculo de π.

En primer lugar se cuenta el número de coordenadas que se encuentran alojadas dentro del circulo asi como las que no lo estan.

num_coords_dentro = sum(d_circulo(x, y))
num_coords_fuera = sum(!d_circulo(x, y))

De las 1000 coordenadas, se tiene que rnum_coords_dentro se encuentran dentro del circulo mientras que hay 227 fuera de este”

Por ultimo se calcula el promedio de la distancia entre las coordenadas generadas y el centro del circulo lo que genera el estimador de π, el cual presenta el siguiente resultado:

p_circulo = sum(d_circulo(x, y))
pi_estimado = p_circulo / n
v_pi = pi_estimado * 4

El valor estimado de π para una muestra de 1000 coordenadas es de 3.092

Analisis

Para este problema se usó el método de Montecarlo, en el cual para dar solución a problemas matemáticos se utiliza la simulación de muestras aleatorias para obtener resultados. A medida que el tamaño de la muestra aumenta, la cercanía al resultado correcto también lo hace.

En este caso, lo que se hace es generar un cuadrado, representado por el plano trabajado, de lados con longitud igual a 1, y dentro de este cuadrado se genera un círculo con diámetro igual a 1. El area del cuadrado es (2r)^2 = 4r^2 y el area del circulo es igual a πr^2 el resultado, al analizar la proporción entre El área del círculo respecto al área del cuadrado, se obtiene que es π/4.

Teniendo en cuenta lo anterior, los puntos se pueden interpretar como el área de las figuras geométricas planteadas. Dividiendo el número de puntos dentro del círculo (en este caso, la aproximación al área del círculo) entre el total de puntos dentro de todo el cuadrado (aproximación al área del cuadrado), obtendríamos la proporción entre el área del círculo y el cuadrado, que previamente identificamos como π/4. Al dividir el número obtenido entre 4, obtenemos la aproximación de π.

Problema 2: Propiedades de los estimadores

La simulación ayuda a entender y validad las propiedades de los estimadores estadísticos como son. insesgadez, eficiencia y la consistencia principalmente. El siguiente problema permite evidenciar las principales características de un grupo de estimadores propuestos para la estimación de un parámetro asociado a un modelo de probabilidad.

Sean X1, X2, X3 y X4, una muestra aleatoria de tamaño n=4 cuya población la conforma una distribución exponencial con parámetro θ desconocido. Determine las características de cada uno de los siguientes estimadores propuestos:

Para la generación de las muestras, se usará la función rexp la cual permite obtener n observaciones de una distribución exponencial.

Por defecto, estas funciones consideran la distribución exponencial con parámetro λ=1.

#install.packages("dplyr")
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
muestras = function(n) {
  set.seed(123)
  pr = 1
  x1 = rexp(n,pr)
  x2 = rexp(n,pr)
  x3 = rexp(n,pr)
  x4 = rexp(n,pr)
  db = data.frame(x1,x2,x3,x4)
  return(db)
}

# Funcion para el calculo del estimador 1 
e1 = function(X) {
  return((sum(X[1:2]) / 6) + (sum(X[3:4]) / 3))
}

# Funcion para el calculo del estimador θ2
e2 = function(X) {
  return((sum(X * c(1, 2, 3, 4))) / 5)
}

# Funcion para el calculo del estimador θ3
e3 = function(X) {
  return(sum(X) / 4)
}

# Funcion para el calculo del estimador θ4
e4 = function(X) {
  return((min(X) + max(X)) / 2)
}
# Funcion para grafico de cajas
grafica = function(m) {
  library(ggplot2)
  db = muestras(m)
  
  estimador_1= apply(db, 1, e1)
  estimador_2= apply(db, 1, e2)
  estimador_3= apply(db, 1, e3)
  estimador_4= apply(db, 1, e4)
  
  estimadores = data.frame(estimador_1,estimador_2, estimador_3, estimador_4)
  #Sys.setlocale("LC_CTYPE", "es_ES.UTF-8")
  titulo = sprintf("Comparación estimadores con n=%d", m)
  boxplot(estimadores, las=1, main=titulo,col="royalblue")  # gráfico de comparación   
  abline(h=1,  col="red")
  
  #Imprimir resultados
  cat("Número de muestra:", m, "\n")
  cat("Mediana Estimador 1:", round(median(estimadores$estimador_1),2), "Varianza:", round(var(estimadores$estimador_1),2),"insesgadez:", round(median(estimadores$estimador_1),2)-1, "\n")
  cat("Mediana Estimador 2:", round(median(estimadores$estimador_2),2), "Varianza:", round(var(estimadores$estimador_2),2),"insesgadez:", round(median(estimadores$estimador_2),2)-1, "\n")
  cat("Mediana Estimador 3:", round(median(estimadores$estimador_3),2), "Varianza:", round(var(estimadores$estimador_3),2),"insesgadez:", round(median(estimadores$estimador_3),2)-1, "\n")
  cat("Mediana Estimador 4:", round(median(estimadores$estimador_4),2), "Varianza:", round(var(estimadores$estimador_4),2),"insesgadez:", round(median(estimadores$estimador_4),2)-1, "\n")
}

grafica(20)

## Número de muestra: 20 
## Mediana Estimador 1: 0.92 Varianza: 0.27 insesgadez: -0.08 
## Mediana Estimador 2: 1.79 Varianza: 0.88 insesgadez: 0.79 
## Mediana Estimador 3: 0.9 Varianza: 0.2 insesgadez: -0.1 
## Mediana Estimador 4: 1.04 Varianza: 0.52 insesgadez: 0.04

Conclusiones de Insesgadez: Segun los resultados para una muestra n=20 se tiene que:

  • Los estimadores 1,3 y 4 son insegados ya que presentan un comportamiento en el cual sus valores estan cercanos al valor del parmetro, que para este ejercicio tiene un valor de 1.

  • El estimador 2 presenta un sesgo notable.

Conclusiones de Eficiencia: Segun los resultados para una muestra n=20 se tiene que:

  • De todos los estimadores insesgados, el estimador 3 es el mas eficiente, ya que es el que presenta una menor varianza.
grafica(50)

## Número de muestra: 50 
## Mediana Estimador 1: 0.85 Varianza: 0.27 insesgadez: -0.15 
## Mediana Estimador 2: 1.71 Varianza: 1.07 insesgadez: 0.71 
## Mediana Estimador 3: 0.91 Varianza: 0.27 insesgadez: -0.09 
## Mediana Estimador 4: 1.02 Varianza: 0.49 insesgadez: 0.02

Conclusiones de Insesgadez: Segun los resultados para una muestra n=50 se tiene que:

  • Los estimadores 3 y 4 son insegados ya que presentan un comportamiento en el cual sus valores estan cercanos al valor del parmetro, que para este ejercicio tiene un valor de 1.

  • El estimador 2 presenta un sesgo notable, el estimador 2 presenta un pequeño sesgo.

Conclusiones de Eficiencia: Segun los resultados para una muestra n=50 se tiene que:

  • De todos los estimadores insesgados, el estimador 3 es el mas eficiente, ya que es el que presenta una menor varianza.
grafica(100)

## Número de muestra: 100 
## Mediana Estimador 1: 0.94 Varianza: 0.21 insesgadez: -0.06 
## Mediana Estimador 2: 1.8 Varianza: 0.94 insesgadez: 0.8 
## Mediana Estimador 3: 0.96 Varianza: 0.2 insesgadez: -0.04 
## Mediana Estimador 4: 1.06 Varianza: 0.33 insesgadez: 0.06

Conclusiones de Insesgadez: Segun los resultados para una muestra n=100 se tiene que:

  • Los estimadores 1,3 y 4 son insegados ya que presentan un comportamiento en el cual sus valores estan cercanos al valor del parmetro, que para este ejercicio tiene un valor de 1.

  • El estimador 2 presenta un sesgo notable.

Conclusiones de Eficiencia: Segun los resultados para una muestra n=100 se tiene que:

  • De todos los estimadores insesgados, el estimador 3 es el mas eficiente, ya que es el que presenta una menor varianza.
grafica(1000)

## Número de muestra: 1000 
## Mediana Estimador 1: 0.91 Varianza: 0.29 insesgadez: -0.09 
## Mediana Estimador 2: 1.78 Varianza: 1.18 insesgadez: 0.78 
## Mediana Estimador 3: 0.91 Varianza: 0.26 insesgadez: -0.09 
## Mediana Estimador 4: 1.03 Varianza: 0.4 insesgadez: 0.03

Conclusiones de Insesgadez: Segun los resultados para una muestra n=1000 se tiene que:

  • Los estimadores 1,3 y 4 son insegados ya que presentan un comportamiento en el cual sus valores estan cercanos al valor del parmetro, que para este ejercicio tiene un valor de 1.

  • El estimador 2 presenta un sesgo notable.

Conclusiones de Eficiencia: Segun los resultados para una muestra n=1000 se tiene que:

  • De todos los estimadores insesgados, el estimador 3 es el mas eficiente, ya que es el que presenta una menor varianza.

Conclusiones de Consistencia: En términos de consistencia simple, a pesar de aumentar el tamaño de la muestra, la diferencia entre cada estimador y el valor del paramtero no es cero, por lo cual ninguno de estos es consistente.

A continuación, con una muestra n=1000 se observa el comprtamiento descrito anteriormente.

grafica(10000)

## Número de muestra: 10000 
## Mediana Estimador 1: 0.91 Varianza: 0.27 insesgadez: -0.09 
## Mediana Estimador 2: 1.8 Varianza: 1.18 insesgadez: 0.8 
## Mediana Estimador 3: 0.92 Varianza: 0.25 insesgadez: -0.08 
## Mediana Estimador 4: 1.05 Varianza: 0.39 insesgadez: 0.05

Problema 3: Teorema del Límite Central

Pasos

a.Realice una simulación en la cual genere una población de n=1000 (Lote), donde el porcentaje de individuos (supongamos plantas) enfermas sea del 50%.

Función para generar una simulación con un lote de n = 1.000 donde el porcentaje de plantas enfermas es del 50%. Esto da como resultado un lote con 500 plantas enfermas y 500 plantas sanas.

poblacion = function(lote, porcentaje_e) {
  enfermas = round(lote * porcentaje_e)
  sanas = lote - enfermas
  poblacion = c(rep("Enferma", enfermas), rep("Sana", sanas))
  return(poblacion)
}
iteraciones = 500
porcentaje_e = 0.5
lote = 1000
pop = poblacion(lote, porcentaje_e)

kable(table(pop))
pop Freq
Enferma 500
Sana 500

b. Muestra aleatoria y estimador.

Se realiza la creación de una función que toma una muestra aleatoria de un tamaño específico indicado en la función, y sobre la muestra se calcula el estimador de la proporción central. Para esta prueba se tomó una muestra de 100 observaciones.

muestra_estimador = function(poblacion, n_muestra) {
  muestra = sample(poblacion, n_muestra, replace = TRUE)
  prop_muestra = sum(muestra == "Enferma") / length(muestra)
  return(prop_muestra)
}
n_muestra = 100
q = muestra_estimador(pop,n_muestra)

Estimador de proporción central = 0.43

El resultado anterior implica que para una muestra tomada de 100 observaciones respecto al lote de 1000 observaciones, 43 corresponden a plantas enfermas. Si aplicáramos esta lógica, significaría que el 43% de las plantas de la población son plantas enfermas. No obstante, este ejercicio toma una muestra relativamente pequeña y genera el estimador una sola vez. Para mejorar el resultado, se pueden tomar muestras más amplias y calcular el estimador de proporción central más veces.

c. Escenario con N = 500 iteraciones

histograma = function(iteraciones, pop, n_muestra) {
  resultados = numeric(iteraciones)
  
  for (i in seq_len(iteraciones)) {
    p = muestra_estimador(pop, n_muestra)
    resultados[i] = p
    
  }
  titulo = paste("Histograma de resultados para n =", n_muestra)
  resultados = hist(resultados, main = titulo, xlab = "Proporción muestral", ylab = "Frecuencia", labels = TRUE)
  return(resultados)
}

ss_v = function(iteraciones, pop, n_muestra) {
  muestra = numeric(iteraciones)
  
  for (i in seq_len(iteraciones)) {
    p = muestra_estimador(pop, n_muestra)
    muestra[i] = p
  }
  
  media = mean(muestra)
  mediana = median(muestra)
  varianza = var(muestra)
  desviación = sd(muestra)
  coef_asimetria = sum((muestra - media)^3) / (length(muestra) * sd(muestra)^3)
  
  resultados = data.frame(Media = media, Mediana = mediana, Varianza = varianza, Desviación = desviación, Coef_Asimetria = coef_asimetria)

  
  
  return(resultados)
}


resultados = histograma(iteraciones, pop, n_muestra)

e_resumen = ss_v(iteraciones, pop, n_muestra)
kable(e_resumen)
Media Mediana Varianza Desviación Coef_Asimetria
0.49888 0.5 0.0024136 0.0491281 -0.0951067

Como resultado de realizar el proceso del literal b para 500 iteraciones y recopilar los datos, se obtuvo que el histograma realizado presentó una distribución relativamente simétrica, concentrada en valores cercanos a 0.5. Esto, a pesar de que presenta una leve concentración hacia el lado derecho del gráfico. Adicionalmente, se hace uso de las medidas de tendencia central para analizar el comportamiento de los datos. Respecto a esto, nos encontramos con que la mediana y la media comparten valores similares, reflejando ausencia de sesgo. Esto se observa al analizar que la diferencia entre la media y la mediana es inferior a la desviación calculada.

Como se indicó anteriormente, existe un ligero sesgo hacia la derecha, respaldado por el coeficiente de asimetría calculado. Sin embargo, dado que el valor es bastante cercano a cero, es posible concluir que los datos se encuentran distribuidos de manera relativamente uniforme alrededor de la media.

d. Simulación con tamaños de muestra n = 5 , 10, 15, 20, 30, 50, 60, 100, 200, 500.

Se procede a realizar las pruebas previas pero para 10 tamaños de muestra diferentes. Adicionalmente, se incluyen pruebas de bondad y gráficos para analizar la normalidad de las pruebas.

ss_v = function(iteraciones, pop, n_muestra) {
  muestra = numeric(iteraciones)
  
  for (i in seq_len(iteraciones)) {
    p = muestra_estimador(pop, n_muestra)
    muestra[i] = p
  }
  
  media = mean(muestra)
  mediana = median(muestra)
  varianza = var(muestra)
  desviación = sd(muestra)
  coef_asimetria = sum((muestra - media)^3) / (length(muestra) * sd(muestra)^3)
  shapiro_t = shapiro.test(muestra)
  shapiro_t = shapiro_t$p.value  
  
  
  resultados = data.frame(Media = media, Mediana = mediana, Varianza = varianza, Desviación = desviación, Coef_Asimetria = coef_asimetria, Shapiro_t = shapiro_t)
  
  
  
  return(resultados)
}

normalidad = function(iteraciones, pop, n_muestra, variable) {
  resultados = numeric(iteraciones)
  
  for (i in seq_len(iteraciones)) {
    p = muestra_estimador(pop, n_muestra)
    resultados[i] = p
  }
  
  qqnorm(resultados, 
         main = paste("Gráfico de normalidad n =", n_muestra)
  )
  qqline(resultados)
  
  titulo = paste("Gráfico de normalidad n =", n_muestra)
  title(main = titulo)
  
  return(resultados)
}

t_muestras = c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n_muestra in t_muestras){
  histograma(iteraciones, pop, n_muestra)
  normalidad(iteraciones, pop, n_muestra)
  e_resumen = ss_v(iteraciones, pop, n_muestra)
  print(kable(e_resumen))
}

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.4936|     0.4| 0.0486163|   0.220491|      0.0406577|         0|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.5022|     0.5| 0.0226204|  0.1504008|     -0.0690764|         0|

## 
## 
## |     Media|   Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |---------:|---------:|---------:|----------:|--------------:|---------:|
## | 0.5078667| 0.5333333| 0.0154624|  0.1243478|      0.0192232|     2e-07|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.5053|     0.5| 0.0137745|  0.1173646|     -0.0120465|   5.7e-06|

## 
## 
## |     Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |---------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.4971333|     0.5| 0.0080635|  0.0897968|      0.0279912|  7.52e-05|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.5044|     0.5| 0.0058708|   0.076621|     -0.0728116| 0.0074689|

## 
## 
## | Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-----:|-------:|---------:|----------:|--------------:|---------:|
## | 0.503|     0.5| 0.0040524|  0.0636588|      0.0349588| 0.0057934|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.49896|     0.5| 0.0027003|  0.0519646|     -0.0553212| 0.0584262|

## 
## 
## |  Media| Mediana| Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|--------:|----------:|--------------:|---------:|
## | 0.4989|     0.5| 0.001223|  0.0349719|     -0.0454556| 0.4070884|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.49954|   0.498| 0.0004537|  0.0213013|      0.0632235| 0.5149301|

Los resultados encontrados al realizar el análisis con diferentes tamaños muestrales son que a medida que aumenta el tamaño de la muestra manteniendo lo demás constante, la media se acerca a 0.5 al igual que la mediana, la varianza y la desviación estándar disminuyen, reflejando que los datos presentan una disminución en la dispersión general de los datos. Además, el coeficiente de asimetría se acerca a cero, indicando que los datos se distribuyen de manera más uniforme alrededor de la media.

La prueba de Shapiro nos indica que a medida que los tamaños muestrales aumentaban, también lo hacía el p-valor de la prueba, estando cada vez más cerca de uno y, por lo tanto, reflejando cada vez más un comportamiento de normalidad. Para los casos de muestras menores o iguales a 60, el p-valor fue menor a un nivel de significancia de 0.05, indicando que no se rechaza la hipótesis nula, por lo cual los datos no siguen una distribución normal. Para las muestras de 100 o superiores, el p-valor fue superior a 0.05, no rechazando la hipótesis nula, por lo cual se concluye que los datos podrían tener una distribución normal.

Respecto al gráfico de normalidad, se tiene que a medida que la muestra aumenta, los puntos del gráfico se alinean de mejor manera con la línea diagonal trazada en el mismo, lo que implica que a medida que la muestra aumenta, los datos presentan un mayor grado de normalidad.

e. Porcentaje de plantas enfermas del 10% y 90%

10%

porcentaje_e = 0.1
lote = 1000
pop = poblacion(lote, porcentaje_e)
t_muestras = c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)


for (n_muestra in t_muestras){
  histograma(iteraciones, pop, n_muestra)
  normalidad(iteraciones, pop, n_muestra)
  e_resumen = ss_v(iteraciones, pop, n_muestra)
  print(kable(e_resumen))
}

## 
## 
## |  Media| Mediana| Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|--------:|----------:|--------------:|---------:|
## | 0.0808|       0|   0.0143|  0.1195824|       1.355015|         0|

## 
## 
## | Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-----:|-------:|---------:|----------:|--------------:|---------:|
## | 0.097|     0.1| 0.0081473|  0.0902624|      0.7114634|         0|

## 
## 
## |  Media|   Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|---------:|---------:|----------:|--------------:|---------:|
## | 0.0988| 0.0666667| 0.0060818|  0.0779861|      0.7741659|         0|

## 
## 
## |  Media| Mediana| Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|--------:|----------:|--------------:|---------:|
## | 0.1031|     0.1| 0.004304|  0.0656049|      0.4330348|         0|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.1002|     0.1| 0.0029726|  0.0545213|      0.6046691|         0|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.09884|     0.1| 0.0017966|  0.0423869|      0.4174865|         0|

## 
## 
## |     Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |---------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.1001667|     0.1| 0.0014946|  0.0386604|      0.2244111|   1.3e-06|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.0983|     0.1| 0.0009741|  0.0312099|      0.3538349|   7.7e-06|

## 
## 
## |   Media| Mediana| Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|--------:|----------:|--------------:|---------:|
## | 0.09981|     0.1| 0.000435|  0.0208563|      0.0497349| 0.0429339|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.09978|     0.1| 0.0001491|  0.0122096|      0.1477757| 0.0433498|

90%

porcentaje_e = 0.9
lote = 1000
pop = poblacion(lote, porcentaje_e)
t_muestras = c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)


for (n_muestra in t_muestras){
  histograma(iteraciones, pop, n_muestra)
  normalidad(iteraciones, pop, n_muestra)
  e_resumen = ss_v(iteraciones, pop, n_muestra)
  print(kable(e_resumen))
}

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.8972|       1| 0.0180282|  0.1342692|      -1.138893|         0|

## 
## 
## | Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-----:|-------:|---------:|----------:|--------------:|---------:|
## | 0.907|     0.9| 0.0083878|  0.0915848|     -0.6380352|         0|

## 
## 
## |     Media|   Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |---------:|---------:|---------:|----------:|--------------:|---------:|
## | 0.9034667| 0.9333333| 0.0064275|  0.0801717|      -0.884509|         0|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.9047|     0.9| 0.0048125|  0.0693724|      -0.567832|         0|

## 
## 
## |  Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.9016|     0.9| 0.0033018|  0.0574615|     -0.6947918|         0|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.89996|     0.9| 0.0018798|  0.0433562|     -0.4379788|         0|

## 
## 
## |     Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |---------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.9001333|     0.9| 0.0014829|  0.0385091|     -0.3842588|     1e-07|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.89954|     0.9| 0.0008954|  0.0299229|     -0.3619226|   4.6e-06|

## 
## 
## |   Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |-------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.90032|     0.9| 0.0004979|  0.0223135|     -0.2535208| 0.0010628|

## 
## 
## |    Media| Mediana|  Varianza| Desviación| Coef_Asimetria| Shapiro_t|
## |--------:|-------:|---------:|----------:|--------------:|---------:|
## | 0.899796|     0.9| 0.0001838|  0.0135557|     -0.1518172| 0.1662717|

Los resultados al cambiar el porcentaje de plantas enfermas de 50% a 10% y 90% muestran que se requirió de tamaños de muestra mayores para obtener un mayor grado de normalidad. Esto se refleja adicionalmente en los coeficientes de asimetría, donde para las muestras con 10% de plantas enfermas se observó un sesgo hacia la izquierda en todas las muestras, mientras que en el escenario de 90% de plantas enfermas todas las muestras presentaron un sesgo hacia la derecha.

Respecto a la normalidad, se observa que para la prueba de Shapiro, únicamente para la muestra de 500 el p-valor fue superior a 0.05, no rechazando la hipótesis nula y sugiriendo que los datos podrían tener una distribución normal, tanto en el escenario de 10% como de 90%. Esto se confirma con los gráficos de normalidad, donde se observa que los puntos están mayoritariamente superiores e inferiores a la diagonal trazada para las muestras con un tamaño de 200 o inferior.

En cuanto a los valores de media y mediana, se observa que las muestras de 90% y 10% de plantas enfermas presentaban valores más distantes entre sí, lo que implica que con el mismo tamaño de la muestra hubo distribuciones de datos menos simétricas para todos los tamaños de muestra. Además, la varianza y la desviación también presentaron valores más altos en todas las muestras, reflejando una mayor dispersión.

Probema 4: Estimacción boostrap

Solución

Inicialmente es neceario construir un intervalo para la media poblacional μ, para ello se creará una función que extrae una muestra aleatoria con reemplazo de tamaño n=7 con k=1000 iteraciones dando uso a la funcion sample usando como parametro el vector que contiene los datos de consumo de combustible para los 7 camiones.

Por otra parte, en la funcion tambien se calculará la media media muestral para cada muestra de estimación boostrap.

m = c( 7.69, 4.97, 4.56, 6.49, 4.34, 6.24, 4.45) 
#k = 1000

x = function(poblacion,repeticiones){
  resultados = data.frame(matrix(nrow = repeticiones, ncol = length(m)+1))
  
  for (i in 1:repeticiones) {
    muestra = sample(m, length(m), replace = T)  
    media = mean(muestra)
    resultados[i,] = cbind(muestra,media)
  } 
  
  return(resultados)
  
}
db = x(m,1000)
  names (db) = c("M1", "M2", "M3", "M4", "M5", "M6","M7","Media_Muestral")
  head(db, n=10)

Una vez obtenida la muestra, se calcula un intervalo de confianza del 95% usando el método 1, es decir, tomando el percentil 2.5 y el percentil 97.5.

inf = 0.025
sup = 0.975

metodo_1 = quantile(db$Media_Muestral, probs = c(inf, sup))
metodo_1
##     2.5%    97.5% 
## 4.694286 6.460143

Con el método anterior, los límites del primer intervalo son:

Para \(\bar X∗2.5=\) 4.6942857 y \(\bar X*97.5=\) 6.4601429

Ahora se calcula el intervalo usando el método 2, que utiliza la media \(\bar X\) de la muestra original y los percentiles.

metodo_2 =c(2*mean(db$Media_Muestral)-metodo_1[2], 2*mean(db$Media_Muestral)-metodo_1[1])
metodo_2
##    97.5%     2.5% 
## 4.588957 6.354814

Los limites del intervalo obtenido con el metodo 2 son :

Para \(\bar X∗2.5=\) 4.5889571 y \(\bar X*97.5=\) 6.3548143

En el siguiente histograma se utilizan las medias muestrales y los dos intervalos calculados anteriormente para detallar la forma en la que quedaría constituido el intervalo de confianza:

hist(db$Media_Muestral,prob = TRUE, xlab = "Media Muestral", main = "Intervalos de Confianza")
grid(nx = NA, ny = NULL, lty = 2, col = "#8B7D6B", lwd = 1)
hist(db$Media_Muestral, prob = TRUE, add = TRUE, col = "#F6AC50")
abline(v= metodo_1[1],  col="#24693D",lwd=5,text(4.8, 0.55, "Metodo 1",col="#24693D",srt=90))
abline(v= metodo_1[2],  col="#24693D",lwd=5,text(6.5, 0.55, "Metodo 1",col="#24693D",srt=90))
abline(v= metodo_2[1],  col="#9C0824",lwd=5, text(4.6, 0.4, "Metodo 2",col="#9C0824",srt=90))
abline(v= metodo_2[2],  col="#9C0824",lwd=5, text(6.25, 0.4, "Metodo 2",col="#9C0824",srt=90))

Segun los resultados, los dos métodos son bastante consistentes ya que no hay mayor variación en los valores sugeridos para el límite inferior y superior del intervalo. De esta forma es posible concluir que la eficiencia de combustible en millas/galón promedio para los camiones estará en un rango entre 4.6942857 y 6.4601429, tomando como referencia el método 1. y 4.5889571 y 6.3548143 tomando como referencia el metodo 2.