Se carga el conjunto de datos de arrendamientos de hidrocarburos del estado de Kansas, EE.UU., registrados por el Kansas Geological Survey, para proceder con el análisis inferencial de la variable cualitativa nominal Formación Productora.
ruta_archivo <- "C:/Users/thann/OneDrive/Escritorio/ESTADISTICA.LOL/datos_vale.csv"
if (file.exists(ruta_archivo)) {
datos <- read_delim(ruta_archivo, delim = ";", show_col_types = FALSE)
} else {
datos <- read_delim(file.choose(), delim = ";", show_col_types = FALSE)
}
cat("Dataset cargado correctamente.\n")
## Dataset cargado correctamente.
cat("Total de registros evaluados (filas):", nrow(datos), "\n")
## Total de registros evaluados (filas): 104173
La variable PRODUCING_FORMATION corresponde a Formación Productora. Se eliminan los registros sin valor; si la variable es dicotómica, se conservan únicamente los valores válidos indicados. En las variables nominales policotómicas con muchas categorÃas, las tablas y gráficas descriptivas se presentan con las categorÃas más frecuentes, conservando el total de observaciones válidas para el cálculo de \(h_i\).
if (length(valores_validos) > 0) {
x_raw <- datos %>%
filter(.data[[variable_tecnica]] %in% valores_validos) %>%
pull(.data[[variable_tecnica]])
} else {
x_raw <- datos %>%
filter(!is.na(.data[[variable_tecnica]]), .data[[variable_tecnica]] != "") %>%
pull(.data[[variable_tecnica]])
}
if (traduccion_si_no) {
x_raw <- case_when(
x_raw == "Yes" ~ "SÃ",
x_raw == "No" ~ "No",
TRUE ~ as.character(x_raw)
)
}
n <- length(x_raw)
k_total <- length(unique(x_raw))
cat("Observaciones válidas:", n, "\n")
## Observaciones válidas: 24865
cat("CategorÃas distintas:", k_total, "\n")
## CategorÃas distintas: 324
cat("\nDistribución por categorÃa:\n")
##
## Distribución por categorÃa:
print(table(x_raw))
## x_raw
##
## 1
## Admire and Mississippian
## 1
## Admire Group
## 26
## Altamont and Mississippi
## 1
## Altamont Limestone Formation
## 7
## Arbuckle
## 5
## Arbuckle and Marmaton
## 1
## Arbuckle Group
## 1726
## Arbuckle, Conglomerate, Lansing
## 1
## Arbuckle, Gorham, Tarkio
## 1
## Arbuckle, Lansing-Kansas City
## 5
## Arbuckle, Lansing-Kansas City, Simpson
## 1
## Arbuckle, Penn Basal Cong
## 1
## Atokan Stage
## 23
## Bartlesville
## 16
## Bartlesville and Cherokee
## 2
## Bartlesville and Mississipian
## 2
## Bartlesville and Mississippian
## 7
## Bartlesville and Squirrel
## 2
## Bartlesville and Viola
## 2
## Bartlesville Sandstone Bed
## 3
## Bartlesville, Mississippian
## 1
## Bartlesville, Skinner
## 1
## Bartlesville, Viola
## 2
## Beecher Island and Niobrara
## 38
## Beecher Island, Niobrara
## 2
## Bethany Falls Limestone Member
## 3
## Bevier Coal Bed
## 496
## Burgess
## 27
## Burlington Limestone Formation
## 1
## Cambrian System
## 3
## Cattleman
## 46
## Cattleman Sand, Warner Sand
## 1
## Chase
## 3
## Chase Group
## 7297
## Chase, Council Grove
## 1
## Chattanooga Shale Formation
## 4
## Cherokee
## 12
## Cherokee and Lansing-Kansas City
## 3
## Cherokee and Marmaton
## 3
## Cherokee and Mississippian
## 17
## Cherokee Coal Beds
## 1
## Cherokee coals
## 3
## Cherokee Coals
## 12
## Cherokee Group
## 285
## Cherokee, Fort Scott
## 2
## Cherokee, Lansing-Kansas City
## 2
## Cherokee, Lansing, Marmaton
## 1
## Cherokee, Morrow
## 1
## Cherokee, St. Louis, Chester
## 1
## Chester
## 1
## Chester and Kansas City
## 2
## Chester and Morrow
## 20
## Chester, Lower Morrow
## 1
## Chester, Morrow
## 3
## Chesteran Sandstone Lower Bed
## 1
## Chesteran Sandstone Upper Bed
## 4
## Chesteran Stage
## 251
## Chesteran Zone A Bed
## 541
## Chesteran Zone C Bed
## 1
## Cottonwood Limestone Member
## 5
## Council Grove
## 8
## Council Grove Group
## 2522
## Crouse Limestone Formation
## 1
## Dennis Limestone Formation
## 1
## Desmoinesian Stage
## 1
## Dewey Limestone Formation
## 2
## Douglas
## 2
## Douglas Group
## 32
## Douglas, Lansing-Kansas City
## 3
## Douglas, Stalnaker
## 1
## Dover Limestone Member
## 1
## Elgin Sandstone Member
## 13
## Emporia Limestone Formation
## 1
## Englevale Sandstone Member
## 61
## Florence and Fort Riley
## 1
## Fort Riley Limestone Member
## 2
## Fort Scott and Lansing-Kansas City
## 4
## Fort Scott and Marmaton
## 1
## Fort Scott and Mississippian
## 1
## Fort Scott Limestone Formation
## 49
## Fort Scott, Lansing-Kansas City, Pawnee
## 1
## Fort Scott, Layton
## 1
## Ft. Scott and Pawnee
## 2
## Gorham sand
## 2
## Grandhaven Limestone Member
## 3
## Granite Wash, Lansing-Kansas City
## 3
## Granite Wash, Topeka
## 1
## Granite Wash, Topeka, Lansing-Kansas City
## 1
## Grant Shale Member
## 2
## Heebner Shale Member
## 2
## Herington Limestone Member
## 12
## Hertha Limestone Formation
## 4
## Hertha, Marmaton, Pawnee, Ft. Scott, Cherokee, St. louis
## 1
## Howard Limestone Formation
## 16
## Hugoton Chase
## 1
## Hunton and Penn Basal Cong
## 1
## Hunton and Viola
## 5
## Hunton Group
## 72
## Indian Cave Sandstone Bed
## 48
## Inola Limestone Bed
## 3
## Iola Limestone Formation
## 2
## Ireland Sandstone Member
## 4
## Johnson and Lansing-Kansas City
## 1
## Johnson Shale Formation
## 11
## Johnson, Lansing-Kansas City
## 3
## Johnson, Marmaton
## 1
## Kansas City Group
## 658
## Kansas City Odessa
## 1
## Kansas City, Ft. Scott, Altamont, Cherokee
## 1
## Keyes Sandstone Bed
## 22
## Kinderhook and Mississippi
## 1
## Kinderhook, Marmaton
## 1
## Kinderhook, Mississippian
## 8
## Kinderhookian Stage
## 110
## Knobtown Sandstone Member
## 2
## Krider Limestone Member
## 8
## Labette Shale Formation
## 1
## Lane Shale Formation
## 1
## Lansing-Kansas City
## 50
## Lansing-Kansas City, Altamont
## 1
## Lansing-Kansas City, Arbuckle
## 29
## Lansing-Kansas City, Bartlesville
## 1
## Lansing-Kansas City, Cherokee
## 2
## Lansing-Kansas City, Chester
## 1
## Lansing-Kansas City, Fort Scott, Mississippian
## 1
## Lansing-Kansas City, Johnson
## 1
## Lansing-Kansas City, Johnson, and Pawnee
## 1
## Lansing-Kansas City, Layton
## 4
## Lansing-Kansas City, Marmaton
## 19
## Lansing-Kansas City, Marmaton, Mississippian
## 1
## Lansing-Kansas City, Marmaton, Pleasanton
## 1
## Lansing-Kansas City, Mississippian
## 13
## Lansing-Kansas City, Mississippian, Viola
## 1
## Lansing-Kansas City, Morrow
## 3
## Lansing-Kansas City, Pawnee
## 2
## Lansing-Kansas City, Penn Basal Cong
## 6
## Lansing-Kansas City, Reagan
## 4
## Lansing-Kansas City, Shawnee
## 62
## Lansing-Kansas City, Simpson
## 7
## Lansing-Kansas City, St. Louis
## 1
## Lansing-Kansas City, Tarkio
## 3
## Lansing-Kansas City, Topeka
## 19
## Lansing-Kansas City, Toronto
## 25
## Lansing-Kansas City, Viola
## 1
## Lansing-Kansas City, Wabaunsee
## 4
## Lansing 'A'
## 1
## Lansing - Kansas City Supergroup
## 64
## Lansing Group
## 1304
## Lansing, Cherokee, Pennsylvanian, Arbuckle
## 1
## Layton
## 2
## Layton Sandstone Bed
## 67
## Layton, Arbuckle
## 1
## Layton, Bartlesville
## 1
## Layton, Cleveland, Simpson
## 1
## Long Creek Limestone Member
## 1
## Lower Kearny Member
## 962
## Lower Morrowan Sandstone Bed
## 56
## Lower Pawnee
## 1
## Maquoketa Shale Formation
## 14
## Marmaton
## 7
## Marmaton and Toronto
## 1
## Marmaton Group
## 340
## Marmaton, Cherokee
## 1
## Marmaton, Chester
## 2
## Marmaton, Fort Scott
## 1
## Marmaton, Misener
## 1
## Marmaton, Mississippian
## 2
## Marmaton, Morrow
## 10
## Marmaton, Pawnee
## 3
## Marmaton, Penn Basal Cong
## 1
## Marmaton, St. Louis
## 1
## McLouth Sandstone Bed
## 29
## Meramecian Stage
## 27
## Merit Energy Company, LLC
## 1
## Merriam Limestone Member
## 4
## Middle Kearny Member
## 2
## Misener
## 2
## Misener Sandstone Member
## 10
## Misener, Viola
## 1
## Mississippian
## 81
## Mississippian and Riverton
## 1
## Mississippian and Marmaton
## 1
## Mississippian Chester
## 40
## Mississippian Spergen
## 1
## Mississippian St. Louis
## 6
## Mississippian System
## 3886
## Mississippian, Arbuckle
## 1
## Mississippian, Bartlesville
## 2
## Mississippian, Bartlesville, Cattleman
## 1
## Mississippian, Douglas
## 1
## Mississippian, Fort Scott
## 3
## Mississippian, Fort Scott, Pawnee
## 2
## Mississippian, Ft. Scott
## 1
## Mississippian, Kinderhook
## 2
## Mississippian, Lansing-Kansas City
## 3
## Mississippian, Marmaton
## 4
## Mississippian, Marmaton, Lansing-Kansas City
## 3
## Mississippian, Morrow
## 13
## Mississippian, Penn Basal Cong
## 5
## Mississippian, Peru
## 1
## Mississippian, Riverton
## 1
## Mississippian, Simpson
## 2
## Mississippian, St. Louis
## 1
## Mississippian, Viola
## 11
## Morrison Formation
## 2
## Morrow
## 17
## Morrow and Atoka
## 2
## Morrow F
## 1
## Morrow Oil
## 1
## Morrow, Chester
## 6
## Morrow, Chester and Cherokee
## 1
## Morrow, Chester, Toronto
## 1
## Morrow, Mississippian
## 3
## Morrowan B Sandstone Bed
## 4
## Morrowan C Sandstone Bed
## 2
## Morrowan D Sandstone Bed
## 4
## Morrowan G Sandstone Bed
## 4
## Morrowan Stage
## 1
## Mound City Shale Member
## 1
## Mulky & Riverton Coal
## 1
## Mulky & Rowe Coals
## 1
## Mulky Coal Bed
## 7
## Myrick Station Limestone Member
## 2
## Neva Limestone Member
## 13
## Neva, Herrington-Krider
## 1
## Ninnescah Shale Formation
## 53
## Niobrara Chalk Formation
## 70
## Novinger Limestone Bed
## 1
## Ordovician System
## 1
## Oread Limestone Formation
## 1
## Osagean Stage
## 12
## Pawnee Limestone Formation
## 34
## Pawnee, Ft. Scott
## 1
## Pawnee, Mississippian
## 1
## Penn Basal Cong
## 145
## Penn Basal Cong and Kinderhook
## 2
## Penn Basal Cong and Lansing-Kansas City
## 5
## Penn Basal Cong and Mississippian
## 1
## Penn Basal Cong, Cherokee
## 1
## Pennsylvania Coals
## 1
## Pennsylvanian
## 5
## Pennsylvanian System
## 30
## Platt, Lansing-Kansas City, Arbuckle
## 2
## Plattsmouth Limestone Member
## 1
## Pleasanton Group
## 6
## Precambrian System
## 2
## Purdy
## 1
## QRTGRW
## 1
## Reagan Sandstone Formation
## 39
## Reagan, Gorham
## 1
## Red Eagle Limestone Formation
## 3
## Red Fork Sandstone Bed
## 3
## Riverton
## 1
## Riverton & Weir Coals
## 3
## Riverton and Rowe Coals
## 1
## Riverton Coal Bed
## 21
## Riverton, Rowe, Mulkey, Summit Coals
## 2
## Rowe Coal Bed
## 1
## Salem Limestone Formation
## 1
## Severy Shale Formation
## 13
## Shawnee
## 1
## Shawnee Group
## 140
## Shawnee, Wabaunsee
## 46
## Shawnee, Wabaunsee, Topeka
## 1
## Simpson
## 3
## Simpson Group
## 182
## Simpson, Arbuckle
## 2
## Simpson, Hunton
## 1
## Simpson, Mississippian
## 1
## Simpson, Viola
## 8
## Skinner Sandstone Bed
## 1
## Sniabar Limestone Member
## 1
## Snyderville Shale Member
## 6
## Squirrel
## 1
## Squirrel Sandstone Bed
## 166
## Squirrel, Bartlesville
## 1
## Squirrel, Mississippian
## 1
## St. Louis Limestone Formation
## 84
## St. Peter Sandstone Formation
## 6
## St.Louis and Marmaton
## 1
## Stalnaker
## 1
## Ste. Genevieve
## 1
## Ste. Genevieve Limestone Formation
## 3
## Stone Corral Formation
## 1
## Summit - Mulky Coal
## 1
## Summit Mulky Bevier Croweberg Fleming Tebo Rowe Riverton
## 1
## SVRTOP
## 1
## Swope Limestone Formation
## 6
## Tarkio
## 1
## Tarkio Limestone Member
## 48
## Tonganoxie Sandstone Member
## 32
## Topeka Limestone Formation
## 82
## Topeka, Howard
## 1
## Topeka, Lansing-Kansas City, Arbuckle
## 2
## Topeka, Lansing-Kansas City, Penn Basal Cong
## 1
## Topeka, Marmaton, Cherokee
## 1
## Toronto Limestone Member
## 65
## Toronto, Lansing-Kansas City
## 2
## Toronto, Mississippian
## 1
## Towanda Limestone Member
## 6
## Upper Kearny Member
## 1072
## Vilas Shale Formation
## 1
## Viola
## 1
## Viola-Simpson Supergroup
## 1
## Viola Limestone Formation
## 221
## Viola, Maquoketa
## 1
## Viola, Penn Basal Cong
## 1
## Viola, Simpson, Mississippian
## 1
## Wabaunsee Group
## 37
## Wabaunsee, Chester
## 16
## Wamego Shale Member
## 4
## Warsaw Formation
## 5
## Weir-Pitt and Riverton Coals
## 1
## Weir-Pittsburg Coal
## 2
## Weir-Pittsburg Coal Bed
## 21
## Weir & Riverton Coals
## 2
## Weir and Riverton Coals
## 1
## Weiser Sandstone Bed
## 22
## Willard Shale Formation
## 1
## Winfield
## 2
## Winfield Limestone Formation
## 58
## Wreford Limestone Formation
## 1
## Wyandotte Limestone Formation
## 27
| Criterio | Clasificación |
|---|---|
| Nombre | Formación Productora |
| Nombre técnico | PRODUCING_FORMATION |
| Tipo | Cualitativa |
| Subtipo | Nominal policotómica |
| Dominio | Nombres de formaciones geológicas productoras |
| Rango | Múltiples categorÃas |
| Unidad | No aplica |
| Escala | Nominal |
| Fuente | Kansas Geological Survey - Kansas, EE.UU. |
Justificación: La variable es cualitativa nominal porque sus categorÃas no poseen orden natural. En variables nominales, la probabilidad de ocurrencia de cada categorÃa se estima mediante su frecuencia relativa observada:
\[P(X = x_i) = h_i = \frac{n_i}{n}\]
donde \(n_i\) es la frecuencia absoluta de la categorÃa \(i\) y \(n\) es el total de observaciones válidas.
Se construye la tabla de distribución de frecuencias de la variable cualitativa nominal Formación Productora, correspondiente a los arrendamientos de hidrocarburos registrados en Kansas, EE.UU., durante el perÃodo histórico disponible (n = 24,865).
freq_abs <- sort(table(x_raw), decreasing = TRUE)
freq_mostrar <- if (usar_top) head(freq_abs, top_n) else freq_abs
categorias <- names(freq_mostrar)
ni <- as.integer(freq_mostrar)
hi_pct <- ni / n * 100
hi_frac <- ni / n
tabla_df <- data.frame(
Categoria = categorias,
ni = ni,
hi_pct = sprintf("%.2f%%", hi_pct),
hi_frac = sprintf("%.4f", hi_frac),
stringsAsFactors = FALSE
)
total_row <- data.frame(
Categoria = ifelse(usar_top, "**TOTAL (muestra completa)**", "**TOTAL**"),
ni = n,
hi_pct = "100.00%",
hi_frac = "1.0000",
stringsAsFactors = FALSE
)
tabla_df$ni <- as.character(tabla_df$ni)
total_row$ni <- as.character(total_row$ni)
tabla_final <- bind_rows(tabla_df, total_row)
kable(
tabla_final,
caption = paste0(
"Cuadro N°1: Distribución de Frecuencias de la Variable Cualitativa Nominal ",
nombre_variable, ", registrada en los arrendamientos de hidrocarburos del estado de Kansas, EE.UU., ",
"perÃodo histórico disponible (n = ", format(n, big.mark = ","), " registros válidos)."
),
col.names = c(nombre_variable, "Frecuencia (n_i)", "Porcentaje (h_i %)", "Porcentaje en fracción (h_i)"),
align = c("l", "c", "c", "c"),
escape = FALSE
) %>%
kable_styling(
bootstrap_options = c("striped", "hover", "condensed", "bordered"),
full_width = TRUE,
font_size = 12
) %>%
row_spec(0, bold = TRUE, background = "#d3d3d3", color = "black") %>%
row_spec(nrow(tabla_final), bold = TRUE, background = "#a9a9a9", color = "black")
| Formación Productora | Frecuencia (n_i) | Porcentaje (h_i %) | Porcentaje en fracción (h_i) |
|---|---|---|---|
| Chase Group | 7297 | 29.35% | 0.2935 |
| Mississippian System | 3886 | 15.63% | 0.1563 |
| Council Grove Group | 2522 | 10.14% | 0.1014 |
| Arbuckle Group | 1726 | 6.94% | 0.0694 |
| Lansing Group | 1304 | 5.24% | 0.0524 |
| Upper Kearny Member | 1072 | 4.31% | 0.0431 |
| Lower Kearny Member | 962 | 3.87% | 0.0387 |
| Kansas City Group | 658 | 2.65% | 0.0265 |
| Chesteran Zone A Bed | 541 | 2.18% | 0.0218 |
| Bevier Coal Bed | 496 | 1.99% | 0.0199 |
| TOTAL (muestra completa) | 24865 | 100.00% | 1.0000 |
freq_ord <- freq_mostrar
colores_g <- gray(seq(0.35, 0.75, length.out = length(freq_ord)))
par(mar = c(ifelse(length(freq_ord) > 2, 10, 5), 6, 7, 2))
bp <- barplot(
as.numeric(freq_ord),
names.arg = names(freq_ord),
col = colores_g,
border = "black",
ylim = c(0, max(as.numeric(freq_ord)) * 1.18),
xlab = "",
ylab = "",
main = "",
las = ifelse(length(freq_ord) > 2, 2, 1),
cex.names = ifelse(length(freq_ord) > 2, 0.7, 0.9)
)
text(bp, as.numeric(freq_ord) + max(as.numeric(freq_ord)) * 0.02,
labels = format(as.numeric(freq_ord), big.mark = ","), cex = 0.85)
mtext("Frecuencia Absoluta (n_i)", side = 2, line = 4.5, cex = 1)
mtext(etiqueta_x, side = 1, line = ifelse(length(freq_ord) > 2, 8.5, 3), cex = 1)
mtext(paste0("Gráfica N°1: Diagrama de Barras - Frecuencia Absoluta\nde la Variable ", nombre_variable, ", Kansas, EE.UU."),
side = 3, line = 3.5, cex = 0.9, font = 2)
pct_ord <- as.numeric(freq_mostrar) / n * 100
names(pct_ord) <- names(freq_mostrar)
par(mar = c(ifelse(length(pct_ord) > 2, 10, 5), 6, 7, 2))
bp2 <- barplot(
as.numeric(pct_ord),
names.arg = names(pct_ord),
col = colores_g,
border = "black",
ylim = c(0, max(as.numeric(pct_ord)) * 1.18),
xlab = "",
ylab = "",
main = "",
las = ifelse(length(pct_ord) > 2, 2, 1),
cex.names = ifelse(length(pct_ord) > 2, 0.7, 0.9)
)
text(bp2, as.numeric(pct_ord) + max(as.numeric(pct_ord)) * 0.02,
labels = paste0(round(as.numeric(pct_ord), 2), "%"), cex = 0.85)
mtext("Porcentaje (h_i %)", side = 2, line = 4.5, cex = 1)
mtext(etiqueta_x, side = 1, line = ifelse(length(pct_ord) > 2, 8.5, 3), cex = 1)
mtext(paste0("Gráfica N°2: Diagrama de Barras - Porcentaje\nde la Variable ", nombre_variable, ", Kansas, EE.UU."),
side = 3, line = 3.5, cex = 0.9, font = 2)
pct_circ <- as.numeric(freq_mostrar) / n * 100
names(pct_circ) <- names(freq_mostrar)
grises_c <- gray(seq(0.15, 0.85, length.out = length(pct_circ)))
par(mar = c(2, 2, 6, ifelse(length(pct_circ) > 2, 12, 2)), xpd = TRUE)
pie(
as.numeric(pct_circ),
labels = if (length(pct_circ) > 2) paste0(round(as.numeric(pct_circ), 2), "%") else paste0(names(pct_circ), "\n", round(as.numeric(pct_circ), 2), "%"),
col = grises_c,
border = "black",
main = "",
radius = 1,
cex = 0.85
)
if (length(pct_circ) > 2) {
legend(x = 1.2, y = 1, legend = names(pct_circ), fill = grises_c, cex = 0.7, title = leyenda_circular, bty = "n")
}
mtext(paste0("Gráfica N°3: Diagrama Circular - Distribución Porcentual\nde la Variable ", nombre_variable, ", Kansas, EE.UU."),
side = 3, line = 3.5, cex = 0.9, font = 2)
La variable Formación Productora es cualitativa nominal. Para una variable nominal, las categorÃas no tienen jerarquÃa ni distancia numérica; por ello, la probabilidad de ocurrencia de cada valor se estima directamente con la frecuencia relativa observada:
\[P(X = x_i) = h_i\]
El comportamiento probabilÃstico puede representarse mediante un modelo categórico:
\[X \sim \text{Categórica}(\pi_1, \pi_2, \ldots, \pi_k)\]
donde:
\[\pi_i = P(X = x_i) = h_i = \frac{n_i}{n}\]
Por tanto, para este análisis inferencial no se asigna una probabilidad por orden o jerarquÃa, sino por la proporción observada de cada categorÃa.
tabla_frec <- data.frame(
Categoria = categorias,
Observada = ni,
stringsAsFactors = FALSE
) %>%
mutate(
h_i = Observada / n,
Probabilidad_Nominal = h_i,
Porcentaje = h_i * 100
)
k <- nrow(tabla_frec)
moda_val <- names(freq_abs)[1]
moda_n <- as.integer(freq_abs[1])
moda_hi <- moda_n / n
cat("=== Modelo probabilÃstico nominal ===\n")
## === Modelo probabilÃstico nominal ===
cat("Número de categorÃas analizadas (k):", k, "\n")
## Número de categorÃas analizadas (k): 10
cat("Número total de categorÃas válidas:", k_total, "\n")
## Número total de categorÃas válidas: 324
cat("Total de observaciones válidas (n):", n, "\n")
## Total de observaciones válidas (n): 24865
cat("CategorÃa modal:", moda_val, "\n")
## CategorÃa modal: Chase Group
cat("Frecuencia de la moda:", moda_n, "\n")
## Frecuencia de la moda: 7297
cat("Probabilidad estimada de la moda (h_i):", round(moda_hi, 4), "\n")
## Probabilidad estimada de la moda (h_i): 0.2935
En esta tabla se presentan las probabilidades estimadas para cada valor de la variable. Al ser una variable nominal, la probabilidad de que suceda cada categorÃa corresponde a su frecuencia relativa \(h_i\).
tabla_frec %>%
mutate(
h_i = sprintf("%.4f", h_i),
Probabilidad_Nominal = sprintf("%.4f", Probabilidad_Nominal),
Porcentaje = sprintf("%.2f%%", Porcentaje)
) %>%
gt() %>%
tab_header(
title = md(paste0("**Tabla N°2: Probabilidades Nominales de ", nombre_variable, "**")),
subtitle = md("*Para variables nominales: P(X = x_i) = h_i*")
) %>%
cols_label(
Categoria = md("**CategorÃa**"),
Observada = md("**Frecuencia observada (n_i)**"),
h_i = md("**Frecuencia relativa (h_i)**"),
Probabilidad_Nominal = md("**P(X = x_i)**"),
Porcentaje = md("**Porcentaje**")
) %>%
tab_style(style = list(cell_fill(color = "#2C2C2C"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()) %>%
tab_style(style = cell_fill(color = "#F5F5F5"),
locations = cells_body(rows = seq(1, nrow(tabla_frec), by = 2))) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset*")) %>%
tab_options(table.width = pct(75), heading.title.font.size = px(16), heading.subtitle.font.size = px(12),
table.font.size = px(13), data_row.padding = px(6))
| Tabla N°2: Probabilidades Nominales de Formación Productora | ||||
| Para variables nominales: P(X = x_i) = h_i | ||||
| CategorÃa | Frecuencia observada (n_i) | Frecuencia relativa (h_i) | P(X = x_i) | Porcentaje |
|---|---|---|---|---|
| Chase Group | 7297 | 0.2935 | 0.2935 | 29.35% |
| Mississippian System | 3886 | 0.1563 | 0.1563 | 15.63% |
| Council Grove Group | 2522 | 0.1014 | 0.1014 | 10.14% |
| Arbuckle Group | 1726 | 0.0694 | 0.0694 | 6.94% |
| Lansing Group | 1304 | 0.0524 | 0.0524 | 5.24% |
| Upper Kearny Member | 1072 | 0.0431 | 0.0431 | 4.31% |
| Lower Kearny Member | 962 | 0.0387 | 0.0387 | 3.87% |
| Kansas City Group | 658 | 0.0265 | 0.0265 | 2.65% |
| Chesteran Zone A Bed | 541 | 0.0218 | 0.0218 | 2.18% |
| Bevier Coal Bed | 496 | 0.0199 | 0.0199 | 1.99% |
| Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset | ||||
Se estima el intervalo de confianza al 95% para la proporción poblacional de cada categorÃa. El estimador puntual de cada probabilidad nominal es:
\[\hat{p}_i = h_i\]
y el intervalo de confianza se calcula mediante:
\[IC_{95\%}: \hat{p}_i \pm z_{\alpha/2}\sqrt{\frac{\hat{p}_i(1-\hat{p}_i)}{n}}\]
z <- qnorm(0.975)
tabla_ic <- tabla_frec %>%
mutate(
p_obs = Probabilidad_Nominal,
error = z * sqrt((p_obs * (1 - p_obs)) / n),
IC_inf = round(pmax(p_obs - error, 0), 4),
IC_sup = round(pmin(p_obs + error, 1), 4),
p_obs = round(p_obs, 4)
) %>%
select(Categoria, Observada, p_obs, IC_inf, IC_sup)
tabla_ic %>%
gt() %>%
tab_header(
title = md("**Tabla N°3: Intervalos de Confianza al 95%**"),
subtitle = md(paste0("*Proporción por categorÃa - ", nombre_variable, "*"))
) %>%
cols_label(
Categoria = md("**CategorÃa**"),
Observada = md("**Frecuencia observada**"),
p_obs = md("**p observada = h_i**"),
IC_inf = md("**IC inferior 95%**"),
IC_sup = md("**IC superior 95%**")
) %>%
tab_style(style = list(cell_fill(color = "#2C2C2C"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()) %>%
tab_style(style = cell_fill(color = "#F5F5F5"),
locations = cells_body(rows = seq(1, nrow(tabla_ic), by = 2))) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset*")) %>%
tab_options(table.width = pct(70), heading.title.font.size = px(16), heading.subtitle.font.size = px(12),
table.font.size = px(13), data_row.padding = px(6))
| Tabla N°3: Intervalos de Confianza al 95% | ||||
| Proporción por categorÃa - Formación Productora | ||||
| CategorÃa | Frecuencia observada | p observada = h_i | IC inferior 95% | IC superior 95% |
|---|---|---|---|---|
| Chase Group | 7297 | 0.2935 | 0.2878 | 0.2991 |
| Mississippian System | 3886 | 0.1563 | 0.1518 | 0.1608 |
| Council Grove Group | 2522 | 0.1014 | 0.0977 | 0.1052 |
| Arbuckle Group | 1726 | 0.0694 | 0.0663 | 0.0726 |
| Lansing Group | 1304 | 0.0524 | 0.0497 | 0.0552 |
| Upper Kearny Member | 1072 | 0.0431 | 0.0406 | 0.0456 |
| Lower Kearny Member | 962 | 0.0387 | 0.0363 | 0.0411 |
| Kansas City Group | 658 | 0.0265 | 0.0245 | 0.0285 |
| Chesteran Zone A Bed | 541 | 0.0218 | 0.0199 | 0.0236 |
| Bevier Coal Bed | 496 | 0.0199 | 0.0182 | 0.0217 |
| Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset | ||||
Como la variable Formación Productora es nominal, no se fuerza una probabilidad teórica uniforme para sus categorÃas. En su lugar, el modelo probabilÃstico nominal se construye con las probabilidades observadas:
\[P(X = x_i) = h_i\]
Por tanto, el Test de Pearson compara las frecuencias observadas con las frecuencias esperadas del propio modelo nominal:
\[E_i = n \cdot h_i\]
De esta forma, se evalúa el ajuste entre los datos observados y el modelo nominal estimado a partir de las frecuencias relativas.
\[H_0: \text{La variable se ajusta al modelo nominal } P(X = x_i) = h_i\]
\[H_1: \text{La variable no se ajusta al modelo nominal } P(X = x_i) = h_i\]
Nivel de significancia: \(\alpha = 0.05\)
El estadÃstico de Pearson se calcula como:
\[X_P^2 = \sum_{i=1}^{k}\frac{(O_i - E_i)^2}{E_i}\]
tabla_pearson <- tabla_frec %>%
mutate(
Esperada_Pearson = n * h_i,
Diferencia = Observada - Esperada_Pearson,
Componente_Pearson = ifelse(Esperada_Pearson > 0, (Diferencia^2) / Esperada_Pearson, 0)
)
pearson_estadistico <- sum(tabla_pearson$Componente_Pearson)
pearson_ajuste <- 100 / (1 + pearson_estadistico)
pearson_resultado <- ifelse(pearson_ajuste >= 95, "Modelo aceptado", "Modelo no aceptado")
cat("=== Test de Pearson para Modelo Nominal ===\n")
## === Test de Pearson para Modelo Nominal ===
cat("Regla nominal: P(X = x_i) = h_i\n")
## Regla nominal: P(X = x_i) = h_i
cat("EstadÃstico de Pearson:", round(pearson_estadistico, 6), "\n")
## EstadÃstico de Pearson: 0
cat("Porcentaje de ajuste Pearson:", round(pearson_ajuste, 2), "%\n")
## Porcentaje de ajuste Pearson: 100 %
cat("Resultado:", pearson_resultado, "\n")
## Resultado: Modelo aceptado
tabla_pearson %>%
mutate(
h_i = sprintf("%.4f", h_i),
Esperada_Pearson = sprintf("%.2f", Esperada_Pearson),
Diferencia = sprintf("%.4f", Diferencia),
Componente_Pearson = sprintf("%.6f", Componente_Pearson)
) %>%
select(Categoria, Observada, h_i, Esperada_Pearson, Diferencia, Componente_Pearson) %>%
gt() %>%
tab_header(
title = md("**Tabla N°4: Test de Pearson para el Modelo Nominal**"),
subtitle = md("*Modelo: P(X = x_i) = h_i*")
) %>%
cols_label(
Categoria = md("**CategorÃa**"),
Observada = md("**Observada (O_i)**"),
h_i = md("**Probabilidad h_i**"),
Esperada_Pearson = md("**Esperada (E_i = n h_i)**"),
Diferencia = md("**O_i - E_i**"),
Componente_Pearson = md("**Componente Pearson**")
) %>%
tab_style(style = list(cell_fill(color = "#2C2C2C"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()) %>%
tab_style(style = cell_fill(color = "#F5F5F5"),
locations = cells_body(rows = seq(1, nrow(tabla_pearson), by = 2))) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset*")) %>%
tab_options(table.width = pct(85), heading.title.font.size = px(16), heading.subtitle.font.size = px(12),
table.font.size = px(13), data_row.padding = px(6))
| Tabla N°4: Test de Pearson para el Modelo Nominal | |||||
| Modelo: P(X = x_i) = h_i | |||||
| CategorÃa | Observada (O_i) | Probabilidad h_i | Esperada (E_i = n h_i) | O_i - E_i | Componente Pearson |
|---|---|---|---|---|---|
| Chase Group | 7297 | 0.2935 | 7297.00 | 0.0000 | 0.000000 |
| Mississippian System | 3886 | 0.1563 | 3886.00 | 0.0000 | 0.000000 |
| Council Grove Group | 2522 | 0.1014 | 2522.00 | 0.0000 | 0.000000 |
| Arbuckle Group | 1726 | 0.0694 | 1726.00 | 0.0000 | 0.000000 |
| Lansing Group | 1304 | 0.0524 | 1304.00 | 0.0000 | 0.000000 |
| Upper Kearny Member | 1072 | 0.0431 | 1072.00 | 0.0000 | 0.000000 |
| Lower Kearny Member | 962 | 0.0387 | 962.00 | 0.0000 | 0.000000 |
| Kansas City Group | 658 | 0.0265 | 658.00 | 0.0000 | 0.000000 |
| Chesteran Zone A Bed | 541 | 0.0218 | 541.00 | 0.0000 | 0.000000 |
| Bevier Coal Bed | 496 | 0.0199 | 496.00 | 0.0000 | 0.000000 |
| Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset | |||||
tabla_resumen_pearson <- data.frame(
Variable = nombre_variable,
Tipo_Variable = paste("Cualitativa", tolower(subtipo_variable)),
Modelo = "Nominal: P(X = x_i) = h_i",
Pearson = round(pearson_estadistico, 6),
Ajuste_Pearson = paste0(round(pearson_ajuste, 2), "%"),
Umbral_Aceptacion = "95%",
Resultado_Final = pearson_resultado,
check.names = FALSE
)
tabla_resumen_pearson %>%
gt() %>%
tab_header(title = md("**Tabla N°5: Resumen del Test de Pearson**")) %>%
cols_label(
Variable = md("**Variable**"),
Tipo_Variable = md("**Tipo de variable**"),
Modelo = md("**Modelo probabilÃstico**"),
Pearson = md("**Test Pearson**"),
Ajuste_Pearson = md("**Ajuste Pearson (%)**"),
Umbral_Aceptacion = md("**Umbral de aceptación**"),
Resultado_Final = md("**Resultado final**")
) %>%
tab_style(style = list(cell_fill(color = "#2C2C2C"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()) %>%
tab_style(style = list(cell_fill(color = "#2C2C2C"), cell_text(color = "white", weight = "bold", align = "center")),
locations = cells_title()) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset*")) %>%
tab_options(table.width = pct(90), heading.title.font.size = px(14), table.font.size = px(13),
data_row.padding = px(8))
| Tabla N°5: Resumen del Test de Pearson | ||||||
| Variable | Tipo de variable | Modelo probabilÃstico | Test Pearson | Ajuste Pearson (%) | Umbral de aceptación | Resultado final |
|---|---|---|---|---|---|---|
| Formación Productora | Cualitativa nominal policotã³mica | Nominal: P(X = x_i) = h_i | 0 | 100% | 95% | Modelo aceptado |
| Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset | ||||||
par(mar = c(ifelse(nrow(tabla_frec) > 2, 10, 5), 6, 6, 2))
bp4 <- barplot(
tabla_frec$h_i,
names.arg = tabla_frec$Categoria,
col = gray(seq(0.35, 0.75, length.out = nrow(tabla_frec))),
border = "black",
ylim = c(0, max(tabla_frec$h_i) * 1.25),
xlab = "",
ylab = "",
main = "",
las = ifelse(nrow(tabla_frec) > 2, 2, 1),
cex.names = ifelse(nrow(tabla_frec) > 2, 0.7, 0.9)
)
text(bp4, tabla_frec$h_i + max(tabla_frec$h_i) * 0.04,
labels = sprintf("h_i = %.4f", tabla_frec$h_i), cex = 0.8)
mtext("Probabilidad nominal P(X = x_i) = h_i", side = 2, line = 4.5, cex = 1)
mtext(etiqueta_x, side = 1, line = ifelse(nrow(tabla_frec) > 2, 8.5, 3), cex = 1)
mtext(paste0("Gráfica N°4: Probabilidades Nominales Observadas - ", nombre_variable),
side = 3, line = 2.5, cex = 0.9, font = 2)
par(mar = c(ifelse(nrow(tabla_ic) > 2, 10, 5), 6, 6, 2))
bp5 <- barplot(
tabla_ic$p_obs,
names.arg = tabla_ic$Categoria,
col = gray(seq(0.35, 0.75, length.out = nrow(tabla_ic))),
border = "black",
ylim = c(0, min(1, max(tabla_ic$IC_sup) * 1.25)),
xlab = "",
ylab = "",
main = "",
las = ifelse(nrow(tabla_ic) > 2, 2, 1),
cex.names = ifelse(nrow(tabla_ic) > 2, 0.7, 0.9)
)
arrows(x0 = bp5, y0 = tabla_ic$IC_inf, x1 = bp5, y1 = tabla_ic$IC_sup,
angle = 90, code = 3, length = 0.08, lwd = 1.5)
mtext("Proporción estimada", side = 2, line = 4.5, cex = 1)
mtext(etiqueta_x, side = 1, line = ifelse(nrow(tabla_ic) > 2, 8.5, 3), cex = 1)
mtext(paste0("Gráfica N°5: Intervalos de Confianza al 95% por CategorÃa - ", nombre_variable),
side = 3, line = 2.5, cex = 0.85, font = 2)
legend("topright", legend = c("h_i observado", "IC 95%"),
fill = c("gray60", NA), lty = c(NA, 1), lwd = c(NA, 1.5), bty = "n", cex = 0.85)
decision_texto <- pearson_resultado
tabla_inf <- data.frame(
Indicador = c(
"Variable",
"Tipo de variable",
"Modelo probabilÃstico",
"Número de categorÃas analizadas (k)",
"Número total de categorÃas válidas",
"Regla de probabilidad nominal",
"CategorÃa modal",
"Probabilidad de la categorÃa modal (h_i)",
"Test de Pearson",
"Ajuste Pearson (%)",
"Umbral de aceptación",
"Resultado del Test de Pearson"
),
Valor = c(
nombre_variable,
paste("Cualitativa", tolower(subtipo_variable)),
"Categórica nominal",
as.character(k),
as.character(k_total),
"P(X = x_i) = h_i = n_i / n",
moda_val,
sprintf("%.4f", moda_hi),
sprintf("%.6f", pearson_estadistico),
paste0(round(pearson_ajuste, 2), "%"),
"95%",
decision_texto
),
stringsAsFactors = FALSE
)
tabla_inf %>%
gt() %>%
tab_header(
title = md("**Tabla N°6: Indicadores Inferenciales**"),
subtitle = md(paste0("*Variable Cualitativa ", subtipo_variable, ": ", nombre_variable, "*"))
) %>%
cols_label(Indicador = md("**Indicador**"), Valor = md("**Valor**")) %>%
tab_style(style = list(cell_fill(color = "#2C2C2C"), cell_text(color = "white", weight = "bold")),
locations = cells_column_labels()) %>%
tab_style(style = cell_fill(color = "#F5F5F5"),
locations = cells_body(rows = seq(1, nrow(tabla_inf), by = 2))) %>%
tab_style(style = list(cell_fill(color = "#D6D6D6"), cell_text(weight = "bold")),
locations = cells_body(rows = Indicador == "Resultado del Test de Pearson", columns = everything())) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset*")) %>%
tab_options(table.width = pct(75), heading.title.font.size = px(16), heading.subtitle.font.size = px(12),
table.font.size = px(13), data_row.padding = px(6))
| Tabla N°6: Indicadores Inferenciales | |
| Variable Cualitativa Nominal policotómica: Formación Productora | |
| Indicador | Valor |
|---|---|
| Variable | Formación Productora |
| Tipo de variable | Cualitativa nominal policotã³mica |
| Modelo probabilÃstico | Categórica nominal |
| Número de categorÃas analizadas (k) | 10 |
| Número total de categorÃas válidas | 324 |
| Regla de probabilidad nominal | P(X = x_i) = h_i = n_i / n |
| CategorÃa modal | Chase Group |
| Probabilidad de la categorÃa modal (h_i) | 0.2935 |
| Test de Pearson | 0.000000 |
| Ajuste Pearson (%) | 100% |
| Umbral de aceptación | 95% |
| Resultado del Test de Pearson | Modelo aceptado |
| Autor: Araujo Valeska - Kansas Hydrocarbon Leases Dataset | |
La variable Formación Productora fue analizada como una variable cualitativa nominal policotã³mica, porque sus categorÃas no poseen orden natural. Por esta razón, la probabilidad de ocurrencia de cada valor se estimó mediante su frecuencia relativa observada, es decir, \(P(X = x_i) = h_i\).
La categorÃa modal fue “Chase Group”, con una probabilidad nominal estimada de \(h_i = 0.2935\). Los intervalos de confianza al 95% permiten estimar el rango plausible de la proporción poblacional de cada categorÃa. Además, el Test de Pearson para el modelo nominal obtuvo un estadÃstico de 0 y un ajuste de 100%, por lo que el resultado inferencial fue: Modelo aceptado.
En sÃntesis, el análisis inferencial conserva la naturaleza nominal de la variable y expresa sus probabilidades mediante \(h_i\), complementando las tablas y gráficas descriptivas con intervalos de confianza y Test de Pearson.
Autor: Araujo Valeska | Análisis EstadÃstico Inferencial - Kansas Hydrocarbon Leases Dataset