INTRODUCCIÓN

En palabras de Thompson (2012), “El muestreo aleatorio simple es fundamental en estadísticas y proporciona una base sólida para la inferencia estadística”.Además proporciona una manera efectiva de comprender y generalizar características de una población más amplia basándose en una muestra cuidadosamente seleccionada. El muestreo aleatorio simple es una técnica fundamental en esta área, permitiendo que los investigadores obtengan muestras representativas de una población, lo que es crucial para realizar inferencias precisas.

En esta tarea, exploraremos la implementación de muestreo aleatorio simple utilizando el lenguaje de programación R, una poderosa herramienta ampliamente utilizada en estadísticas y análisis de datos. Abordaremos dos casos fundamentales: el cálculo de proporciones y promedios, tanto cuando el tamaño de la población (N) es conocido como cuando es desconocido.

I. MARCO TEÓRICO

TIPOS DE MUESTREO

1. PROBABILÍSTICO: “El muestreo probabilístico es un enfoque riguroso y fundamentado para la selección de muestras, donde cada elemento de la población tiene una oportunidad conocida y no nula de ser seleccionado. Este método permite a los investigadores realizar inferencias válidas sobre la población completa basándose en las propiedades estadísticas de la muestra elegida de manera aleatoria” (Cochran,

EJEMPLO: Supongamos que eres un investigador interesado en determinar la opinión de los estudiantes universitarios sobre una nueva política educativa. La población en cuestión es el cuerpo estudiantil completo de una universidad con 10,000 estudiantes. En lugar de encuestar a todos los estudiantes, decides realizar un muestreo probabilístico.

Aplicas un muestreo aleatorio simple, lo que significa que cada estudiante tiene la misma oportunidad de ser seleccionado para la encuesta. Utilizas un generador de números aleatorios para seleccionar una muestra de 300 estudiantes.

2. NO PROBALÍSTICO:
“El muestreo no probabilístico es un enfoque de selección de muestras en el cual los elementos de la población no se eligen al azar y, por lo tanto, no se pueden asignar probabilidades conocidas de inclusión. Aunque puede ser más conveniente en algunas situaciones, este método puede resultar en muestras que no representan adecuadamente la población y limitan la generalización de los resultados” (Trochim & Donnelly, 2008).

EJEMPLO : Supongamos que deseas investigar los hábitos de consumo de café en una ciudad determinada. En lugar de realizar un muestreo aleatorio que asignaría a cada individuo de la población una probabilidad igual de ser seleccionado, decides realizar un muestreo no probabilístico utilizando el método de “muestreo por conveniencia”.

Seleccionas a los participantes de tu muestra de manera conveniente, es decir, eliges a las personas que encuentras más fácilmente o que están más disponibles para responder tu encuesta. Tal vez realices la encuesta en una cafetería local y le preguntes a las personas que están allí en ese momento.

Sin embargo, debido a la naturaleza de tu selección, es posible que las personas que respondan a tu encuesta no sean representativas de toda la población de la ciudad en términos de hábitos de consumo de café.

II. CASO 1 : MUESTREO ALEATORIO SIMPLE PARA PROPORCIÓN

En el contexto de calcular una proporción, el M.A.S. es una forma de seleccionar un subconjunto de elementos de la población de manera que cada elemento tenga la misma oportunidad de ser incluido en la muestra. Esto asegura que la muestra sea imparcial y refleje con precisión las características de la población en términos de la proporción que se está estudiando.

PASOS : - Identificación de la población - Tamaño de la muestra - Selección aleatoria - Obtención de datos - Cálculo de la proporción - Inferencia a la población

1. CON N CONOCIDO

# Función para realizar el muestreo aleatorio simple para una proporción
simple_random_proportion_sampling <- function(population_size, sample_size, confidence_level, estimated_proportion) {
  z_critical_values <- c(1.645, 1.96, 2.576)  # Valores críticos para 90%, 95%, y 99% de confianza
  
  if (confidence_level == 90) {
    z_critical <- z_critical_values[1]
  } else if (confidence_level == 95) {
    z_critical <- z_critical_values[2]
  } else if (confidence_level == 99) {
    z_critical <- z_critical_values[3]
  } else {
    stop("Confidence level not supported. Choose from 90, 95, or 99.")
  }
  
  sample_indices <- sample(1:population_size, size = sample_size, replace = FALSE)
  sample_data <- sample_indices
  
  sample_proportion <- length(sample_data[sample_data != 0]) / sample_size
  
  standard_error <- sqrt((estimated_proportion * (1 - estimated_proportion)) / sample_size)
  
  lower_limit <- sample_proportion - z_critical * standard_error
  upper_limit <- sample_proportion + z_critical * standard_error
  
  result <- list(sample_data = sample_data,
                 sample_proportion = sample_proportion,
                 confidence_interval = c(lower_limit, upper_limit))
  
  return(result)
}

# Parámetros del usuario
population_size <-1000
sample_size <- 100
confidence_level <- 95
estimated_proportion <- 0.5

# Realizar muestreo aleatorio simple para una proporción
proportion_sampling_result <- simple_random_proportion_sampling(population_size, sample_size, confidence_level, estimated_proportion)

# Imprimir resultados
cat("Muestra aleatoria simple:\n")
## Muestra aleatoria simple:
print(proportion_sampling_result$sample_data)
##   [1] 994 484 184 217 310 306 982 775 886 397 979 674 456 995 433 527 875 206
##  [19] 826 544 676 401 146 821 151 346 713 666 578 166 581 954 174 286 232  94
##  [37] 571 699 977 610 321 711 709 503 101 482 426 500 943 670 853  86  16 812
##  [55] 524 552 633 584 520 809 114 916 329 900 705 945 123 354 632 455 454 627
##  [73] 117 509 370 218 927 643 356 406 702 223 859 791 214 915 222 107 583 301
##  [91] 836 941  72 735 719 903  99 169 167 463
cat("\nProporción muestral:", proportion_sampling_result$sample_proportion, "\n")
## 
## Proporción muestral: 1
cat("Intervalo de confianza al", confidence_level, "%:", proportion_sampling_result$confidence_interval[1], "a", proportion_sampling_result$confidence_interval[2])
## Intervalo de confianza al 95 %: 0.902 a 1.098

2. CON N DESCONOCIDO

# Función para realizar el muestreo aleatorio simple para una proporción con población no conocida
simple_random_proportion_sampling <- function(population_size, sample_size, confidence_level) {
  z_critical_values <- c(1.645, 1.96, 2.576)  # Valores críticos para 90%, 95%, y 99% de confianza
  
  if (confidence_level == 90) {
    z_critical <- z_critical_values[1]
  } else if (confidence_level == 95) {
    z_critical <- z_critical_values[2]
  } else if (confidence_level == 99) {
    z_critical <- z_critical_values[3]
  } else {
    stop("Confidence level not supported. Choose from 90, 95, or 99.")
  }
  
  sample_indices <- sample(1:population_size, size = sample_size, replace = FALSE)
  sample_data <- sample_indices
  
  sample_proportion <- length(sample_data[sample_data != 0]) / sample_size
  
  standard_error <- sqrt((sample_proportion * (1 - sample_proportion)) / sample_size)
  
  lower_limit <- sample_proportion - z_critical * standard_error
  upper_limit <- sample_proportion + z_critical * standard_error
  
  result <- list(sample_data = sample_data,
                 sample_proportion = sample_proportion,
                 confidence_interval = c(lower_limit, upper_limit))
  
  return(result)
}

# Parámetros del usuario
population_size <- 1000
sample_size <- 100
confidence_level <- 95

# Realizar muestreo aleatorio simple para una proporción con población no conocida
proportion_sampling_result <- simple_random_proportion_sampling(population_size, sample_size, confidence_level)

# Imprimir resultados
cat("Muestra aleatoria simple:\n")
## Muestra aleatoria simple:
print(proportion_sampling_result$sample_data)
##   [1] 465 457  87 319 780 714 974 346 608 475 954 184 947 307 480 522 622  31
##  [19] 459 816 936 144 599 928 626 658 553 414 976 383 508 362 681 891 486 337
##  [37] 492 908 412  33 747 717 354 135 196 944 112 807 656 203 351 377 360 102
##  [55] 316 995 852 371 524 794 723 173 269  39 376  30  53 999 802 618 149 617
##  [73]  67 662  85 137 838 793 796  28 589 799 118 636 667 770  15 731 748 593
##  [91] 504 688 224 899  99 274  46 817 477 223
cat("\nProporción muestral:", proportion_sampling_result$sample_proportion, "\n")
## 
## Proporción muestral: 1
cat("Intervalo de confianza al", confidence_level, "%:", proportion_sampling_result$confidence_interval[1], "a", proportion_sampling_result$confidence_interval[2])
## Intervalo de confianza al 95 %: 1 a 1

III. CASO 2 : MUESTREO ALEATORIO SIMPLE PARA PROMEDIO

En el contexto de calcular un promedio, el M.A.S. es una forma de seleccionar un subconjunto de elementos de la población de manera que cada elemento tenga la misma oportunidad de ser incluido en la muestra. Esto asegura que la muestra sea imparcial y refleje con precisión las características de la población en términos del promedio que se está estudiando.

PASOS : - Identificación de la población - Tamaño de la muestra - Selección aleatoria - Obtención de datos - Cálculo del promedio muestral - Inferencia a la población

1. CON N CONOCIDO

# Función para realizar el muestreo aleatorio simple para un promedio (media)
simple_random_mean_sampling <- function(population, sample_size, z_critical) {
  sample_indices <- sample(1:length(population), size = sample_size, replace = FALSE)
  sample_data <- population[sample_indices]
  
  sample_mean <- mean(sample_data)
  sample_std_dev <- sqrt(var(sample_data))
  
  standard_error <- sample_std_dev / sqrt(sample_size)
  
  lower_limit <- sample_mean - z_critical * standard_error
  upper_limit <- sample_mean + z_critical * standard_error
  
  result <- list(sample_data = sample_data,
                 sample_mean = sample_mean,
                 confidence_interval = c(lower_limit, upper_limit))
  
  return(result)
}

# Parámetros del usuario
population <- c(34, 45, 23, 56, 78, 29, 31, 52, 40, 65, 27, 50)
sample_size <- 5
z_critical <- 1.96  # El valor crítico Z para un nivel de confianza del 95%

# Realizar muestreo aleatorio simple para un promedio (media)
mean_sampling_result <- simple_random_mean_sampling(population, sample_size, z_critical)

# Imprimir resultados
cat("Muestra aleatoria simple:\n")
## Muestra aleatoria simple:
print(mean_sampling_result$sample_data)
## [1] 56 45 31 34 40
cat("\nPromedio muestral:", mean_sampling_result$sample_mean, "\n")
## 
## Promedio muestral: 41.2
cat("Intervalo de confianza con Z =", z_critical, ":", mean_sampling_result$confidence_interval[1], "a", mean_sampling_result$confidence_interval[2])
## Intervalo de confianza con Z = 1.96 : 32.536 a 49.864

1. CON N DESCONOCIDO

# Función para realizar el muestreo aleatorio simple para un promedio (media) con población desconocida
simple_random_mean_sampling_unknown <- function(population_size, sample_size, z_critical) {
  sample_indices <- sample(1:population_size, size = sample_size, replace = FALSE)
  sample_data <- sample_indices
  
  sample_mean <- mean(sample_data)
  sample_std_dev <- sqrt(var(sample_data))
  
  standard_error <- sample_std_dev / sqrt(sample_size)
  
  lower_limit <- sample_mean - z_critical * standard_error
  upper_limit <- sample_mean + z_critical * standard_error
  
  result <- list(sample_data = sample_data,
                 sample_mean = sample_mean,
                 confidence_interval = c(lower_limit, upper_limit))
  
  return(result)
}

# Parámetros del usuario
population_size <- 1000
sample_size <- 100
z_critical <- 1.96  # El valor crítico Z para un nivel de confianza del 95%

# Realizar muestreo aleatorio simple para un promedio (media) con población desconocida
mean_sampling_result <- simple_random_mean_sampling_unknown(population_size, sample_size, z_critical)

# Imprimir resultados
cat("Muestra aleatoria simple:\n")
## Muestra aleatoria simple:
print(mean_sampling_result$sample_data)
##   [1] 328 552 905 375  18 493 963 640 153 461 599 271  67 263 804 220 631 353
##  [19] 838 767  19 170 110 452 304 117 303 821 475 669 340 853 478 984 569 952
##  [37] 679 824 525 864 262 198 393 763 914 996 907  11 968 722 596 922 158 925
##  [55] 579 172 886  45 755 315 551 591 892 307 251 639 948 325 533 995 232 248
##  [73] 563 370 748 749 466 825 323 419 882 961 792 615 277 344 261  36 699 391
##  [91] 842 921 697 230 781 536 427 919 469 462
cat("\nPromedio muestral:", mean_sampling_result$sample_mean, "\n")
## 
## Promedio muestral: 542.13
cat("Intervalo de confianza con Z =", z_critical, ":", mean_sampling_result$confidence_interval[1], "a", mean_sampling_result$confidence_interval[2])
## Intervalo de confianza con Z = 1.96 : 485.994 a 598.266