ANÁLISIS ESTADÍSTICO
1. CARGA DE LIBRERÍAS Y DATOS
#==============================ENCABEZADO================================
# TEMA: ESTADÍSTICA INFERENCIAL- COMPLEJIDAD DE LA ESTRUCTURA DE REVESTIMIENTO
# AUTOR: GRUPO 3
# FECHA: 03-2026
#========================================================================
library(dplyr)
library(gt)
library(knitr)
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ",", sep = ";")
2. TABLA DE DISTRIBUCIÓN DE PROBABILIDAD
casing_raw <- datos$Complexity.of.the.casing.structure
casing_raw <- casing_raw[!is.na(casing_raw)]
Complejidad_Ori <- factor(casing_raw, levels = 0:7, ordered = TRUE)
ni_ori <- table(Complejidad_Ori)
hi_ori <- round(prop.table(ni_ori) * 100, 2)
tabla_base_n <- data.frame(
Nivel = names(ni_ori),
ni = as.numeric(ni_ori),
hi = as.numeric(hi_ori)
)
fila_total_n <- data.frame(Nivel = "TOTAL", ni = sum(tabla_base_n$ni), hi = 100)
tabla_final_n <- rbind(tabla_base_n, fila_total_n)
| Tabla Nº1. Distribución de probabilidad de
Complejidad de estructura de revestimiento en las cuencas de gas
natural en Nuevo México |
| Nivel de Complejidad |
ni |
hi (%) |
| 0 |
2476 |
19.71 |
| 1 |
33 |
0.26 |
| 2 |
5383 |
42.85 |
| 3 |
4138 |
32.94 |
| 4 |
503 |
4.00 |
| 5 |
25 |
0.20 |
| 6 |
2 |
0.02 |
| 7 |
1 |
0.01 |
| TOTAL |
12561 |
100.00 |
| Tabla 1 de 3 |
3. TABLA DE DISTRIBUCIÓN DE PROBABILIDAD
AGRUPADA
Comp_Texto <- as.character(casing_raw)
# 1. CLASIFICACIÓN MEDIANTE BUCLE FOR E IF-ELSE
for (i in 1:length(Comp_Texto)) {
if (Comp_Texto[i] %in% c("0", "1", "2")) {
Comp_Texto[i] <- "Baja"
} else if (Comp_Texto[i] %in% c("3", "4", "5")) {
Comp_Texto[i] <- "Media"
} else if (Comp_Texto[i] %in% c("6", "7")) {
Comp_Texto[i] <- "Alta"
}
}
# 2. CONVERSION A FACTOR ORDENADO
Comp_Factor <- factor(Comp_Texto, levels = c("Baja", "Media", "Alta"), ordered = TRUE)
# 3. GENERACIÓN DE FRECUENCIAS
ni_ag <- table(Comp_Factor)
hi_ag <- round(prop.table(ni_ag) * 100, 2)
tabla_base_ag <- data.frame(
Nivel = names(ni_ag),
ni = as.numeric(ni_ag),
hi = as.numeric(hi_ag)
)
# 4. CRITERIO NUMÉRICO ORDINAL
tabla_base_ag$Nivel_num <- NA
for (i in 1:nrow(tabla_base_ag)) {
if (tabla_base_ag$Nivel[i] == "Baja") {
tabla_base_ag$Nivel_num[i] <- 0
} else if (tabla_base_ag$Nivel[i] == "Media") {
tabla_base_ag$Nivel_num[i] <- 1
} else if (tabla_base_ag$Nivel[i] == "Alta") {
tabla_base_ag$Nivel_num[i] <- 2
}
}
# 5. CREACIÓN DE FILA TOTAL
fila_total_ag <- data.frame(
Nivel = "TOTAL",
ni = sum(tabla_base_ag$ni),
hi = 100,
Nivel_num = NA
)
tabla_final_ag <- rbind(tabla_base_ag, fila_total_ag)
| Tabla Nº2. Distribución de probabilidad de
Complejidad de estructura de revestimiento en las cuencas de gas
natural en Nuevo México |
| Clasificación |
ni |
hi (%) |
| Baja |
7892 |
62.83 |
| Media |
4666 |
37.15 |
| Alta |
3 |
0.02 |
| TOTAL |
12561 |
100.00 |
| Tabla 2 de 3 |
4. GRÁFICAS DE DISTRIBUCIÓN DE PROBABILIDAD
par(oma = c(1, 1, 1, 1))
par(mfrow=c(1,1))
barplot(tabla_base_n$hi, main = "Gráfica Nº1. Distribución de probabilidad de
Complejidad de estructura de revestimiento en las cuencas de gas
natural en Nuevo México",
xlab = "Nivel de Complejidad", ylab = "Probabilidad (%)", col = "gray", names.arg = 0:7, ylim = c(0, 100))
box(which = "outer", col = "black")

barplot(tabla_base_ag$hi, main = "Gráfica Nº2. Distribución de probabilidad de
Complejidad de estructura de revestimiento en las cuencas de gas
natural en Nuevo México",
xlab = "Clasificación", ylab = "Probabilidad (%)", col = "skyblue",
names.arg = tabla_base_ag$Nivel, ylim = c(0, 100))
box(which = "outer", col = "black")

5. CONJETURA DE MODELO
# 1. Tamaño muestral total (Suma de todos los pozos analizados)
n <- sum(tabla_base_ag$ni)
n
## [1] 12561
# 2. Frecuencias absolutas observadas (El conteo de pozos por cada nivel)
x <- tabla_base_ag$ni
x
## [1] 7892 4666 3
# 3. Variable aleatoria discreta (Valores numéricos de los niveles: 0, 1, 2)
X_val <- tabla_base_ag$Nivel_num
X_val
## [1] 0 1 2
# 4. Media muestral ponderada (El promedio del nivel de complejidad observado)
media_observada <- sum(X_val * x) / n
media_observada
## [1] 0.3719449
# 5. Estimación del parámetro p (Probabilidad de éxito del modelo geométrico)
p_param <- 1 / (media_observada + 1)
p_param
## [1] 0.7288922
# 6. Cálculo de la probabilidad teórica mediante la distribución geométrica
P_geometrica <- dgeom(X_val, prob = p_param)
P_geometrica
## [1] 0.72889224 0.19760834 0.05357315
# 7. Frecuencias Observadas en porcentaje (Porcentaje real de datos en la muestra)
Fo <- (tabla_base_ag$ni / n) * 100
Fo
## [1] 62.82939256 37.14672399 0.02388345
# 8. Frecuencias Esperadas en porcentaje (Porcentaje teórico que predice el modelo)
Fe <- P_geometrica * 100
Fe
## [1] 72.889224 19.760834 5.357315
par(oma = c(1, 1, 1, 1))
barplot(rbind(Fo, Fe), beside = TRUE, col = c("skyblue", "darkgreen"),
names.arg = tabla_base_ag$Nivel,
main = "Gráfica Nº3. Comparación de la realidad con el modelo
geométrico del nivel de complejidad de los pozos de
gas natural en Nuevo México",
ylab = "Probabilidad (%)", xlab = "Nivel de Complejidad", ylim = c(0, 100))
legend("right", legend = c("Realidad", "Modelo"), fill = c("skyblue", "darkgreen"), cex = 1)
box(which = "outer", col = "black")

6. TEST DE APROBACIÓN
par(oma = c(1, 1, 1, 1))
plot(Fo, Fe,
xlim = c(0, max(Fo)),
ylim = c(0, max(Fe)),
main = "Gráfica Nº4. Correlación de frecuencias",
xlab = "Frecuencia Observada (%)",
ylab = "Frecuencia Esperada (%)",
pch = 19,
col = "darkblue")
abline(a = 0, b = 1, col = "red", lwd = 2)
box(which = "outer", col = "black")

Correlacion_pearson <- cor(Fo, Fe) * 100
Correlacion_pearson
## [1] 91.12476
K <- length(x)
gl <- K - 1
x2 <- sum((Fo - Fe)^2 / Fe)
x2
## [1] 21.99444
vc <- qchisq(0.99999, gl)
vc
## [1] 23.02585
# TABLA DE RESUMEN
tabla_resumen_data <- data.frame(
Variable = "Complejidad",
Pearson = round(Correlacion_pearson, 2),
Chi2 = round(x2, 2),
Umbral = round(vc, 2)
)
| Tabla Nº3. Resumen de test de bondad al modelo de probabilidad |
| Variable |
Pearson (%) |
Chi Cuadrado |
Umbral de aceptación |
| Complejidad |
91.12 |
21.99 |
23.03 |
| Tabla 3 de 3 |
7. CÁLCULO DE PROBABILIDADES
prob_baja_geom <- round(dgeom(0, p_param) * 100, 2)

8. CONCLUSIÓN
La variable complejidad se explica a través de
un modelo geométrico, aprobando satisfactoriamente los test de bondad de
ajuste de Pearson (91.1%) y Chi-cuadrado(cuyo valor de 21.99 es menor al
umbral de aceptacion). De esta manera, el modelo es estadísticamente
válido para calcular probabilidades.