Modelo de Probabilidad de los Tipos de Pozos Petroleros en Brasil

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

1 Carga de datos

Se importa la base de datos de pozos petrolíferos de Brasil y se verifica la estructura de las variables para asegurar su correcta lectura.

2 Tabla de distribución de frecuencia del tipo de pozo

Se calcula la frecuencia absoluta de los pozos según su tipo, como base para el análisis estadístico.

Tipo <- datos$TIPO
TDFTipo_de_Pozo <- as.data.frame(table(Tipo))
TDFTipo_de_Pozo
##           Tipo  Freq
## 1 Exploratório  8334
## 2 Explotatório 21241
library(dplyr)

TDFTipo_de_Pozo$Tipo <- recode(TDFTipo_de_Pozo$Tipo,
"Exploratório" =  "Exploración",
"Explotatório" = "Producción")

3 Cálculo de frecuencias absoluta y relativa

Se calcula la distribución de frecuencias absolutas (ni) y su respectiva proporción porcentual (hi) en función del tipo de pozo.

TDFTipo_de_Pozo$Freq <- as.numeric(as.character(TDFTipo_de_Pozo$Freq))
library(dplyr)
TDFTipo_de_Pozo1 <- datos$TDFTipo_de_Pozo
TDFTipo_de_Pozo1  <- TDFTipo_de_Pozo %>%
  group_by(Tipo) %>%
  
  summarise( 
    ni = sum(Freq),
    hi = round(sum(Freq) / sum(TDFTipo_de_Pozo$Freq)*100, 2))

TDFTipo_de_Pozo1 <- data.frame(TDFTipo_de_Pozo1)

4 Incorporación de totales

Se incorporan las sumatorias totales de las frecuencias absolutas y relativas porcentuales para validar la integridad de la distribución de los datos.

TDFTipo_de_Pozo1$fi <- TDFTipo_de_Pozo1$ni / sum(TDFTipo_de_Pozo1$ni)

TDFTipo_de_Pozo1 <- TDFTipo_de_Pozo1 [, c("Tipo", "ni", "hi", "fi")]
total_ni <- sum(TDFTipo_de_Pozo1$ni) 
total_hi <- sum(TDFTipo_de_Pozo1$hi)
total_fi <- sum(TDFTipo_de_Pozo1$fi)

TDFTipo_de_Pozo_Completa <- rbind(TDFTipo_de_Pozo1, data.frame( Tipo = "Total",
                                                             ni = total_ni,
                                                             hi = total_hi,
                                                             fi = total_fi))
print(TDFTipo_de_Pozo_Completa)
##          Tipo    ni     hi        fi
## 1 Exploración  8334  28.18 0.2817921
## 2  Producción 21241  71.82 0.7182079
## 3       Total 29575 100.00 1.0000000

5 Presentación tabular de resultados

La siguiente tabla detalla la distribución de frecuencias, tabulada para su respectivo análisis e interpretación.

library(gt)
gt(TDFTipo_de_Pozo_Completa) %>%
  tab_header( 
    title = md("**Cuadro No.1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"), 
    subtitle = "Clasificación de los Pozos según su Tipo") %>% 
    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(TDFTipo_de_Pozo_Completa))
  ) %>%
  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)
  )
Cuadro No.1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL
Clasificación de los Pozos según su Tipo
Tipo ni
Frecuencia Relativa
Porcentual (%) Fracción
Exploración 8334 28.18 0.2818
Producción 21241 71.82 0.7182
Total 29575 100.00 1.0000

6 Gráficas

6.1 Histograma de frecuencia absoluta local

Muestra la cantidad de pozos por tipo, excluyendo el total general, para comparar magnitudes.

TDFTipo_de_Pozo_Completa_ <- TDFTipo_de_Pozo_Completa[TDFTipo_de_Pozo_Completa$Tipo!= "Total", ]

barplot(TDFTipo_de_Pozo_Completa_$ni,
        main = "Gráfica N°1: Distribución en cantidad según tipo de pozo",
        xlab = "Tipo de Pozo", ylab = "Cantidad",
        col = "#2E4053", names.arg = TDFTipo_de_Pozo_Completa_$Tipo,
        las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)

6.2 Histograma de frecuencia relativa local

Presenta el porcentaje de pozos por tipo, permitiendo una interpretación probabilística.

barplot(TDFTipo_de_Pozo_Completa_$hi,
        main = "Gráfica N°3: Distribución porcentual según tipo de pozo",
        xlab = "Tipo de Pozo", ylab = "Porcentaje",
        col = "#2E4053", names.arg = TDFTipo_de_Pozo_Completa_$Tipo,
        las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)

7 Modelo de probabilidad

Se construye un modelo empírico de probabilidad a partir de las frecuencias relativas de los tipos de pozo.

P_Tipo <- TDFTipo_de_Pozo_Completa_$ni / sum(TDFTipo_de_Pozo_Completa_$ni)

par(mar = c(9, 4, 4, 2))
barplot(P_Tipo,
        main = "Gráfica N°3: Distribución de Probabilidad de la Ubicación de los Pozos en Brasil",
        xlab = "Tipo de Pozo", ylab = "Probabilidad",
        col = "#2E4053", names.arg = TDFTipo_de_Pozo_Completa_$Tipo,
        las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)

7.1 Probabilidad

¿Cuál es la probabilidad de que un pozo petrolero sea de tipo Exploratorio?

x <- round(
  (TDFTipo_de_Pozo_Completa_$ni[TDFTipo_de_Pozo_Completa_$Tipo == "Exploratório"] /
   sum(TDFTipo_de_Pozo_Completa_$ni)) * 100, 1)

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

La probabilidad de que un pozo petrolero sea de tipo Exploratorio es del 28.2 %

¿Cuántos pozos petroleros pueden ser de tipo Exploratorio?.

p <- x / 100

n <- 1000

cantidad_esperada <- n * p
tipo_objetivo <- "Exploratório"

cat("Para n =", n, "pozos, cantidad de tipo de pozo", tipo_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, cantidad de tipo de pozo Exploratório =

Se espera que aproximadamente 282 pozos sean de tipo Exploratorio, por cada 1000 pozos considerados.