Modelo de Probabilidad de los Bloques de Concesión

1 Carga de Librerias

En esta sección se cargan las librerías necesarias para ejecutar las funciones utilizadas durante el procesamiento y análisis de los datos.

setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")

2 Cargar datos

Se importan los datos originales y se verifica su estructura para asegurar una lectura correcta.

3 Extraer la variable

En esta sección se extrae la variable correspondiente a los bloques de concesión registrados en la base de datos para su posterior análisis.

TDFBloque$Region <- ifelse(is.na(TDFBloque$Bloque), "Sin información",
  ifelse(grepl("^(POT|BPOT|REC|BREC|SEAL|BA|BT|PN|CE|AR|AL|SE|AG|RC|RP)", TDFBloque$Bloque), "Nordeste",
    ifelse(grepl("^(BC|BS|ES|C-M|S-M|BM|BES|TUPI|LIBRA|LULA|BUZIOS|IARA|SP|RJ|CM|CF|CR)", TDFBloque$Bloque), "Sudeste",
        ifelse(grepl("^(AM|SOL|FZA|AC|SF|SO)", TDFBloque$Bloque), "Norte",
            ifelse(TDFBloque$Bloque %in% c("Brasil", "CP", "CAM", "ET", "RO", "FZB", "ARG", "MG", "DJM", "FP", "SZ", "FBM", "PIR", "CS"), "Campos Maduros/Genérico", "Otros")))))
TDFBloque$Region[TDFBloque$Region == "Sin información"] <- "Otros"
head(TDFBloque$Region)
## [1] "Otros"    "Otros"    "Otros"    "Otros"    "Otros"    "Nordeste"

4 Conteo

Se calculan las frecuencias absolutas y relativas por región.

TDFBloque$Freq <- as.numeric(as.character(TDFBloque$Freq))
library(dplyr)
TDFBloque_ <- Datos$TDFBloque
TDFBloque_ <- TDFBloque %>%
  group_by(Region) %>%
  summarise( 
    ni = sum(Freq),
    hi = round(sum(Freq) / sum(TDFBloque$Freq)*100, 2))

TDFBloque_ <- data.frame(TDFBloque_)
TDFBloque_ <- TDFBloque_ [, c("Region", "ni", "hi")]
TDFBloque_$fi <- TDFBloque_$ni / sum(TDFBloque_$ni)
total_ni <- sum(TDFBloque_$ni) 
total_hi <- 100 
total_fi <- sum(TDFBloque_$fi) 
TDFBloque_1 <- rbind(TDFBloque_, data.frame(Region = "Total",
                                                          ni = total_ni,
                                                          hi = total_hi,
                                                          fi = total_fi))
print(TDFBloque_1)
##                    Region    ni     hi          fi
## 1 Campos Maduros/Genérico 12633  42.72 0.427151310
## 2                Nordeste  3538  11.96 0.119628064
## 3                   Norte    68   0.23 0.002299239
## 4                   Otros 11654  39.40 0.394049028
## 5                 Sudeste  1682   5.69 0.056872358
## 6                   Total 29575 100.00 1.000000000

5 Tabla de frecuencia

Se presenta la tabla final mediante un formato profesional utilizando la librería gt, optimizando la visualización y legibilidad de los resultados.

library(gt)
gt(TDFBloque_1) %>%
  tab_header( 
    title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"), 
    subtitle = "Distribución de los Bloques de Concesión por Ubicación") %>%  
    tab_spanner(
    label   = md("**Frecuencia Relativa**"),
    columns = c(hi, fi)
  ) %>%
    cols_label(
    ni = md("**ni**"),
    hi = md("Porcentual (%)"),
    fi = md("Fracción")
  ) %>%
  fmt_number(columns = hi, decimals = 2) %>%
  fmt_number(columns = fi, decimals = 4) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style     = list(cell_fill(color = "#2E4053"),
                     cell_text(color = "white", weight = "bold")),
    locations = cells_title()
  ) %>%
  tab_style(
    style     = list(cell_fill(color = "#F2F3F4"),
                     cell_text(weight = "bold", color = "#2E4053")),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style     = list(cell_fill(color = "#2E4053"),
                     cell_text(color = "white", weight = "bold")),
    locations = cells_column_spanners()
  ) %>%
  tab_style(
    style     = list(cell_fill(color = "#D5D8DC"),
                     cell_text(weight = "bold", color = "#2E4053")),
    locations = cells_body(rows = nrow(TDFBloque_1))
  ) %>%
  tab_options(
    table.border.top.color          = "#2E4053",
    table.border.bottom.color       = "#2E4053",
    column_labels.border.bottom.color = "#2E4053",
    data_row.padding                = px(6),
    table.font.size                 = px(13)
  )
Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL
Distribución de los Bloques de Concesión por Ubicación
Region ni
Frecuencia Relativa
Porcentual (%) Fracción
Campos Maduros/Genérico 12633 42.72 0.4272
Nordeste 3538 11.96 0.1196
Norte 68 0.23 0.0023
Otros 11654 39.40 0.3940
Sudeste 1682 5.69 0.0569
Total 29575 100.00 1.0000

6 Gráficas

6.1 Histograma de frecuencia absoluta local

Se visualiza la cantidad de bloques por región.

TDFBloque_2 <- TDFBloque_1[TDFBloque_1$Region!= "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFBloque_2$ni,
        main = "Gráfica N°1: Distribución en cantidad de los bloques de concesión por ubicación",
        ylab = "Cantidad",
        col = "#2E4053", names.arg = TDFBloque_2$Region,
        las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1)
mtext("Región", side = 1, line = 7)

6.2 Histograma de frecuencia relativa local (hi)

Este gráfico representa el peso porcentual de cada región respecto del total de bloques analizados.

par(mar = c(9, 4, 4, 2))
barplot(TDFBloque_2$hi,
        main = "Gráfica N°3: Distribución en porcentaje de los bloques de concesión por ubicación",
        ylab = "Porcentaje",
        col = "#2E4053", names.arg = TDFBloque_2$Region,
        las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1)
mtext("Región", side = 1, line = 7)

7 Modelo de probabilidad

Se construye la distribución de probabilidad empírica por región.

P_Bloque <- TDFBloque_2$ni / sum(TDFBloque_2$ni)

par(mar = c(9, 4, 4, 2))
barplot(P_Bloque,
        main = "Gráfica N°3: Distribución de Probabilidad de los bloques de concesión por ubicación",
        ylab = "Probabilidad",
        col = "#2E4053", names.arg = TDFBloque_2$Region,
        las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1)
mtext("Región", side = 1, line = 7)

7.1 Probabilidad

¿Cuál es la probabilidad de que un bloque de concesión seleccionado aleatoriamente pertenezca a la región Nordeste?

x <- round(
  (TDFBloque_2$ni[TDFBloque_2$Region == "Nordeste"] /
   sum(TDFBloque_2$ni)) * 100, 1)

print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 12 %"

La probabilidad calculada indica que cerca del 12 % de los bloques de concesión se ubican en la región Nordeste, lo que evidencia una presencia moderada frente al total nacional.

¿Cuántos bloques de concesión existen en la región Nordeste?

p <- x / 100

n <- 1000

cantidad_esperada <- n * p
Bloque_objetivo <- "Nordeste"

cat("Para n =", n, "bloques de concesión esperada en", Bloque_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 bloques de concesión esperada en Nordeste = 120

Con base en el modelo probabilístico, para un conjunto hipotético de 1000 bloques, se espera que aproximadamente 120 bloques pertenezcan a la región Nordeste, manteniendo la proporción observada en los datos reales.

8 Conclusión

El modelo probabilístico muestra que la región Nordeste representa aproximadamente el 12 % de los bloques de concesión analizados. Manteniendo esta proporción, se estima que de cada 1000 bloques, alrededor de 120 pertenecerían a esta región, evidenciando su participación dentro de la distribución nacional.