library(readr); library(dplyr); library(gt); library(MASS)
cat("Librerías cargadas correctamente.\n")
## Librerías cargadas correctamente.
ruta_csv <- "C:/Users/luisq/OneDrive/Desktop/ESTADISTICA/kansas.csv"
datos <- read_delim(ruta_csv, delim = ";", show_col_types = FALSE)
cat("Archivo:", basename(ruta_csv), "| Filas:", nrow(datos), "\n")
## Archivo: kansas.csv | Filas: 104173
x_raw <- datos %>%
mutate(ANIO = suppressWarnings(as.integer(.data[["CUMULATIVE_YEAR_STARTED"]]))) %>%
filter(!is.na(ANIO), ANIO >= 1930, ANIO <= 2026) %>%
pull(ANIO)
n_conteo <- length(x_raw)
k_sturges <- ceiling(1 + 3.322 * log10(n_conteo))
cat("Observaciones válidas:", n_conteo, "\n")
## Observaciones válidas: 89034
cat("Clases (Regla de Sturges):", k_sturges, "\n")
## Clases (Regla de Sturges): 18
cat("Mínimo:", min(x_raw), "| Máximo:", max(x_raw), "\n")
## Mínimo: 1930 | Máximo: 2026
Se calcula la distribución de frecuencias absolutas y relativas para la variable cuantitativa discreta agrupada Año de Inicio de Producción, correspondiente a los arrendamientos de hidrocarburos registrados en Kansas, EE.UU.
Justificación del agrupamiento. Año de Inicio de Producción es discreta, pero al abarcar un rango de casi 100 años (1930–2027) con valores únicos por año, una tabla de frecuencia simple resultaría demasiado extensa y poco legible. Por ello se agrupa en intervalos de clase, como se hace con variables continuas, únicamente como recurso para resumir la información; su naturaleza discreta se conserva en los límites e indicadores, que siguen siendo enteros.
intervalos_cut <- cut(x, breaks = breaks_vec, right = FALSE, include.lowest = TRUE)
freq_abs <- as.integer(table(intervalos_cut))
hi_dec <- freq_abs / n
Ni_asc <- cumsum(freq_abs); Hi_asc <- cumsum(hi_dec)
Ni_desc <- n - c(0, head(Ni_asc,-1)); Hi_desc <- 1 - c(0, head(Hi_asc,-1))
etiq <- paste0("[", lim_inf, " - ", lim_sup, ")")
etiq[k] <- paste0("[", lim_inf[k], " - ", lim_sup[k]-1, "]")
bind_rows(
data.frame(Intervalo=etiq, MC=as.integer(mc), ni=freq_abs,
hi_pct=round(hi_dec*100,2), hi_real=round(hi_dec,4),
Ni_a=Ni_asc, Hi_a=round(Hi_asc,4),
Ni_d=Ni_desc, Hi_d=round(Hi_desc,4), stringsAsFactors=FALSE),
data.frame(Intervalo="TOTAL", MC=NA_integer_, ni=sum(freq_abs),
hi_pct=round(sum(hi_dec)*100,2), hi_real=round(sum(hi_dec),4),
Ni_a=max(Ni_asc), Hi_a=round(max(Hi_asc),4),
Ni_d=max(Ni_desc), Hi_d=round(max(Hi_desc),4), stringsAsFactors=FALSE)
) %>%
gt() %>%
tab_header(title = md("**Tabla N\u00b01: Distribución de Frecuencias**"),
subtitle = md(paste0("*Variable Cuantitativa Discreta Agrupada: A\u00f1o de Inicio de Producci\u00f3n, ",
"Kansas (n = ", format(n, big.mark=","), ")*"))) %>%
cols_label(Intervalo=md("**Intervalo**"), MC=md("**MC**"), ni=md("**ni**"),
hi_pct=md("**hi%**"), hi_real=md("**hi**"),
Ni_a=md("**Ni (asc)**"), Hi_a=md("**Hi (asc)**"),
Ni_d=md("**Ni (desc)**"), Hi_d=md("**Hi (desc)**")) %>%
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,k+1,by=2))) %>%
tab_style(style=list(cell_fill(color="#D6D6D6"),cell_text(weight="bold")),
locations=cells_body(rows=Intervalo=="TOTAL")) %>%
fmt_missing(columns=everything(), missing_text="-") %>%
tab_source_note(source_note=md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(table.width=pct(100), table.font.size=px(13), data_row.padding=px(6))
| Tabla N°1: Distribución de Frecuencias | ||||||||
| Variable Cuantitativa Discreta Agrupada: Año de Inicio de Producción, Kansas (n = 89,034) | ||||||||
| Intervalo | MC | ni | hi% | hi | Ni (asc) | Hi (asc) | Ni (desc) | Hi (desc) |
|---|---|---|---|---|---|---|---|---|
| [1930 - 1940) | 1935 | 1080 | 1.21 | 0.0121 | 1080 | 0.0121 | 89034 | 1.0000 |
| [1940 - 1950) | 1945 | 2157 | 2.42 | 0.0242 | 3237 | 0.0364 | 87954 | 0.9879 |
| [1950 - 1960) | 1955 | 7205 | 8.09 | 0.0809 | 10442 | 0.1173 | 85797 | 0.9636 |
| [1960 - 1970) | 1965 | 10328 | 11.60 | 0.1160 | 20770 | 0.2333 | 78592 | 0.8827 |
| [1970 - 1980) | 1975 | 13844 | 15.55 | 0.1555 | 34614 | 0.3888 | 68264 | 0.7667 |
| [1980 - 1990) | 1985 | 19406 | 21.80 | 0.2180 | 54020 | 0.6067 | 54420 | 0.6112 |
| [1990 - 2000) | 1995 | 10447 | 11.73 | 0.1173 | 64467 | 0.7241 | 35014 | 0.3933 |
| [2000 - 2010) | 2005 | 13832 | 15.54 | 0.1554 | 78299 | 0.8794 | 24567 | 0.2759 |
| [2010 - 2020) | 2015 | 9350 | 10.50 | 0.1050 | 87649 | 0.9844 | 10735 | 0.1206 |
| [2020 - 2026] | 2023 | 1385 | 1.56 | 0.0156 | 89034 | 1.0000 | 1385 | 0.0156 |
| TOTAL | - | 89034 | 100.00 | 1.0000 | 89034 | 1.0000 | 89034 | 1.0000 |
| Autor: Leslye Quinchiguango | ||||||||
grises <- gray(seq(0.25, 0.80, length.out=k))
h_obj <- hist(x, breaks=breaks_vec, plot=FALSE)
h_obj$density <- hi_dec
par(mar=c(5,6,6,2))
plot(h_obj, col=grises, border="black", freq=FALSE,
main="", xlab="", ylab="", las=1, xaxt="n")
axis(1, at=breaks_vec, labels=breaks_vec, las=1, cex.axis=0.85)
mtext("Densidad de Probabilidad", side=2, line=4.5, cex=1)
mtext("A\u00f1o de Inicio de Producci\u00f3n", side=1, line=3.5, cex=1)
mtext("Histograma General \u2014 A\u00f1o de Inicio de Producci\u00f3n, arrendamientos de hidrocarburos, Kansas, EE.UU.",
side=3, line=3, cex=0.90, font=2)
El histograma de la variable Año de Inicio de Producción muestra un comportamiento diferenciado en dos tramos. El intervalo [2020, 2027] presenta una barra aislada muy baja que no sigue el patrón de la distribución; se omite por no ser representativo. En el tramo [1930, 1990) las barras crecen progresivamente de izquierda a derecha, comportamiento que se modela con una Exponencial invertida aplicando la transformación \(x' = 1990 - x\). En el tramo [1990, 2020) las barras presentan una forma acampanada compatible con una distribución Normal. Se trabaja con dos zonas con corte en 1990, con parámetros estimados exclusivamente con los datos de cada tramo.
set.seed(42)
omitir_inf <- 2020
corte_z <- 1990
lim_z1_min <- x_min; lim_z1_max <- corte_z
lim_z2_min <- corte_z; lim_z2_max <- omitir_inf
x_z1 <- x[x >= lim_z1_min & x < corte_z]
x_z2 <- x[x >= corte_z & x < omitir_inf]
cat("Omitido [2020, 2027] \u2014 n:", sum(x >= omitir_inf), "\n")
## Omitido [2020, 2027] — n: 1385
cat("Zona 1 [1930, 1990) \u2014 n:", length(x_z1), "\n")
## Zona 1 [1930, 1990) — n: 54020
cat("Zona 2 [1990, 2020) \u2014 n:", length(x_z2), "\n")
## Zona 2 [1990, 2020) — n: 33629
# ── Zona 1: Exponencial invertida ────────────────────────────────────────────
x_z1_inv <- corte_z - x_z1
offset_z1 <- min(x_z1_inv) - 0.001
x_z1_pos <- x_z1_inv - offset_z1
fit_z1 <- fitdistr(x_z1_pos, "exponential")
rate_z1 <- fit_z1$estimate["rate"]
# ── Zona 2: Normal ────────────────────────────────────────────────────────────
fit_z2 <- fitdistr(x_z2, "normal")
mu_z2 <- fit_z2$estimate["mean"]
sd_z2 <- fit_z2$estimate["sd"]
cat("\n--- Zona 1 [1930, 1990): Exponencial invertida ---\n")
##
## --- Zona 1 [1930, 1990): Exponencial invertida ---
cat("\u03bb\u0302 (rate) :", round(rate_z1, 6), "\n")
## λ̂ (rate) : 0.058101
cat("Offset :", round(offset_z1, 4), "\n")
## Offset : 0.999
cat("\n--- Zona 2 [1990, 2020): Normal ---\n")
##
## --- Zona 2 [1990, 2020): Normal ---
cat("\u03bc\u0302 (media) :", round(mu_z2, 4), "\n")
## μ̂ (media) : 2003.913
cat("\u03c3\u0302 (desv.) :", round(sd_z2, 4), "\n")
## σ̂ (desv.) : 8.0335
h_plot <- hist(x, breaks=breaks_vec, plot=FALSE)
h_plot$density <- hi_dec
colores_barras <- ifelse(breaks_vec[-length(breaks_vec)] >= omitir_inf, "white",
ifelse(breaks_vec[-length(breaks_vec)] < corte_z, "gray35",
"gray70"))
par(mar=c(5,6,6,2))
plot(h_plot, col=colores_barras, border="black", freq=FALSE,
main="", xlab="", ylab="", las=1, xaxt="n")
axis(1, at=breaks_vec, labels=breaks_vec, las=1, cex.axis=0.85)
abline(v=corte_z, col="black", lty=2, lwd=2)
abline(v=omitir_inf, col="black", lty=3, lwd=1.5)
yt <- max(hi_dec)
text(mean(c(lim_z1_min, corte_z)), yt*0.78,
"Zona 1\n[1930 \u2013 1990)\nExp. invertida", cex=0.80, font=2)
text(mean(c(corte_z, omitir_inf)), yt*0.78,
"Zona 2\n[1990 \u2013 2020)\nNormal", cex=0.80, font=2)
text(mean(c(omitir_inf, x_max+1)), yt*0.78,
"Omitido\n[2020 \u2013 2027]", cex=0.75, font=3, col="gray40")
mtext("Densidad de Probabilidad", side=2, line=4.5, cex=1)
mtext("A\u00f1o de Inicio de Producci\u00f3n", side=1, line=3.5, cex=1)
mtext("Corte en 1990 \u2014 Zona 1: Exp. invertida | Zona 2: Normal | Omitido: [2020, 2027]",
side=3, line=3, cex=0.9, font=2)
par(mfrow=c(2,1))
# ── Zona 1: Exponencial invertida ────────────────────────────────────────────
breaks_z1 <- seq(lim_z1_min, lim_z1_max, by=c_amp)
if (tail(breaks_z1,1) < lim_z1_max) breaks_z1 <- c(breaks_z1, lim_z1_max)
h_z1 <- hist(x_z1, breaks=breaks_z1, plot=FALSE)
hi_z1 <- h_z1$counts / length(x_z1)
dens_z1 <- hi_z1 / diff(breaks_z1)
h_z1$density <- dens_z1
k_z1 <- length(hi_z1)
grises_z1 <- gray(seq(0.20, 0.60, length.out=k_z1))
xs_z1 <- seq(lim_z1_min, lim_z1_max, length.out=500)
xs_inv <- corte_z - xs_z1
xs_pos <- xs_inv - offset_z1; xs_pos[xs_pos <= 0] <- 1e-9
ys_z1 <- dexp(xs_pos, rate=rate_z1)
par(mar=c(5,6,6,2))
plot(h_z1, col=grises_z1, border="black", freq=FALSE,
ylim=c(0, max(c(dens_z1, ys_z1)) * 1.25),
main="", xlab="", ylab="", las=1, xaxt="n")
axis(1, at=breaks_z1, labels=breaks_z1, las=1, cex.axis=0.85)
lines(xs_z1, ys_z1, col="black", lwd=2.5)
mtext("Densidad de Probabilidad", side=2, line=4.5, cex=1)
mtext("A\u00f1o de Inicio de Producci\u00f3n", side=1, line=3.5, cex=1)
mtext(paste0("Gráfica N\u00b02: Zona 1 [1930 \u2013 1990) \u2014 Exponencial invertida (\u03bb\u0302 = ",
round(rate_z1,4), ")"),
side=3, line=3, cex=0.9, font=2)
legend("topleft",
legend=c("Histograma",
paste0("Exponencial invertida (\u03bb\u0302=", round(rate_z1,4), ")")),
fill=c("gray40",NA), border=c("black",NA),
lty=c(NA,1), lwd=c(NA,2.5), bty="n", cex=0.85)
# ── Zona 2: Normal ────────────────────────────────────────────────────────────
breaks_z2 <- seq(lim_z2_min, lim_z2_max, by=c_amp)
if (tail(breaks_z2,1) < lim_z2_max) breaks_z2 <- c(breaks_z2, lim_z2_max)
h_z2 <- hist(x_z2, breaks=breaks_z2, plot=FALSE)
hi_z2 <- h_z2$counts / length(x_z2)
dens_z2 <- hi_z2 / diff(breaks_z2)
h_z2$density <- dens_z2
k_z2 <- length(hi_z2)
grises_z2 <- gray(seq(0.40, 0.85, length.out=k_z2))
xs_z2 <- seq(lim_z2_min - 0.5, lim_z2_max + 0.5, length.out=500)
ys_z2 <- dnorm(xs_z2, mean=mu_z2, sd=sd_z2)
par(mar=c(5,6,6,2))
plot(h_z2, col=grises_z2, border="black", freq=FALSE,
ylim=c(0, max(c(dens_z2, ys_z2)) * 1.25),
main="", xlab="", ylab="", las=1, xaxt="n")
axis(1, at=breaks_z2, labels=breaks_z2, las=1, cex.axis=0.85)
lines(xs_z2, ys_z2, col="black", lwd=2.5)
mtext("Densidad de Probabilidad", side=2, line=4.5, cex=1)
mtext("A\u00f1o de Inicio de Producci\u00f3n", side=1, line=3.5, cex=1)
mtext(paste0("Gráfica N\u00b03: Zona 2 [1990 \u2013 2020) \u2014 Normal (\u03bc\u0302 = ",
round(mu_z2,2), ", \u03c3\u0302 = ", round(sd_z2,2), ")"),
side=3, line=3, cex=0.9, font=2)
legend("topright",
legend=c("Histograma",
paste0("Normal(\u03bc\u0302=", round(mu_z2,2),
", \u03c3\u0302=", round(sd_z2,2), ")")),
fill=c("gray65",NA), border=c("black",NA),
lty=c(NA,1), lwd=c(NA,2.5), bty="n", cex=0.85)
par(mfrow=c(1,1))
n_z1 <- length(x_z1); n_z2 <- length(x_z2)
media_z1 <- mean(x_z1); sd_z1_calc <- sd(x_z1)
media_z2 <- mean(x_z2); sd_z2_calc <- sd(x_z2)
data.frame(
Zona = c(
rep("Zona 1 [1930, 1990) \u2014 Exponencial invertida", 4),
rep("Zona 2 [1990, 2020) \u2014 Normal", 4)
),
Parametro = c(
"n (observaciones zona)",
"Media observada zona",
"\u03bb\u0302 = rate (MV sobre datos invertidos)",
"Offset (corte \u2212 min zona \u2212 0.001)",
"n (observaciones zona)",
"Media observada zona",
"\u03bc\u0302 = media zona",
"\u03c3\u0302 = desv. estándar zona"
),
Valor = c(
as.character(n_z1), round(media_z1, 4),
round(rate_z1, 6), round(offset_z1, 4),
as.character(n_z2), round(media_z2, 4),
round(mu_z2, 4), round(sd_z2, 4)
)
) %>%
gt() %>%
tab_header(title = md("**Tabla N\u00b02: Parámetros Estimados por Zona**"),
subtitle = md("*Zona 1: Exponencial invertida | Zona 2: Normal \u2014 A\u00f1o de Inicio de Producci\u00f3n*")) %>%
cols_label(Zona=md("**Zona**"), Parametro=md("**Parámetro**"), 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,8,by=2))) %>%
tab_source_note(source_note=md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(table.width=pct(92), heading.title.font.size=px(15),
heading.subtitle.font.size=px(11), table.font.size=px(13),
data_row.padding=px(6))
| Tabla N°2: Parámetros Estimados por Zona | ||
| Zona 1: Exponencial invertida | Zona 2: Normal — Año de Inicio de Producción | ||
| Zona | Parámetro | Valor |
|---|---|---|
| Zona 1 [1930, 1990) — Exponencial invertida | n (observaciones zona) | 54020 |
| Zona 1 [1930, 1990) — Exponencial invertida | Media observada zona | 1971.7896 |
| Zona 1 [1930, 1990) — Exponencial invertida | λ̂ = rate (MV sobre datos invertidos) | 0.058101 |
| Zona 1 [1930, 1990) — Exponencial invertida | Offset (corte − min zona − 0.001) | 0.999 |
| Zona 2 [1990, 2020) — Normal | n (observaciones zona) | 33629 |
| Zona 2 [1990, 2020) — Normal | Media observada zona | 2003.9133 |
| Zona 2 [1990, 2020) — Normal | μ̂ = media zona | 2003.9133 |
| Zona 2 [1990, 2020) — Normal | σ̂ = desv. estándar zona | 8.0335 |
| Autor: Leslye Quinchiguango | ||
# ── Zona 1: Exponencial invertida ─────────────────────────────────────────────
# P(X > 1950): años de inicio posteriores a 1950 en zona 1
p1_a <- pexp(corte_z - 1950 - offset_z1, rate=rate_z1)
# P(1960 ≤ X < 1980)
p1_b <- pexp(corte_z - 1960 - offset_z1, rate=rate_z1) -
pexp(corte_z - 1980 - offset_z1, rate=rate_z1)
# P(X < 1950): inicios muy tempranos
p1_c <- pexp(corte_z - 1950 - offset_z1, rate=rate_z1, lower.tail=FALSE)
# ── Zona 2: Normal(mu_z2, sd_z2) ─────────────────────────────────────────────
p2_a <- pnorm(2000, mean=mu_z2, sd=sd_z2, lower.tail=FALSE) # P(X ≥ 2000)
p2_b <- pnorm(2010, mean=mu_z2, sd=sd_z2) -
pnorm(1995, mean=mu_z2, sd=sd_z2) # P(1995 ≤ X < 2010)
p2_c <- pnorm(1995, mean=mu_z2, sd=sd_z2) # P(X < 1995)
data.frame(
Zona = c(rep("Zona 1 \u2014 Exponencial invertida", 3),
rep("Zona 2 \u2014 Normal", 3)),
Evento = c(
"P(X > 1950)", "P(1960 \u2264 X < 1980)", "P(X < 1950)",
"P(X \u2265 2000)", "P(1995 \u2264 X < 2010)", "P(X < 1995)"
),
Descripcion = c(
"Inicio de producci\u00f3n posterior a 1950 en Zona 1",
"Inicio entre 1960 y 1980 en Zona 1",
"Inicio muy temprano antes de 1950 en Zona 1",
"Inicio de producci\u00f3n en el a\u00f1o 2000 o posterior",
"Inicio en el tramo central de la Zona 2",
"Inicio antes de 1995 dentro de la Zona 2"
),
Probabilidad = round(c(p1_a, p1_b, p1_c, p2_a, p2_b, p2_c), 4)
) %>%
gt() %>%
tab_header(title = md("**Tabla N\u00b03: Cálculo de Probabilidades por Zona**"),
subtitle = md("*La probabilidad es el área bajo la curva del modelo teórico \u2014 A\u00f1o de Inicio de Producci\u00f3n*")) %>%
cols_label(Zona=md("**Zona**"), Evento=md("**Evento**"),
Descripcion=md("**Descripción**"), Probabilidad=md("**Probabilidad**")) %>%
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,6,by=2))) %>%
tab_source_note(source_note=md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(table.width=pct(95), table.font.size=px(13),
heading.title.font.size=px(15), heading.subtitle.font.size=px(11),
data_row.padding=px(6))
| Tabla N°3: Cálculo de Probabilidades por Zona | |||
| La probabilidad es el área bajo la curva del modelo teórico — Año de Inicio de Producción | |||
| Zona | Evento | Descripción | Probabilidad |
|---|---|---|---|
| Zona 1 — Exponencial invertida | P(X > 1950) | Inicio de producción posterior a 1950 en Zona 1 | 0.8963 |
| Zona 1 — Exponencial invertida | P(1960 ≤ X < 1980) | Inicio entre 1960 y 1980 en Zona 1 | 0.4073 |
| Zona 1 — Exponencial invertida | P(X < 1950) | Inicio muy temprano antes de 1950 en Zona 1 | 0.1037 |
| Zona 2 — Normal | P(X ≥ 2000) | Inicio de producción en el año 2000 o posterior | 0.6869 |
| Zona 2 — Normal | P(1995 ≤ X < 2010) | Inicio en el tramo central de la Zona 2 | 0.6421 |
| Zona 2 — Normal | P(X < 1995) | Inicio antes de 1995 dentro de la Zona 2 | 0.1336 |
| Autor: Leslye Quinchiguango | |||
set.seed(42)
# ── Pearson Zona 1 ────────────────────────────────────────────────────────────
mc_z1 <- (head(breaks_z1,-1) + tail(breaks_z1,-1)) / 2
mc_z1_inv <- corte_z - mc_z1 - offset_z1
mc_z1_inv[mc_z1_inv <= 0] <- 1e-9
hi_teo_z1 <- dexp(mc_z1_inv, rate=rate_z1) * diff(breaks_z1)
hi_teo_z1 <- hi_teo_z1 / sum(hi_teo_z1)
hi_obs_z1 <- h_z1$counts / n_z1
pearson_z1 <- round(cor(hi_obs_z1, hi_teo_z1) * 100, 2)
# ── Pearson Zona 2 ────────────────────────────────────────────────────────────
mc_z2 <- (head(breaks_z2,-1) + tail(breaks_z2,-1)) / 2
hi_teo_z2 <- dnorm(mc_z2, mean=mu_z2, sd=sd_z2) * diff(breaks_z2)
hi_teo_z2 <- hi_teo_z2 / sum(hi_teo_z2)
hi_obs_z2 <- h_z2$counts / n_z2
pearson_z2 <- round(cor(hi_obs_z2, hi_teo_z2) * 100, 2)
# ── KS Zona 1 ────────────────────────────────────────────────────────────────
samp_z1 <- sample(x_z1, size=min(400, n_z1), replace=FALSE)
samp_z1_inv <- corte_z - samp_z1 - offset_z1
ks_z1 <- ks.test(samp_z1_inv, "pexp", rate=rate_z1)
# ── KS Zona 2 ────────────────────────────────────────────────────────────────
samp_z2 <- sample(x_z2, size=min(400, n_z2), replace=FALSE)
ks_z2 <- ks.test(samp_z2, "pnorm", mean=mu_z2, sd=sd_z2)
val_z1 <- ifelse(pearson_z1 > 70, "APROBADO", "RECHAZADO")
val_z2 <- ifelse(pearson_z2 > 70, "APROBADO", "RECHAZADO")
data.frame(
Zona = c("Zona 1 [1930 \u2013 1990) \u2014 Exponencial invertida",
"Zona 2 [1990 \u2013 2020) \u2014 Normal"),
Pearson_R = c(pearson_z1, pearson_z2),
KS_pvalor = c(round(ks_z1$p.value,4), round(ks_z2$p.value,4)),
Validacion = c(val_z1, val_z2)
) %>%
gt() %>%
tab_header(title = md("**Tabla N\u00b04: Resumen de Validación por Zona**"),
subtitle = md("*Pearson (R%) y Kolmogorov-Smirnov (p-valor) \u2014 A\u00f1o de Inicio de Producci\u00f3n*")) %>%
cols_label(Zona=md("**Zona**"), Pearson_R=md("**Pearson (R %)**"),
KS_pvalor=md("**K-S (p-valor)**"), Validacion=md("**Validación**")) %>%
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")),
locations=cells_title(groups="title")) %>%
tab_style(style=cell_fill(color="#F5F5F5"), locations=cells_body(rows=1)) %>%
tab_style(style=cell_text(color="darkgreen",weight="bold"),
locations=cells_body(columns=Validacion, rows=Validacion=="APROBADO")) %>%
tab_style(style=cell_text(color="darkred",weight="bold"),
locations=cells_body(columns=Validacion, rows=Validacion=="RECHAZADO")) %>%
tab_style(style=cell_borders(sides="bottom",color="#E0E0E0",weight=px(1)),
locations=cells_body(rows=everything())) %>%
cols_align(align="center", columns=c(Pearson_R, KS_pvalor, Validacion)) %>%
cols_align(align="left", columns=Zona) %>%
fmt_number(columns=Pearson_R, decimals=2) %>%
fmt_number(columns=KS_pvalor, decimals=4) %>%
tab_source_note(source_note=md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(table.width=pct(92), table.font.size=px(13),
heading.title.font.size=px(15), heading.subtitle.font.size=px(11),
data_row.padding=px(6),
column_labels.border.top.width=px(2),
column_labels.border.bottom.width=px(2),
table_body.border.bottom.width=px(2),
table.border.top.style="hidden", table.border.bottom.style="hidden")
| Tabla N°4: Resumen de Validación por Zona | |||
| Pearson (R%) y Kolmogorov-Smirnov (p-valor) — Año de Inicio de Producción | |||
| Zona | Pearson (R %) | K-S (p-valor) | Validación |
|---|---|---|---|
| Zona 1 [1930 – 1990) — Exponencial invertida | 89.54 | 0.0000 | APROBADO |
| Zona 2 [1990 – 2020) — Normal | 97.26 | 0.0000 | APROBADO |
| Autor: Leslye Quinchiguango | |||
El Intervalo de Confianza estima el rango dentro del cual se encuentra la verdadera media poblacional del Año de Inicio de Producción con un nivel de confianza del 95%, calculado con la totalidad de los registros válidos.
\[E = \frac{\sigma}{\sqrt{n}}\]
media_muestral <- mean(x)
desv_est <- sd(x)
n_total <- length(x)
z_95 <- 1.96
error_est <- desv_est / sqrt(n_total)
margen <- z_95 * error_est
lim_inf_ic <- media_muestral - margen
lim_sup_ic <- media_muestral + margen
data.frame(
Parametro = "A\u00f1o de Inicio de Producci\u00f3n Promedio Kansas",
Lim_Inferior = round(lim_inf_ic, 4),
Media_Muestral = round(media_muestral, 4),
Lim_Superior = round(lim_sup_ic, 4),
Error_Estandar = paste0("+/- ", round(margen, 4)),
Confianza = "95% (Z = 1.96)",
stringsAsFactors = FALSE
) %>%
gt() %>%
tab_header(title = md("**TABLA N\u00b0 5: ESTIMACIÓN DE LA MEDIA POBLACIONAL**"),
subtitle = md("*Inferencia Estadística para la Variable A\u00f1o de Inicio de Producci\u00f3n*")) %>%
cols_label(Parametro=md("**Parámetro**"), Lim_Inferior=md("**Lim_Inferior**"),
Media_Muestral=md("**Media_Muestral**"), Lim_Superior=md("**Lim_Superior**"),
Error_Estandar=md("**Error_Estándar**"), Confianza=md("**Confianza**")) %>%
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")),
locations=cells_title(groups="title")) %>%
tab_style(style=list(cell_fill(color="#C8E6C9"),cell_text(weight="bold")),
locations=cells_body(columns=Media_Muestral)) %>%
tab_style(style=cell_borders(sides="bottom",color="#E0E0E0",weight=px(1)),
locations=cells_body(rows=everything())) %>%
cols_align(align="center",
columns=c(Lim_Inferior,Media_Muestral,Lim_Superior,Error_Estandar,Confianza)) %>%
cols_align(align="left", columns=Parametro) %>%
tab_source_note(source_note=md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(table.width=pct(100), table.font.size=px(13),
heading.title.font.size=px(16), heading.subtitle.font.size=px(12),
data_row.padding=px(6),
column_labels.border.top.width=px(2),
column_labels.border.bottom.width=px(2),
table_body.border.bottom.width=px(2),
table.border.top.style="hidden", table.border.bottom.style="hidden")
| TABLA N° 5: ESTIMACIÓN DE LA MEDIA POBLACIONAL | |||||
| Inferencia Estadística para la Variable Año de Inicio de Producción | |||||
| Parámetro | Lim_Inferior | Media_Muestral | Lim_Superior | Error_Estándar | Confianza |
|---|---|---|---|---|---|
| Año de Inicio de Producción Promedio Kansas | 1984.583 | 1984.711 | 1984.839 | +/- 0.1283 | 95% (Z = 1.96) |
| Autor: Leslye Quinchiguango | |||||
Se trabajó con la variable Año de Inicio de Producción omitiendo el intervalo [2020, 2027] por ser un valor aislado no representativo, y dividiendo el resto en 2 zonas con corte en 1990. Se aplicó Exponencial invertida en la Zona 1 [1930, 1990) (\(\hat{\lambda}\) = 0.0581) y Normal en la Zona 2 [1990, 2020) (\(\hat{\mu}\) = 2003.9133, \(\hat{\sigma}\) = 8.0335), con parámetros estimados exclusivamente con los datos de cada tramo. La prueba de Pearson obtuvo 89.54% y 97.26% respectivamente, y los p-valores K-S fueron 0 y 0; ambos modelos fueron aprobados (Pearson > 70%). El intervalo de confianza al 95% fue [1984.5827, 1984.8392], con media muestral 1984.711 y margen de error +/- 0.1283.
Autor: Leslye Quinchiguango — Análisis Estadístico, Kansas Hydrocarbon Leases Dataset