Variable Original: Discovery Year


1 Cargar Librerías

Para ejecutar el análisis estadístico sobre la extracción mundial de petróleo y gas, se cargan las librerías necesarias. dplyr permite filtrar y transformar los registros de producción, readxl habilita la lectura del dataset en formato Excel, mientras que knitr y kableExtra estructuran los resultados estadísticos de forma clara.

library(dplyr)
library(ggplot2)
library(knitr)
library(kableExtra)
library(readxl)
library(e1071)

2 Cargar Datos

Se importa el dataset global de extracción de petróleo y gas, conformado por 49,212 registros de yacimientos y unidades productivas distribuidas en distintos países del mundo.

datos <- read_excel("dataset_mundial_petro.xlsx")
cat("Dimensiones del dataset:", nrow(datos), "filas y", ncol(datos), "columnas\n")
## Dimensiones del dataset: 49212 filas y 32 columnas

3 Extraer la Variable

Se selecciona la variable Discovery Year, que registra el año de descubrimiento de cada yacimiento extractivo. Tras eliminar valores ausentes se obtienen 4,935 registros válidos, con datos desde 1869 hasta 2023.

discovery_year <- as.numeric(datos$`Discovery year`)
discovery_year <- discovery_year[!is.na(discovery_year)]
cat("Total de registros válidos:", length(discovery_year), "\n")
## Total de registros válidos: 4935
cat("Primeros 10 valores:", head(discovery_year, 10), "\n")
## Primeros 10 valores: 1949 2001 1966 1975 1984 1986 1981 2004 1981 1986

4 Conteo

Se contabiliza el número de yacimientos petroleros y gasíferos por década, permitiendo identificar los periodos de mayor actividad exploratoria en la industria mundial de hidrocarburos.

conteo <- as.data.frame(table(discovery_year))
colnames(conteo) <- c("Año de Descubrimiento", "Frecuencia Absoluta")
cat("Total de años únicos registrados:", nrow(conteo), "\n")
## Total de años únicos registrados: 125
cat("Año con más descubrimientos:", conteo[which.max(conteo$`Frecuencia Absoluta`), 1], 
    "con", max(conteo$`Frecuencia Absoluta`), "registros\n")
## Año con más descubrimientos: 51 con 163 registros

5 Tabla de Frecuencia

Se construye la tabla de frecuencias agrupando los descubrimientos por décadas, mostrando frecuencia absoluta, relativa y acumulada ascendente y descendente, para analizar la evolución histórica de la exploración de petróleo y gas a nivel mundial.

decada <- floor(discovery_year / 10) * 10
tabla_decadas <- as.data.frame(table(decada))
colnames(tabla_decadas) <- c("Década", "ni")

tabla_decadas <- tabla_decadas %>%
  mutate(
    `hi (%)` = paste0(round(ni / sum(ni) * 100, 2), "%"),
    `Ni Asc` = cumsum(ni),
    `Ni Dsc` = sum(ni) - cumsum(ni) + ni,
    `Hi Asc` = paste0(round(cumsum(ni / sum(ni)) * 100, 2), "%"),
    `Hi Dsc` = paste0(round((sum(ni) - cumsum(ni) + ni) / sum(ni) * 100, 2), "%")
  )

kable(tabla_decadas, align = "c", caption = "Tabla de Frecuencias por Década — Discovery Year") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "bordered"),
                full_width = FALSE,
                position = "center") %>%
  row_spec(0, bold = TRUE, background = "#d9d9d9", color = "black")
Tabla de Frecuencias por Década — Discovery Year
Década ni hi (%) Ni Asc Ni Dsc Hi Asc Hi Dsc
1860 6 0.12% 6 4935 0.12% 100%
1880 6 0.12% 12 4929 0.24% 99.88%
1890 4 0.08% 16 4923 0.32% 99.76%
1900 53 1.07% 69 4919 1.4% 99.68%
1910 87 1.76% 156 4866 3.16% 98.6%
1920 81 1.64% 237 4779 4.8% 96.84%
1930 154 3.12% 391 4698 7.92% 95.2%
1940 292 5.92% 683 4544 13.84% 92.08%
1950 609 12.34% 1292 4252 26.18% 86.16%
1960 667 13.52% 1959 3643 39.7% 73.82%
1970 731 14.81% 2690 2976 54.51% 60.3%
1980 619 12.54% 3309 2245 67.05% 45.49%
1990 490 9.93% 3799 1626 76.98% 32.95%
2000 591 11.98% 4390 1136 88.96% 23.02%
2010 430 8.71% 4820 545 97.67% 11.04%
2020 115 2.33% 4935 115 100% 2.33%

6 Gráficas y Modelado Binomial Integral

6.1 Distribución de descubrimientos por época

Se observa que los descubrimientos se concentran en la era moderna (1960–1989), reflejando fielmente el comportamiento de la variable discreta en su conjunto. La probabilidad de éxito se define como la proporción de yacimientos descubiertos en dicha época de boom exploratorio.

epocas <- c("Pre-1960", "1960-1989", "Post-1989")
frec_epocas <- c(
  sum(discovery_year < 1960),
  sum(discovery_year >= 1960 & discovery_year <= 1989),
  sum(discovery_year > 1989)
)
p_exito <- frec_epocas[2] / length(discovery_year)
prob_epocas <- frec_epocas / length(discovery_year)

df_epocas <- data.frame(Epoca = epocas, Probabilidad = prob_epocas)

ggplot(df_epocas, aes(x = Epoca, y = Probabilidad)) +
  geom_bar(stat = "identity", fill = "#add8e6", color = "#2980b9", width = 0.5) +
  labs(
    title = "Gráfica No 1: Distribución por época de descubrimiento",
    x = "Época",
    y = "Probabilidad",
    caption = "Fuente: Dataset Mundial de Petróleo y Gas"
  ) +
  theme_minimal(base_size = 12) +
  theme(plot.title = element_text(face = "bold", hjust = 0.5))


6.2 Ajuste del Modelo Binomial

Alineación del cálculo probabilístico matemático discreto sobre los índices naturales asignados por R en su orden de procesamiento. Se define el experimento: en grupos de n=3 yacimientos seleccionados al azar, X representa el número de yacimientos descubiertos en la época de mayor auge exploratorio (1960–1989), con probabilidad de éxito p estimada por máxima verosimilitud.

set.seed(123)
n_param <- 3
muestra <- sample(discovery_year, size = 50, replace = FALSE)
x_grupos <- sapply(seq(1, 48, by = 3), function(i) {
  sum(muestra[i:(i+2)] >= 1960 & muestra[i:(i+2)] <= 1989)
})

freq_obs_tabla <- as.data.frame(table(factor(x_grupos, levels = 0:3)))
colnames(freq_obs_tabla) <- c("x_Index", "Freq_Obs")
freq_obs_tabla$x_Index <- as.numeric(as.character(freq_obs_tabla$x_Index))

total_grupos <- sum(freq_obs_tabla$Freq_Obs)
x_bar <- sum(freq_obs_tabla$x_Index * freq_obs_tabla$Freq_Obs) / total_grupos
p_mle <- x_bar / n_param

freq_obs_tabla$Media     <- round(p_mle, 4)
freq_obs_tabla$Prob_Binomial <- round(dbinom(freq_obs_tabla$x_Index, n_param, p_mle), 4)

print(freq_obs_tabla[, c("x_Index", "Media", "Prob_Binomial")])
##   x_Index Media Prob_Binomial
## 1       0 0.375        0.2441
## 2       1 0.375        0.4395
## 3       2 0.375        0.2637
## 4       3 0.375        0.0527

6.3 Relación entre el modelo Binomial y la realidad

El siguiente gráfico compara las frecuencias relativas observadas en la muestra con las probabilidades teóricas del modelo Binomial ajustado, permitiendo evaluar visualmente qué tan bien se ajusta el modelo a los datos reales de descubrimiento de yacimientos.

esp_frec <- freq_obs_tabla$Prob_Binomial * total_grupos
obs_frec <- freq_obs_tabla$Freq_Obs

df_comparacion <- data.frame(
  x = rep(freq_obs_tabla$x_Index, 2),
  Frecuencia = c(obs_frec / total_grupos, freq_obs_tabla$Prob_Binomial),
  Tipo = rep(c("Realidad", "Modelo Binomial"), each = nrow(freq_obs_tabla))
)

ggplot(df_comparacion, aes(x = factor(x), y = Frecuencia, fill = Tipo)) +
  geom_bar(stat = "identity", position = "dodge", alpha = 0.85) +
  scale_fill_manual(values = c("Modelo Binomial" = "#1a5276", "Realidad" = "#add8e6")) +
  labs(
    title = "Gráfica No 2: Relación entre el modelo binomial y la realidad",
    x = "Número de éxitos (x)",
    y = "Probabilidad",
    fill = "",
    caption = "Fuente: Dataset Mundial de Petróleo y Gas"
  ) +
  theme_minimal(base_size = 12) +
  theme(plot.title = element_text(face = "bold", hjust = 0.5))


7 Bondad de Ajuste - Test de Pearson y Chi Cuadrado

Se aplica la prueba Chi Cuadrado para evaluar si la distribución de los años de descubrimiento se ajusta al modelo Binomial propuesto. La correlación de Pearson mide la similitud entre las frecuencias observadas y esperadas, mientras que el estadístico Chi Cuadrado determina formalmente si el modelo es aceptado o rechazado.

obs_vec <- obs_frec
esp_vec <- freq_obs_tabla$Prob_Binomial * total_grupos

pearson_r  <- round(cor(obs_vec, esp_vec) * 100, 2)
chi2_calc  <- round(sum((obs_vec - esp_vec)^2 / esp_vec), 4)
gl         <- nrow(freq_obs_tabla) - 1 - 1
vc         <- round(qchisq(0.95, df = gl), 4)
resultado  <- ifelse(chi2_calc < vc, "ESTADO DEL MODELO: APRUEBA", "ESTADO DEL MODELO: NO APRUEBA")
color_res  <- ifelse(chi2_calc < vc, "#27ae60", "#e74c3c")

tabla_bondad <- data.frame(
  `Métrica de Evaluación` = c(
    "Correlación de Pearson (%)",
    "Chi-Cuadrado Calculado (X²)",
    paste0("Valor Crítico en Tabla (vc)  gl = ", gl, "  α = 0.05"),
    "Resultado de Validación"
  ),
  `Resultado Obtenido` = c(
    paste0(pearson_r, " %"),
    chi2_calc,
    vc,
    resultado
  ),
  check.names = FALSE
)

kable(tabla_bondad, align = "c", caption = "CUADRO N°2\nIndicadores de Ajuste Estadístico de la Prueba de Bondad") %>%
  kable_styling(bootstrap_options = c("striped", "bordered"),
                full_width = FALSE, position = "center") %>%
  row_spec(0, bold = TRUE, background = "#d9d9d9") %>%
  row_spec(nrow(tabla_bondad), bold = TRUE, color = color_res)
CUADRO N°2 Indicadores de Ajuste Estadístico de la Prueba de Bondad
Métrica de Evaluación Resultado Obtenido
Correlación de Pearson (%) 93.17 %
Chi-Cuadrado Calculado (X²) 1.1422
Valor Crítico en Tabla (vc) gl = 2 α = 0.05 5.9915
Resultado de Validación ESTADO DEL MODELO: APRUEBA

8 Calculo de Probabilidades

PREGUNTA N 1: ¿Cuál es la probabilidad de que exactamente 2 de 3 yacimientos seleccionados al azar hayan sido descubiertos en la época de mayor auge (1960–1989)?

PREGUNTA N 2: ¿Cuál es la probabilidad acumulada de que al menos 1 de 3 yacimientos pertenezca a la época de boom exploratorio?

p1 <- round(dbinom(2, n_param, p_mle) * 100, 2)
cat("Probabilidad de exactamente 2 éxitos en n=3:", p1, "%\n")
## Probabilidad de exactamente 2 éxitos en n=3: 26.37 %
p2 <- round((1 - dbinom(0, n_param, p_mle)) * 100, 2)
cat("Probabilidad de al menos 1 éxito en n=3:", p2, "%\n")
## Probabilidad de al menos 1 éxito en n=3: 75.59 %

9 Conclusiones

La variable Año de Descubrimiento presenta un comportamiento estocástico gobernado por patrones identificables a lo largo de más de un siglo de actividad exploratoria mundial. Mediante la probabilidad de éxito calculada a partir de la proporción de yacimientos descubiertos durante la época de mayor auge exploratorio (1960–1989), su distribución se ajusta adecuadamente a un modelo Binomial, lo cual fue validado estadísticamente mediante la prueba de bondad de ajuste Chi-Cuadrado. Esta estructura permite predecir, POR EJEMPLO, ¿cuál es la probabilidad de que, de un grupo de 3 yacimientos seleccionados al azar, al menos 1 haya sido descubierto durante esa época de boom exploratorio? (75.59%), facilitando la implementación de estrategias de planificación e inversión basadas en el peso histórico de cada periodo de descubrimiento.