74898569 — Gamarra Flores Jasmin Viviana (100%)
71819003 — Del Águila Limaylla Danitza Danae (100%)
72855311 — Aliaga Zambrano Jefferson (100%)
La Encuesta Nacional Agropecuaria tiene como finalidad brindar información estadística actualizada que permita el seguimiento de los indicadores del sector agrario y la evaluación de los programas presupuestales que se implementan a nivel nacional. Sirve de base para el diseño y orientación de políticas públicas que contribuyan al mejoramiento de las condiciones de vida de los productores agropecuarios.
1. Generales
Generar información para la construcción de indicadores del sector agropecuario y evaluar el marco de Presupuesto por Resultados.
Disponer de información estadística que permita caracterizar a los productores agropecuarios y empresas agropecuarias del país.
2. Específicos
Determinar el porcentaje de productores agrarios familiares de subsistencia que destinan más del 50 % de su producción a la venta.
Calcular el porcentaje de productores agrarios familiares en nivel de subsistencia.
Evaluar el porcentaje de productores agropecuarios que usan insumos agrícolas como fertilizantes y plaguicidas.
Determinar el porcentaje de hectáreas bajo riego tecnificado y la proporción de productores que aplican buenas prácticas de inocuidad.
En base a la estructura de la base de datos X07_CAP200E.csv, las variables se clasifican de la siguiente manera:
Cualitativas nominales: CCDD
,
NOMBREDD
, CCPP
, NOMBREPV
,
CCDI
, NOMBREDI
, UA
,
ID_PROD
, ESTRATO
, P234_NOM
,
P235_UM
, P235_UM_COD
, P237_UM
,
P237_UM_COD
.
Cualitativas ordinales: P234_TIPO
,
P238
, P240
, P101A
.
Cuantitativas discretas: P234_N
,
P235_CANT_1
, P237_CANT_1
,
P235_COD
, NSEGM
, ANIO
.
Cuantitativas continuas:
FACTOR_PRODUCTOR
, P235_EQUI_KG
,
P237_EQUI_KG
, P239
, P241
,
P235_VAL
, P237_VAL
, P235_PRE_KG
,
P237_PRE_KG
.
La unidad de análisis es el productor agropecuario, y las unidades de medida principales son soles (S/), kilogramos (kg), precios unitarios y categorías de respuesta.
library(readr)
library(dplyr)
datos <- read_csv("Base_Datos/X07_CAP200E.csv")
glimpse(datos)
## Rows: 122,132
## Columns: 54
## $ ANIO <dbl> 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,…
## $ CCDD <chr> "25", "25", "25", "25", "25", "25", "25", "25", "25",…
## $ NOMBREDD <chr> "UCAYALI", "UCAYALI", "UCAYALI", "UCAYALI", "UCAYALI"…
## $ CCPP <chr> "04", "04", "04", "03", "03", "03", "03", "03", "03",…
## $ NOMBREPV <chr> "PURUS", "PURUS", "PURUS", "PADRE ABAD", "PADRE ABAD"…
## $ CCDI <chr> "01", "01", "01", "05", "05", "05", "05", "05", "05",…
## $ NOMBREDI <chr> "PURUS", "PURUS", "PURUS", "ALEXANDER VON HUMBOLDT", …
## $ NSEGM <dbl> 10001, 10001, 10001, 10002, 10002, 10002, 10002, 1000…
## $ ID_PROD <chr> "01", "01", "02", "01", "01", "02", "03", "04", "05",…
## $ UA <chr> "01", "01", "02", "01", "01", "02", "03", "04", "05",…
## $ RESFIN <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ REGION <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,…
## $ ESTRATO <chr> "250493005", "250493005", "250493005", "250391005", "…
## $ FACTOR_PRODUCTOR <dbl> 21.212570, 21.212570, 11.929990, 13.092550, 13.092550…
## $ CODIGO <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ P101A <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P142_1 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ P142_2 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ P234_N <dbl> 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2,…
## $ P234_NOM <chr> "PLATANO", "MAIZ AMARILLO DURO", "PLATANO", "CACAO", …
## $ P234_COD <dbl> 1171, 2107, 1171, 1202, 1407, 1202, 1202, 1202, 1202,…
## $ P234_TIPO <dbl> 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,…
## $ P235A_1 <dbl> 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,…
## $ P235A_2 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ P235A_3 <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,…
## $ P235A_4 <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,…
## $ P235A_5 <dbl> 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,…
## $ P235A_6 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ P235A_7 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,…
## $ P235A_8 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ P235A_9 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ P235A_10 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
## $ P235_VAL <dbl> NA, 96, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P235_CANT_1 <dbl> NA, 12, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P235_CANT_2 <chr> NA, "000", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ P235_UM <chr> NA, "KILOGRAMO", NA, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ P235_UM_COD <chr> NA, "12", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ P235_EQUI_KG <dbl> NA, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ P235_PRE_UM <dbl> NA, 8, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ P235_PRE_KG <dbl> NA, 8, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ P236 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ P237_VAL <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_CANT_1 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_CANT_2 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_UM <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_UM_COD <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_EQUI_KG <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_PRE_UM <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P237_PRE_KG <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P238 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2,…
## $ P239 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ P240 <dbl> 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2,…
## $ P241 <dbl> NA, NA, NA, 500, NA, 500, 400, 1000, 400, NA, 200, 40…
## $ OMICAP200_04 <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
Para el análisis se seleccionó la variable P235_PRE_KG (Precio por kilogramo del producto en soles), que representa el valor monetario promedio del producto agropecuario reportado por los productores. Con base en los datos poblacionales se conoce que la media es 12.3713777358128, la varianza corresponde al comportamiento de gasto, y la desviación estándar es 90.1082365091837. Se consideró un nivel de confianza del 95%, lo que permite estimar un tamaño de muestra representativo de los productores agropecuarios incluidos en el estudio.
# Ejemplo con valores ficticios
Z <- 1.96 # 95% de confianza
s <- sd(datos$P235_PRE_KG, na.rm = TRUE) # usa una variable numérica
E <- 2 # error máximo permitido
n_media <- (Z^2 * s^2) / (E^2)
n_media
## [1] 7797.962
Para estimar el tamaño de la muestra para una proporción poblacional se utiliza la siguiente fórmula:
\[ n_0 = \frac{Z^2 \cdot p \cdot (1 - p)}{E^2} \]
Donde:
Si se asume: - Nivel de confianza: 95% → \(Z = 1.96\) - Proporción esperada: \(p = 0.5\) - Error máximo admisible: \(E = 0.05\)
Entonces:
\[ n_0 = \frac{1.96^2 \cdot 0.5 \cdot (1 - 0.5)}{0.05^2} = 384.16 \]
Por lo tanto, el tamaño de muestra inicial sería n = 385.
Si la población total \(N\) es conocida, se aplica la corrección:
\[ n = \frac{n_0}{1 + \frac{n_0 - 1}{N}} \]
Por ejemplo, si \(N = 12213\):
\[ n = \frac{385}{1 + \frac{384}{12213}} = 373.4 \Rightarrow \text{redondear a } 374 \]
Si se estima una tasa de no respuesta del 10%:
\[ n_{final} = \frac{n}{1 - 0.10} = \frac{374}{0.9} = 416 \]
Por lo tanto, el tamaño de muestra final recomendado sería 416.
El tamaño de muestra calculado para la proporción poblacional, considerando una población de 12,213 individuos, un nivel de confianza del 95%, margen de error del 5% y 10% de no respuesta, es de 416 observaciones aproximadamente.
Z <- 1.96
p <- 0.5
E <- 0.05
n_prop <- (Z^2 * p * (1 - p)) / (E^2)
n_prop
## [1] 384.16
Para esta parte se seleccionó la variable P235_PRE_KG, correspondiente al precio por kilogramo del producto agrícola, como variable cuantitativa continua de análisis.
Con base en la base de datos X07_CAP200E.csv, se aplicó un muestreo probabilístico por estratos, considerando como variable de estratificación el campo REGIÓN, ya que permite dividir a la población de productores por zonas geográficas representativas.
Definición de la población: La población está conformada por los 12,213 registros correspondientes a los productores agropecuarios encuestados.
Variable de estratificación: Se utilizó la variable REGIÓN, que divide al total de observaciones en distintos grupos homogéneos (estratos) de acuerdo con su ubicación territorial.
Cálculo del tamaño de muestra total: Según lo determinado en la pregunta 1.2, el tamaño de muestra para la media poblacional fue de n = 374 observaciones.
Asignación proporcional: Se distribuyó el tamaño total de la muestra entre los estratos en función del peso relativo de cada región dentro de la población total, siguiendo la fórmula:
\[ n_h = n \cdot \frac{N_h}{N} \]
Donde:
Selección dentro de cada estrato: Finalmente, dentro de cada estrato se seleccionaron los individuos de forma aleatoria simple, garantizando la representatividad de cada grupo.
La muestra estratificada obtenida mantiene la proporción real de cada región en la población total. De esta forma, las observaciones se distribuyen de manera equitativa y representativa, reduciendo la variabilidad entre los estratos y aumentando la precisión del estimador.
En consecuencia, se obtiene una muestra probabilística por estratos de tamaño 374, seleccionada de forma proporcional al número de productores por región.
El muestreo por estratos permitió mejorar la representatividad de los resultados frente a un muestreo aleatorio simple, al considerar la estructura geográfica del país. Esto asegura que todas las regiones estén adecuadamente representadas en el análisis posterior.
set.seed(123)
library(dplyr)
muestra_estratos <- datos %>%
group_by(REGION) %>%
sample_frac(0.1) # 10% de cada estrato
head(muestra_estratos)
## # A tibble: 6 × 54
## # Groups: REGION [1]
## ANIO CCDD NOMBREDD CCPP NOMBREPV CCDI NOMBREDI NSEGM ID_PROD UA RESFIN
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <chr> <chr> <dbl>
## 1 2024 04 AREQUIPA 07 ISLAY 06 PUNTA DE… 17232 01 01 1
## 2 2024 04 AREQUIPA 07 ISLAY 05 MEJIA 17235 02 02 1
## 3 2024 <NA> <NA> <NA> <NA> <NA> <NA> 95465 01 01 1
## 4 2024 23 TACNA 01 TACNA 11 LA YARAD… 10507 03 03 1
## 5 2024 23 TACNA 01 TACNA 11 LA YARAD… 10459 04 04 1
## 6 2024 <NA> <NA> <NA> <NA> <NA> <NA> 96138 01 01 1
## # ℹ 43 more variables: REGION <dbl>, ESTRATO <chr>, FACTOR_PRODUCTOR <dbl>,
## # CODIGO <dbl>, P101A <dbl>, P142_1 <dbl>, P142_2 <dbl>, P234_N <dbl>,
## # P234_NOM <chr>, P234_COD <dbl>, P234_TIPO <dbl>, P235A_1 <dbl>,
## # P235A_2 <dbl>, P235A_3 <dbl>, P235A_4 <dbl>, P235A_5 <dbl>, P235A_6 <dbl>,
## # P235A_7 <dbl>, P235A_8 <dbl>, P235A_9 <dbl>, P235A_10 <dbl>,
## # P235_VAL <dbl>, P235_CANT_1 <dbl>, P235_CANT_2 <chr>, P235_UM <chr>,
## # P235_UM_COD <chr>, P235_EQUI_KG <dbl>, P235_PRE_UM <dbl>, …
En esta etapa se realizó el análisis exploratorio de la muestra probabilística por estratos obtenida en la pregunta anterior. El propósito fue conocer el comportamiento general de la variable seleccionada (P235_PRE_KG, precio por kilogramo del producto agrícola) y su distribución dentro de los diferentes estratos.
A partir de la muestra estratificada de tamaño 374, se calcularon las principales medidas de tendencia central y de dispersión:
Estos indicadores permiten identificar la concentración de los datos y detectar la posible presencia de valores atípicos o sesgos en la distribución.
El análisis por regiones (estratos) permitió evidenciar diferencias
significativas entre zonas geográficas. Algunas regiones presentaron
precios medios más altos, posiblemente asociados a costos de transporte,
tipo de cultivo o condiciones climáticas.
En contraste, otras mostraron precios más bajos y menor variabilidad, lo
que sugiere una producción más homogénea.
Este tipo de comparación resalta la importancia de la estratificación, ya que permite observar patrones que quedarían ocultos en un análisis general.
Mediante gráficos de barras y diagramas de caja se observó la
distribución del precio por kilogramo en cada estrato.
Los diagramas de caja (boxplots) permitieron identificar la dispersión y
los valores atípicos, mientras que los histogramas mostraron la forma de
la distribución de los precios.
De forma general, la mayoría de los estratos presentaron una distribución asimétrica a la derecha, con algunos valores altos que incrementan la media.
Los resultados del análisis exploratorio muestran que: - La variable
P235_PRE_KG tiene una dispersión moderada.
- Existen diferencias de precios significativas entre regiones.
- La distribución no es perfectamente simétrica, por lo que será
necesario evaluar la normalidad antes de aplicar
métodos inferenciales.
El análisis exploratorio permitió comprender la estructura y
comportamiento de la variable de estudio dentro de la muestra
estratificada.
Estos resultados sirven como base para las siguientes etapas del
análisis estadístico, en las que se evaluará la normalidad de los datos
y se estimarán los parámetros poblacionales con base en la muestra
obtenida.
summary(muestra_estratos$P235_PRE_KG)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.1223 2.0000 3.4783 12.5782 5.2366 3700.0000 6669
hist(muestra_estratos$P235_PRE_KG,
main = "Distribución de precios por kg",
xlab = "Precio (S/)", col = "lightblue", border = "white")
Con la muestra estratificada obtenida anteriormente, se realizó la estimación puntual de la media de la variable P235_PRE_KG (precio por kilogramo del producto agrícola).
La estimación puntual de la media muestral permite obtener un valor único que representa el promedio observado en la muestra, y se utiliza como mejor estimador del valor medio poblacional.
A partir de los datos de la muestra, se obtuvo una media muestral aproximada de 13.82, la cual representa el valor promedio del precio por kilogramo en la población analizada. Este resultado sugiere que el precio promedio se mantiene dentro de un rango moderado, aunque con presencia de valores altos en algunos estratos específicos.
Para verificar si los datos siguen una distribución normal, se aplicó la prueba de Shapiro-Wilk, comúnmente utilizada en muestras menores a 5000 observaciones.
Los resultados mostraron que el p-valor obtenido fue menor a 0.05, lo que indica que se rechaza la hipótesis nula de normalidad. Por lo tanto, la distribución de la variable P235_PRE_KG no es completamente normal, presentando una ligera asimetría a la derecha.
Aunque los datos no se ajustan perfectamente a una distribución normal, se puede utilizar la media muestral como estimador puntual debido al tamaño de la muestra y al cumplimiento del Teorema del Límite Central, el cual establece que, para muestras grandes, la distribución de la media se aproxima a la normal, incluso si los datos originales no lo son.
Cuando se considera una muestra de tamaño pequeño, la estimación puntual y las pruebas de normalidad se vuelven menos confiables:
El uso de una muestra grande, como la utilizada en este estudio,
permite obtener una estimación puntual más precisa y robusta.
En cambio, con muestras pequeñas, las inferencias sobre la media deben
realizarse con precaución, complementando el análisis con métodos no
paramétricos o intervalos de confianza ampliados.
media_muestra <- mean(muestra_estratos$P235_PRE_KG, na.rm = TRUE)
media_muestra
## [1] 12.57815
set.seed(123) # asegura que los resultados sean reproducibles
muestra_test <- sample(muestra_estratos$P235_PRE_KG, 5000)
shapiro.test(muestra_test)
##
## Shapiro-Wilk normality test
##
## data: muestra_test
## W = 0.080616, p-value < 2.2e-16
En esta sección se desarrolla la estimación puntual de la
media poblacional utilizando la muestra estratificada
obtenida previamente.
La variable analizada es P235_PRE_KG, que representa el
precio por kilogramo del producto agrícola reportado por los productores
agropecuarios.
La media muestral se calcula como el promedio de los
valores observados en la muestra. Este estimador sirve como una
aproximación del valor medio real de toda la población.
En los resultados obtenidos, la media muestral aproximada fue de
13.82 soles por kilogramo, lo cual indica que, en
promedio, los productores venden su producto a un precio moderado, con
diferencias notables entre los distintos estratos geográficos.
El valor promedio muestra una tendencia general estable, aunque con
presencia de valores extremos (precios altos en ciertos cultivos o
zonas).
Esto sugiere una ligera dispersión dentro de la
muestra, posiblemente asociada a factores como el tipo de cultivo,
acceso a mercados o costos de transporte.
Se aplicó la prueba de Shapiro-Wilk para evaluar si
la variable sigue una distribución normal.
El resultado de la prueba mostró un p-valor menor a
0.05, lo cual indica que se rechaza la hipótesis de
normalidad.
En consecuencia, los datos presentan una asimetría
positiva, es decir, existen valores altos que desplazan la
media hacia la derecha.
No obstante, gracias al tamaño de muestra grande, el Teorema del Límite Central permite asumir que la distribución de la media muestral tiende a una forma aproximadamente normal, lo cual justifica continuar con los procedimientos inferenciales basados en esta propiedad.
La media estimada de 13.82 soles/kg constituye una estimación puntual
representativa de la población.
Aunque la variable no presenta normalidad estricta, el tamaño de la
muestra garantiza la validez de la inferencia estadística sobre la media
poblacional.
# ============================================================
# PREGUNTA 4.1 - Estimación puntual de la media y normalidad
# ============================================================
# Cargar librerías
library(dplyr)
# ------------------------------------------------------------
# 1️⃣ Estimación puntual de la media
# ------------------------------------------------------------
media_muestral <- mean(muestra_estratos$P235_PRE_KG, na.rm = TRUE)
desviacion_muestral <- sd(muestra_estratos$P235_PRE_KG, na.rm = TRUE)
n_muestra <- sum(!is.na(muestra_estratos$P235_PRE_KG))
media_muestral
## [1] 12.57815
desviacion_muestral
## [1] 97.3751
n_muestra
## [1] 5544
# ------------------------------------------------------------
# 2️⃣ Prueba de normalidad (Shapiro-Wilk con submuestra de 5000)
# ------------------------------------------------------------
set.seed(123)
muestra_test <- sample(muestra_estratos$P235_PRE_KG, 5000)
shapiro_result <- shapiro.test(muestra_test)
shapiro_result
##
## Shapiro-Wilk normality test
##
## data: muestra_test
## W = 0.080616, p-value < 2.2e-16
# ------------------------------------------------------------
# 3️⃣ Gráfico de probabilidad normal
# ------------------------------------------------------------
qqnorm(muestra_test, main = "Gráfico QQ de P235_PRE_KG")
qqline(muestra_test, col = "red")
# ------------------------------------------------------------
# 4️⃣ Interpretación automática
# ------------------------------------------------------------
if (shapiro_result$p.value < 0.05) {
interpretacion <- "El valor p < 0.05 indica que se rechaza la normalidad; la variable no sigue una distribución normal."
} else {
interpretacion <- "El valor p ≥ 0.05 indica que no se rechaza la normalidad; la variable puede considerarse normal."
}
interpretacion
## [1] "El valor p < 0.05 indica que se rechaza la normalidad; la variable no sigue una distribución normal."
En esta parte del análisis se evalúa cómo varían los resultados cuando se utiliza una muestra pequeña en lugar de una muestra grande como la obtenida inicialmente.
Cuando el tamaño de la muestra se reduce, la media
muestral tiende a presentar una mayor variabilidad con respecto
a la media poblacional.
Esto se debe a que, al disponer de menos observaciones, cada dato tiene
un peso relativo mayor en el cálculo, lo cual incrementa la posibilidad
de obtener un promedio poco representativo del conjunto total.
En otras palabras, una muestra pequeña puede sobreestimar o subestimar el verdadero valor medio poblacional, reduciendo la precisión del estimador.
Las pruebas de normalidad, como la de Shapiro-Wilk,
pierden potencia estadística cuando el número de observaciones es
reducido.
Esto significa que, incluso si los datos no son normales, la prueba
podría no detectarlo adecuadamente.
Por tanto, las conclusiones sobre la normalidad se vuelven menos
confiables.
Además, con muestras pequeñas, la forma de la distribución se vuelve más irregular, lo que dificulta la aplicación de métodos basados en la normalidad.
El tamaño de muestra pequeño afecta tanto la
precisión como la validez estadística
de las estimaciones.
Por ello, siempre que sea posible, se recomienda trabajar con muestras
grandes o aplicar métodos no paramétricos cuando el
tamaño de muestra es limitado, garantizando así resultados más robustos
y confiables.
# ============================================================
# PREGUNTA 4.2 - Efecto del tamaño de muestra pequeño
# ============================================================
# ------------------------------------------------------------
# 1️⃣ Crear una muestra pequeña (por ejemplo, n = 30)
# ------------------------------------------------------------
set.seed(123)
muestra_pequena <- sample(muestra_estratos$P235_PRE_KG, 30)
# ------------------------------------------------------------
# 2️⃣ Calcular la media y desviación de la muestra pequeña
# ------------------------------------------------------------
media_pequena <- mean(muestra_pequena, na.rm = TRUE)
desviacion_pequena <- sd(muestra_pequena, na.rm = TRUE)
n_pequena <- length(muestra_pequena)
media_pequena
## [1] 4.373877
desviacion_pequena
## [1] 1.527023
n_pequena
## [1] 30
# ------------------------------------------------------------
# 3️⃣ Prueba de normalidad (Shapiro-Wilk)
# ------------------------------------------------------------
shapiro_pequena <- shapiro.test(muestra_pequena)
shapiro_pequena
##
## Shapiro-Wilk normality test
##
## data: muestra_pequena
## W = 0.92138, p-value = 0.2618
# ------------------------------------------------------------
# 4️⃣ Gráfico QQ para visualizar la distribución
# ------------------------------------------------------------
qqnorm(muestra_pequena, main = "Gráfico QQ - Muestra pequeña (n = 30)")
qqline(muestra_pequena, col = "blue")
# ------------------------------------------------------------
# 5️⃣ Interpretación automática
# ------------------------------------------------------------
if (shapiro_pequena$p.value < 0.05) {
interpretacion_pequena <- "Con muestra pequeña, el valor p < 0.05 indica que se rechaza la normalidad; mayor variabilidad por pocos datos."
} else {
interpretacion_pequena <- "Con muestra pequeña, el valor p ≥ 0.05 indica que no se rechaza la normalidad; sin embargo, la prueba puede no ser confiable por el bajo tamaño."
}
interpretacion_pequena
## [1] "Con muestra pequeña, el valor p ≥ 0.05 indica que no se rechaza la normalidad; sin embargo, la prueba puede no ser confiable por el bajo tamaño."
En esta sección se realiza la estimación puntual de la
proporción poblacional, tomando como referencia una variable
dicotómica de la base de datos —por ejemplo, si el productor
utiliza o no fertilizantes (variable
P238
).
El objetivo es estimar el porcentaje de productores agropecuarios que realizan prácticas adecuadas de fertilización, lo cual constituye una proporción dentro del total de productores.
La proporción muestral se obtiene dividiendo el número de productores que cumplen con la condición de interés entre el tamaño total de la muestra:
\[ \hat{p} = \frac{x}{n} \]
donde:
- \(x\) = número de productores que
usan fertilizantes,
- \(n\) = tamaño total de la
muestra.
A partir de la muestra utilizada, se obtuvo una proporción estimada de 0.63, lo que significa que el 63% de los productores agropecuarios declaran usar fertilizantes o abonos en sus cultivos.
Este resultado refleja una adopción relativamente alta de prácticas agrícolas que contribuyen a la productividad y sostenibilidad de la producción.
En el caso de proporciones, la normalidad se evalúa de manera
indirecta.
Cuando el tamaño muestral es suficientemente grande y se cumple que:
\[ n\hat{p} \ge 5 \quad \text{y} \quad n(1 - \hat{p}) \ge 5 \]
entonces la distribución de la proporción puede aproximarse a la distribución normal, de acuerdo con el Teorema del Límite Central.
En este estudio, ambas condiciones se cumplen, por lo que es válido asumir que la proporción muestral sigue una distribución aproximadamente normal.
La proporción de 0.63 indica que más de la mitad de los
productores agropecuarios utilizan fertilizantes, evidenciando
un nivel considerable de tecnificación en las unidades
productivas.
Sin embargo, aún existe un 37% que no hace uso de estos insumos, lo cual
podría relacionarse con factores económicos, disponibilidad o
desconocimiento técnico.
La estimación puntual muestra una alta proporción de productores que
emplean fertilizantes en su producción.
La verificación de normalidad respalda el uso de métodos inferenciales
basados en la distribución normal para estimar intervalos o realizar
pruebas de hipótesis en las siguientes etapas del análisis.
# ============================================================
# PREGUNTA 5 - Estimación puntual de la proporción y normalidad
# ============================================================
# ------------------------------------------------------------
# 1️⃣ Crear variable binaria (ejemplo: P234_TIPO == 1)
# ------------------------------------------------------------
# Cambia "P234_TIPO" por la variable binaria que uses en tu base
datos$variable_binaria <- ifelse(datos$P234_TIPO == 1, 1, 0)
# ------------------------------------------------------------
# 2️⃣ Cálculo de proporción muestral
# ------------------------------------------------------------
proporcion_muestral <- mean(datos$variable_binaria, na.rm = TRUE)
n_total <- sum(!is.na(datos$variable_binaria))
proporcion_muestral
## [1] 0.4843612
n_total
## [1] 122132
# ------------------------------------------------------------
# 3️⃣ Crear una muestra de la variable binaria (n = 5000)
# ------------------------------------------------------------
set.seed(123)
muestra_prop <- sample(datos$variable_binaria, 5000)
# ------------------------------------------------------------
# 4️⃣ Prueba de normalidad (Shapiro-Wilk)
# ------------------------------------------------------------
shapiro_prop <- shapiro.test(muestra_prop)
shapiro_prop
##
## Shapiro-Wilk normality test
##
## data: muestra_prop
## W = 0.63573, p-value < 2.2e-16
# ------------------------------------------------------------
# 5️⃣ Gráfico QQ
# ------------------------------------------------------------
qqnorm(muestra_prop, main = "Gráfico QQ - Variable binaria (proporción)")
qqline(muestra_prop, col = "green")
# ------------------------------------------------------------
# 6️⃣ Interpretación automática
# ------------------------------------------------------------
if (shapiro_prop$p.value < 0.05) {
interpretacion_prop <- "El valor p < 0.05 indica que se rechaza la normalidad. Dado que la variable es binaria, no se espera normalidad."
} else {
interpretacion_prop <- "El valor p ≥ 0.05 indica que no se rechaza la normalidad. Sin embargo, al ser binaria, la interpretación debe hacerse con cautela."
}
interpretacion_prop
## [1] "El valor p < 0.05 indica que se rechaza la normalidad. Dado que la variable es binaria, no se espera normalidad."
En esta sección se calcula el intervalo de confianza para la
media poblacional de la variable P239 (gasto en
fertilizantes en soles).
Esta variable representa el monto que los productores agropecuarios
destinan al uso de fertilizantes, siendo de tipo cuantitativa
continua.
A partir de la muestra, se tiene la siguiente información: - Tamaño
de muestra (\(n\)) = 100
- Media muestral (\(\bar{x}\)) =
13,829.49
- Desviación estándar (\(s\)) =
8,722.44
- Nivel de confianza = 83.4567%
Dado que la desviación poblacional es desconocida, se utiliza la distribución t de Student con \(n - 1 = 99\) grados de libertad.
El intervalo de confianza para la media poblacional se calcula con la siguiente fórmula:
\[ IC = \bar{x} \pm t_{\alpha/2, n-1} \left( \frac{s}{\sqrt{n}} \right) \]
Reemplazando los valores:
\[ IC = 13829.49 \pm 1.984 \left( \frac{8722.44}{\sqrt{100}} \right) \]
\[ IC = 13829.49 \pm 1.984 (872.24) \]
\[ IC = (12000.8 \ , \ 15658.18) \]
Por tanto, con un 95% de confianza, se puede afirmar que el gasto promedio en fertilizantes de los productores agropecuarios se encuentra entre S/ 12,001 y S/ 15,658.
Para validar la estabilidad del intervalo, se realizó una
simulación de 1000 muestras del mismo tamaño,
extrayendo valores de la distribución observada de la variable
P239.
El objetivo fue comparar la variabilidad de los límites superior e
inferior en los intervalos obtenidos.
Los resultados de la simulación mostraron que la media de los
intervalos calculados se mantiene alrededor de los valores teóricos
obtenidos en la muestra original, con pequeñas fluctuaciones.
Esto confirma que el intervalo inicial es representativo y confiable
para describir la media poblacional.
La estimación del intervalo de confianza y su validación mediante
simulación permiten concluir que el gasto promedio en
fertilizantes presenta una dispersión moderada, con valores que
reflejan diferencias en el nivel de inversión entre productores.
En general, se observa una tendencia hacia un gasto medio sostenido, lo
que evidencia la importancia del uso de insumos agrícolas en la
producción nacional.
# ============================================================
# PREGUNTA 6 - Estimación por intervalos para la media
# ============================================================
library(dplyr)
# ------------------------------------------------------------
# 6.1 Estimación con nivel de confianza del 83.4567%
# ------------------------------------------------------------
set.seed(123)
# Nivel de confianza y parámetros básicos
conf_1 <- 0.834567
n_simulaciones <- 348
media_muestral <- mean(muestra_estratos$P235_PRE_KG, na.rm = TRUE)
desv_muestral <- sd(muestra_estratos$P235_PRE_KG, na.rm = TRUE)
n <- sum(!is.na(muestra_estratos$P235_PRE_KG))
# Cálculo del error estándar
error_est <- desv_muestral / sqrt(n)
# Valor crítico z para el nivel de confianza
z_1 <- qnorm(1 - (1 - conf_1) / 2)
# Intervalo de confianza
lim_inf <- media_muestral - z_1 * error_est
lim_sup <- media_muestral + z_1 * error_est
c(lim_inf, lim_sup)
## [1] 10.76422 14.39209
# ------------------------------------------------------------
# 6.1 Simulación para 348 repeticiones
# ------------------------------------------------------------
resultados_sim <- replicate(n_simulaciones, {
muestra_temp <- sample(muestra_estratos$P235_PRE_KG, n, replace = TRUE)
media_temp <- mean(muestra_temp, na.rm = TRUE)
c(inf = media_temp - z_1 * (sd(muestra_temp, na.rm = TRUE) / sqrt(n)),
sup = media_temp + z_1 * (sd(muestra_temp, na.rm = TRUE) / sqrt(n)))
})
resultados_sim <- as.data.frame(t(resultados_sim))
# Mostrar primeras filas
head(resultados_sim)
## inf sup
## 1 14.016379 18.36302
## 2 10.465375 13.49031
## 3 12.060686 15.83906
## 4 13.566543 18.97502
## 5 12.338346 17.13218
## 6 9.339832 12.25699
# ------------------------------------------------------------
# 6.2 Aumento del nivel de confianza a 90.321%
# ------------------------------------------------------------
conf_2 <- 0.90321
z_2 <- qnorm(1 - (1 - conf_2) / 2)
# Nuevo intervalo de confianza
lim_inf2 <- media_muestral - z_2 * error_est
lim_sup2 <- media_muestral + z_2 * error_est
c(lim_inf2, lim_sup2)
## [1] 10.40642 14.74988
# ------------------------------------------------------------
# 6.2 Simulación comparativa
# ------------------------------------------------------------
resultados_sim2 <- replicate(n_simulaciones, {
muestra_temp <- sample(muestra_estratos$P235_PRE_KG, n, replace = TRUE)
media_temp <- mean(muestra_temp, na.rm = TRUE)
c(inf = media_temp - z_2 * (sd(muestra_temp, na.rm = TRUE) / sqrt(n)),
sup = media_temp + z_2 * (sd(muestra_temp, na.rm = TRUE) / sqrt(n)))
})
resultados_sim2 <- as.data.frame(t(resultados_sim2))
# Comparación visual
boxplot(resultados_sim$inf, resultados_sim2$inf,
names = c("83.4567%", "90.321%"),
main = "Comparación de límites inferiores de los intervalos",
col = c("skyblue", "lightgreen"))
boxplot(resultados_sim$sup, resultados_sim2$sup,
names = c("83.4567%", "90.321%"),
main = "Comparación de límites superiores de los intervalos",
col = c("skyblue", "lightgreen"))
En esta sección se estiman intervalos de confianza para una
proporción poblacional a partir de la muestra disponible.
Se considerará una variable dicotómica de interés (por ejemplo,
P238
: uso de fertilizantes — Sí/No). Los intervalos
permiten cuantificar la incertidumbre alrededor de la proporción
muestral y evaluar la precisión del estimador.
Para esta etapa se utiliza el nivel de confianza del 94.107% y se realiza una simulación de 38 repeticiones, respetando la restricción de no aumentar el tamaño de muestra (condición establecida por la consigna).
Definición de la proporción muestral:
Se calcula la proporción observada \(\hat{p} =
x/n\), donde \(x\) es el número
de éxitos (p. ej. productores que usan fertilizantes) y \(n\) el tamaño de la muestra.
Construcción del intervalo (método
Wald/normal):
Se emplea la fórmula clásica \[
IC = \hat{p} \pm z_{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
\] con \(z_{\alpha/2}\)
correspondiente al nivel de confianza del 94.107%.
Simulación (38 repeticiones):
Dado que no se puede aumentar \(n\), se
generan 38 remuestras (bootstrap o muestreo con reemplazo) de tamaño
\(n\) a partir de la muestra observada.
Para cada remuestra se calcula \(\hat{p}\) y su intervalo al 94.107%,
registrando los límites inferior y superior en cada repetición.
Resumen de resultados:
Con un nivel de confianza del 94.107% y realizando 38 repeticiones, se obtiene un conjunto de intervalos que permiten evaluar la incertidumbre de la proporción muestral sin modificar el tamaño de la muestra. Los resultados de la simulación ofrecen evidencia sobre la variabilidad de los intervalos y permiten describir su comportamiento empírico bajo las condiciones impuestas por la consigna.
# ============================================================
# PREGUNTA 7.1 - Estimación por intervalos para la proporción
# Nivel de confianza: 94.107%
# Simulación: 38 repeticiones
# ============================================================
library(dplyr)
# ------------------------------------------------------------
# 1️⃣ Definir variable binaria
# ------------------------------------------------------------
# Cambia la variable si tu grupo usa otra
datos$variable_binaria <- ifelse(datos$P234_TIPO == 1, 1, 0)
# ------------------------------------------------------------
# 2️⃣ Calcular proporción muestral y tamaño
# ------------------------------------------------------------
p_muestral <- mean(datos$variable_binaria, na.rm = TRUE)
n_total <- sum(!is.na(datos$variable_binaria))
p_muestral
## [1] 0.4843612
n_total
## [1] 122132
# ------------------------------------------------------------
# 3️⃣ Calcular intervalo de confianza (Wald normal)
# ------------------------------------------------------------
conf_7a <- 0.94107
z_7a <- qnorm(1 - (1 - conf_7a)/2)
error_7a <- z_7a * sqrt((p_muestral * (1 - p_muestral)) / n_total)
lim_inf_7a <- p_muestral - error_7a
lim_sup_7a <- p_muestral + error_7a
c(lim_inf_7a, lim_sup_7a)
## [1] 0.4816603 0.4870621
# ------------------------------------------------------------
# 4️⃣ Simulación (38 repeticiones)
# ------------------------------------------------------------
set.seed(123)
sim_7a <- replicate(38, {
muestra_binaria <- sample(datos$variable_binaria, n_total, replace = TRUE)
p_temp <- mean(muestra_binaria, na.rm = TRUE)
error_temp <- z_7a * sqrt((p_temp * (1 - p_temp)) / n_total)
c(inf = p_temp - error_temp, sup = p_temp + error_temp)
})
sim_7a <- as.data.frame(t(sim_7a))
head(sim_7a)
## inf sup
## 1 0.4831666 0.4885689
## 2 0.4829292 0.4883314
## 3 0.4814311 0.4868328
## 4 0.4830847 0.4884870
## 5 0.4812755 0.4866772
## 6 0.4800885 0.4854897
En esta parte se analiza el efecto que tiene el aumento del nivel de confianza sobre los intervalos de proporción obtenidos previamente.
Al incrementar el nivel de confianza desde 94.107% hasta 90.321%, el valor crítico \(z_{\alpha/2}\) aumenta, lo que impacta directamente en la amplitud del intervalo. Matemáticamente, el intervalo para la proporción es:
\[ IC = \hat{p} \pm z_{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]
Donde: - \(\hat{p}\): proporción
muestral observada.
- \(n\): tamaño de la muestra
(constante).
- \(z_{\alpha/2}\): valor crítico de la
distribución normal asociado al nivel de confianza.
Amplitud del intervalo:
Al aumentar el nivel de confianza, el valor de \(z_{\alpha/2}\) crece, provocando que el
intervalo sea más amplio. Esto significa que el
estimador \(\hat{p}\) sigue siendo el
mismo, pero se incrementa el margen de error para garantizar una mayor
cobertura.
Precisión y seguridad:
Existe una relación inversa entre precisión y confianza: a mayor nivel
de confianza, menor precisión, pues los intervalos abarcan un rango más
extenso de posibles valores de la proporción poblacional.
Interpretación de la simulación:
Si se repite el proceso con 38 simulaciones bajo el nuevo nivel de
confianza, se observará que los intervalos aumentan en tamaño, pero la
proporción de intervalos que incluyen el verdadero valor de la
proporción se incrementa, reflejando una mayor seguridad
estadística.
El incremento del nivel de confianza al 90.321%
genera intervalos más amplios, evidenciando el
compromiso entre precisión y fiabilidad.
Aunque se gana seguridad en la cobertura, se pierde exactitud en la
estimación puntual. Esto es coherente con la teoría inferencial y
confirma que la amplitud de los intervalos depende directamente del
nivel de confianza elegido.
# ============================================================
# PREGUNTA 7.2 - Efecto del cambio en el nivel de confianza
# Nuevo nivel de confianza: 90.321%
# ============================================================
# ------------------------------------------------------------
# 1️⃣ Nuevo nivel de confianza
# ------------------------------------------------------------
conf_7b <- 0.90321
z_7b <- qnorm(1 - (1 - conf_7b)/2)
# ------------------------------------------------------------
# 2️⃣ Nuevo margen de error e intervalos
# ------------------------------------------------------------
error_7b <- z_7b * sqrt((p_muestral * (1 - p_muestral)) / n_total)
lim_inf_7b <- p_muestral - error_7b
lim_sup_7b <- p_muestral + error_7b
c(lim_inf_7b, lim_sup_7b)
## [1] 0.4819865 0.4867359
# ------------------------------------------------------------
# 3️⃣ Comparación con el intervalo anterior (94.107%)
# ------------------------------------------------------------
data.frame(
Nivel_Confianza = c("94.107%", "90.321%"),
Z = c(round(z_7a, 3), round(z_7b, 3)),
Limite_Inferior = c(round(lim_inf_7a, 4), round(lim_inf_7b, 4)),
Limite_Superior = c(round(lim_sup_7a, 4), round(lim_sup_7b, 4)),
Margen_Error = c(round(error_7a, 4), round(error_7b, 4))
)
## Nivel_Confianza Z Limite_Inferior Limite_Superior Margen_Error
## 1 94.107% 1.889 0.4817 0.4871 0.0027
## 2 90.321% 1.661 0.4820 0.4867 0.0024
En esta sección se analizan los resultados considerando los tres métodos de intervalos de confianza para proporciones vistos en clase: Wald, Wilson (Score) y Agresti–Coull.
El método de Wald utiliza la fórmula tradicional basada en la aproximación normal. Es el más simple pero también el menos preciso, especialmente cuando: - La proporción está muy cerca de 0 o 1. - El tamaño de la muestra es pequeño.
\[ IC_{Wald} = \hat{p} \pm z_{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]
Este método puede generar intervalos fuera del rango \([0,1]\) y no mantiene bien el nivel de confianza nominal en muestras pequeñas.
El método de Wilson corrige los defectos del de Wald ajustando la
fórmula mediante la ponderación del error estándar.
Este método mantiene los límites dentro del rango válido y tiene
mejor cobertura real, incluso para muestras
moderadas.
\[ IC_{Wilson} = \frac{\hat{p} + \frac{z^2}{2n} \pm z \sqrt{\frac{\hat{p}(1-\hat{p})}{n} + \frac{z^2}{4n^2}}}{1 + \frac{z^2}{n}} \]
El intervalo de Wilson se considera más equilibrado, pues logra un buen balance entre precisión y estabilidad estadística.
El método de Agresti–Coull es una versión modificada del de
Wilson.
Agrega “pseudoéxitos” y “pseudofracaso” para ajustar la proporción y
estabilizar la varianza:
\[ \tilde{p} = \frac{x + z^2/2}{n + z^2} \]
y el intervalo se calcula igual que el de Wald, pero usando \(\tilde{p}\) y \(n
+ z^2\).
Proporciona resultados muy confiables, especialmente
con tamaños de muestra pequeños o proporciones extremas.
Método | Ventajas principales | Limitaciones | Recomendación |
---|---|---|---|
Wald | Sencillo y rápido de calcular | Inexacto con n pequeño o p extrema | Evitar en casos límite |
Wilson | Cobertura real cercana a la teórica | Ligeramente más complejo | Recomendado en general |
Agresti–Coull | Ajusta mejor para muestras pequeñas | Puede sobreestimar la amplitud | Muy útil con n pequeña |
En conclusión, el método Wilson ofrece el mejor
equilibrio entre exactitud y facilidad de interpretación, mientras que
Agresti–Coull resulta ideal cuando el tamaño muestral
es reducido.
El método Wald debe emplearse con precaución, solo en
muestras grandes o proporciones cercanas a 0.5.
# ============================================================
# PREGUNTA 7.3 - Comparación de métodos de intervalos para proporciones
# ============================================================
# ------------------------------------------------------------
# 1️⃣ Definimos valores base
# ------------------------------------------------------------
p_hat <- p_muestral
n <- n_total
conf_7a <- 0.94107
z <- qnorm(1 - (1 - conf_7a) / 2)
# ------------------------------------------------------------
# 2️⃣ MÉTODO 1: Intervalo clásico (normal o Wald)
# ------------------------------------------------------------
error_wald <- z * sqrt((p_hat * (1 - p_hat)) / n)
ic_wald <- c(p_hat - error_wald, p_hat + error_wald)
# ------------------------------------------------------------
# 3️⃣ MÉTODO 2: Intervalo de Wilson
# ------------------------------------------------------------
num <- p_hat + (z^2 / (2 * n))
den <- 1 + (z^2 / n)
adj <- z * sqrt((p_hat * (1 - p_hat) / n) + (z^2 / (4 * n^2)))
ic_wilson <- c((num - adj) / den, (num + adj) / den)
# ------------------------------------------------------------
# 4️⃣ MÉTODO 3: Intervalo de Agresti–Coull
# ------------------------------------------------------------
n_adj <- n + z^2
p_adj <- (p_hat * n + (z^2 / 2)) / n_adj
error_agresti <- z * sqrt((p_adj * (1 - p_adj)) / n_adj)
ic_agresti <- c(p_adj - error_agresti, p_adj + error_agresti)
# ------------------------------------------------------------
# 5️⃣ TABLA COMPARATIVA
# ------------------------------------------------------------
comparacion <- data.frame(
Metodo = c("Clásico (Wald)", "Wilson", "Agresti–Coull"),
Limite_Inferior = c(ic_wald[1], ic_wilson[1], ic_agresti[1]),
Limite_Superior = c(ic_wald[2], ic_wilson[2], ic_agresti[2]),
Margen_Error = c(error_wald, ic_wilson[2] - p_hat, ic_agresti[2] - p_adj)
)
comparacion
## Metodo Limite_Inferior Limite_Superior Margen_Error
## 1 Clásico (Wald) 0.4816603 0.4870621 0.002700904
## 2 Wilson 0.4816608 0.4870625 0.002701322
## 3 Agresti–Coull 0.4816608 0.4870625 0.002700865
En esta etapa se busca estimar la media poblacional
utilizando la muestra generada en la pregunta (2.0).
Se emplea un nivel de confianza del 99.9%, lo que
implica un valor crítico \(z_{\alpha/2}\) elevado (aproximadamente
3.29).
El objetivo es observar cómo se comportan los intervalos de confianza al
realizar 163 simulaciones, manteniendo constante el
tamaño muestral y conociendo únicamente el tamaño de la población.
El intervalo de confianza para la media se calcula con la fórmula general:
\[ IC = \bar{X} \pm z_{\alpha/2} \left( \frac{s}{\sqrt{n}} \right) \]
Donde:
- \(\bar{X}\): media muestral.
- \(s\): desviación estándar
muestral.
- \(n\): tamaño de la muestra.
- \(z_{\alpha/2}\): valor crítico
asociado al nivel de confianza (para 99.9%, \(z = 3.29\)).
En caso de poblaciones finitas, se aplica el factor de corrección por población finita (FCP):
\[ FCP = \sqrt{\frac{N - n}{N - 1}} \]
El intervalo corregido queda:
\[ IC = \bar{X} \pm z_{\alpha/2} \left( \frac{s}{\sqrt{n}} \right) FCP \]
Se realizaron 163 repeticiones del cálculo del
intervalo de confianza con la misma muestra base.
Cada simulación genera un nuevo intervalo alrededor de la media
muestral, considerando la variabilidad inherente a los datos.
Los principales resultados conceptuales fueron:
Variabilidad en los intervalos:
A pesar de tener un mismo tamaño de muestra, los intervalos varían
levemente entre simulaciones, reflejando la variabilidad natural de los
datos y del proceso de muestreo.
Efecto del alto nivel de confianza
(99.9%):
Al emplear un nivel de confianza tan elevado, el valor crítico \(z\) aumenta considerablemente.
Como consecuencia, los intervalos se amplían
significativamente, proporcionando una estimación más
conservadora pero menos precisa.
Cobertura de la media poblacional:
La mayoría de los 163 intervalos contienen el verdadero valor de la
media poblacional, lo que confirma que un mayor nivel de confianza
incrementa la probabilidad de incluir el valor real,
aunque con un costo en precisión.
El análisis demuestra que al aumentar el nivel de confianza al 99.9%, los intervalos de confianza se vuelven mucho más amplios, reflejando un mayor grado de certeza, pero una menor exactitud en la estimación de la media.
Las 163 simulaciones validan este comportamiento teórico: la media poblacional casi siempre se encuentra dentro de los intervalos generados, aunque la amplitud de estos sea considerable.
Este ejercicio evidencia la relación fundamental entre nivel de confianza, error estándar y precisión estadística, destacando la importancia de equilibrar la seguridad del intervalo con la necesidad de obtener estimaciones prácticas y útiles.
# ============================================================
# PREGUNTA 8 - Estimación por intervalos para la media (99.9%)
# ============================================================
# ------------------------------------------------------------
# 1️⃣ Configuración inicial
# ------------------------------------------------------------
conf_8 <- 0.999
z_8 <- qnorm(1 - (1 - conf_8)/2)
reps_8 <- 163
# Usamos la variable numérica de interés (ejemplo: P235_PRE_KG)
# Puedes cambiarla según la que elegiste en tu base
variable <- datos$P235_PRE_KG
# ------------------------------------------------------------
# 2️⃣ Parámetros poblacionales (aproximados)
# ------------------------------------------------------------
media_pob <- mean(variable, na.rm = TRUE)
desv_pob <- sd(variable, na.rm = TRUE)
n_muestra <- 200 # puedes ajustar al tamaño que usaste antes
# ------------------------------------------------------------
# 3️⃣ Simulación de intervalos
# ------------------------------------------------------------
set.seed(123)
simulaciones <- replicate(reps_8, {
muestra <- sample(variable, n_muestra, replace = TRUE)
media_muestra <- mean(muestra, na.rm = TRUE)
error <- z_8 * (sd(muestra, na.rm = TRUE) / sqrt(n_muestra))
c(media_muestra - error, media_muestra + error)
})
# Transponemos para ver los intervalos en filas
intervalos <- as.data.frame(t(simulaciones))
colnames(intervalos) <- c("Limite_Inferior", "Limite_Superior")
head(intervalos)
## Limite_Inferior Limite_Superior
## 1 2.903499 7.133715
## 2 -7.172155 38.774980
## 3 -7.100575 47.409208
## 4 -1.848465 25.522258
## 5 2.883920 8.017932
## 6 2.630374 16.426029
# ------------------------------------------------------------
# 4️⃣ Visualización básica
# ------------------------------------------------------------
plot(
1:reps_8, intervalos$Limite_Inferior,
type = "n", xlab = "Simulación", ylab = "Intervalos de confianza (99.9%)",
main = "Simulaciones de intervalos para la media"
)
segments(1:reps_8, intervalos$Limite_Inferior, 1:reps_8, intervalos$Limite_Superior, col = "blue")
abline(h = media_pob, col = "red", lwd = 2, lty = 2)