Modelo de Probabilidad de las Cuencas Petrolíferas en Brasil
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
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.
Datos <- read.csv("Pozos brasil 2.csv", header = TRUE, sep = ";", dec = ",")
str(Datos)
## 'data.frame': 29575 obs. of 59 variables:
## $ POCO : chr "7-RO-123HP-RJS" "1-BP-7-RJS" "7-ARGO-4H-ESS" "7-ARGO-5H-ESS" ...
## $ CADASTRO : num 7.43e+10 7.43e+10 3.43e+10 3.43e+10 3.43e+10 ...
## $ OPERADOR : chr "Petrobras" "BP Energy" "Shell Brasil" "Shell Brasil" ...
## $ POCO_OPERADOR : chr "7RO123HPRJS" "ANU" "7ARGO4HESS" "7ARGO5HESS" ...
## $ ESTADO : chr "RJ" "RJ" "ES" "ES" ...
## $ BACIA : chr "Campos" "Campos" "Campos" "Campos" ...
## $ BLOCO : chr "" "C-M-473" "" "" ...
## $ SIG_CAMPO : chr "RO " "" "ARGO " "ARGO " ...
## $ CAMPO : chr "RONCADOR" "" "ARGONAUTA" "ARGONAUTA" ...
## $ TERRA_MAR : chr "M" "M" "M" "M" ...
## $ POCO_POS_ANP : chr "S" "S" "S" "S" ...
## $ TIPO : chr "Explotat\xf3rio" "Explorat\xf3rio" "Explotat\xf3rio" "Explotat\xf3rio" ...
## $ CATEGORIA : chr "Desenvolvimento" "Pioneiro" "Desenvolvimento" "Desenvolvimento" ...
## $ RECLASSIFICACAO : chr "PRODUTOR COMERCIAL DE PETR\xd3LEO" "PORTADOR DE PETR\xd3LEO" "ABANDONADO POR OUTRAS RAZ\xd5ES" "INDEFINIDO" ...
## $ SITUACAO : chr "PRODUTOR" "ABANDONADO POR LOG\xcdSTICA EXPLORAT\xd3RIA" "ABANDONADO DEFINITIVAMENTE" "PRODUTOR" ...
## $ INICIO : chr "3/3/2012" "14/3/2012" "12/4/2012" "14/4/2012" ...
## $ TERMINO : chr "10/3/2013" "20/9/2012" "19/9/2012" "2/5/2013" ...
## $ CONCLUSAO : chr "10/3/2013" "19/10/2012" "28/9/2012" "13/5/2013" ...
## $ TITULARIDADE : chr "P\xfablico" "P\xfablico" "P\xfablico" "P\xfablico" ...
## $ LATITUDE_BASE_4C : chr "-21:57:45,630" "-23:06:09,622" "-21:08:06,801" "-21:08:12,535" ...
## $ LONGITUDE_BASE_4C : chr "-39:44:01,130" "-40:00:41,295" "-39:46:53,226" "-39:46:49,296" ...
## $ LATITUDE_BASE_DD : num -22 -23.1 -21.1 -21.1 -21.1 ...
## $ LONGITUDE_BASE_DD : num -39.7 -40 -39.8 -39.8 -39.8 ...
## $ DATUM_HORIZONTAL : chr "SIRGAS2000" "SIRGAS2000" "SIRGAS2000" "SIRGAS2000" ...
## $ TIPO_DE_COORDENADA_DE_BASE: chr "Definitiva" "Definitiva" "Definitiva" "Definitiva" ...
## $ DIRECAO : chr "Horizontal" "Vertical" "Horizontal" "Horizontal" ...
## $ PROFUNDIDADE_VERTICAL_M : num -3145 6900 2937 2934 2953 ...
## $ PROFUNDIDADE_SONDADOR_M : num 4050 6925 3809 4575 4570 ...
## $ PROFUNDIDADE_MEDIDA_M : num 4050 6925 3809 4575 4570 ...
## $ REFERENCIA_DE_PROFUNDIDADE: chr "MR" "MR" "MR" "MR" ...
## $ MESA_ROTATIVA : num 24 25 24.2 24.2 24.2 ...
## $ COTA_ALTIMETRICA_M : num 0 0 0 0 0 ...
## $ LAMINA_D_AGUA_M : num 1827 2730 1706 1705 1654 ...
## $ DATUM_VERTICAL : chr "NM" "NM" "NM" "NM" ...
## $ UNIDADE_ESTRATIGRAFICA : chr "" "" "" "" ...
## $ GEOLOGIA_GRUPO_FINAL : chr "Campos" "Lagoa Feia" "Campos" "Campos" ...
## $ GEOLOGIA_FORMACAO_FINAL : chr "Carapebus" "Macabu" "Ubatuba" "Ubatuba" ...
## $ GEOLOGIA_MEMBRO_FINAL : chr "" "" "" "" ...
## $ CDPE : chr "Existe" "Existe" "Existe" "" ...
## $ AGP : chr "" "" "" "" ...
## $ PC : chr "" "Existe" "" "" ...
## $ PAG : chr "" "" "" "" ...
## $ PERFIS_CONVENCIONAIS : chr "" "Existe" "" "" ...
## $ DURANTE_PERFURACAO : chr "Existe" "Existe" "Existe" "Existe" ...
## $ PERFIS_DIGITAIS : chr "" "" "" "" ...
## $ PERFIS_PROCESSADOS : chr "" "" "" "" ...
## $ PERFIS_ESPECIAIS : chr "" "" "" "" ...
## $ AMOSTRA_LATERAL : chr "" "Existe" "" "" ...
## $ SISMICA : chr "" "Existe" "" "" ...
## $ TABELA_TEMPO_PROFUNDIDADE : chr "" "" "" "" ...
## $ DADOS_DIRECIONAIS : chr "Existe" "Existe" "Existe" "Existe" ...
## $ TESTE_A_CABO : chr "Existe" "Existe" "" "" ...
## $ TESTE_DE_FORMACAO : chr "" "" "" "" ...
## $ CANHONEIO : chr "" "" "" "" ...
## $ TESTEMUNHO : chr "" "" "" "" ...
## $ GEOQUIMICA : chr "" "" "" "" ...
## $ SIG_SONDA : chr "SS-49" "DS4" "NB2" "NB2" ...
## $ NOM_SONDA : chr "SEDCO 707" "Deep Ocean Clarion" "Bully 2" "Bully 2" ...
## $ DHA_ATUALIZACAO : chr "28/1/2018 5:00" "28/1/2018 5:00" "28/1/2018 5:00" "28/1/2018 5:00" ...
Se calcula la frecuencia absoluta de los pozos según la cuenca petrolífera registrada.
Cuencas <- Datos$BACIA
TDFCuencas <- as.data.frame(table(Cuencas))
TDFCuencas
## Cuencas Freq
## 1 S\xe3o Lu\xeds 19
## 2 Paran\xe1 125
## 3 Maraj\xf3 18
## 4 Pernambuco - Para\xedba 3
## 5 Jacu\xedpe 1
## 6 Bragan\xe7a - Vizeu 2
## 7 Parna\xedba 163
## 8 S\xe3o Francisco 59
## 9 Acre 11
## 10 Alagoas 935
## 11 Almada 24
## 12 Amazonas 218
## 13 Araripe 2
## 14 Barreirinhas 123
## 15 Cear\xe1 228
## 16 Par\xe1 - Maranh\xe3o 34
## 17 Esp\xedrito Santo 1997
## 18 Solim\xf5es 364
## 19 Jatob\xe1 2
## 20 Camamu 96
## 21 Campos 3418
## 22 Cumuruxatiba 48
## 23 Foz do Amazonas 95
## 24 Jequitinhonha 40
## 25 Mucuri 56
## 26 Pantanal 13
## 27 Parecis - Alto Xingu 6
## 28 Pelotas 20
## 29 Potiguar 9187
## 30 Rio do Peixe 5
## 31 Santos 706
## 32 Sergipe 4707
## 33 Tacutu 2
## 34 Tucano Central 13
## 35 Tucano Norte 5
## 36 Tucano Sul 136
## 37 Rec\xf4ncavo 6694
Clasificación de las cuencas petrolíferas en macro-regiones.
library(dplyr)
TDFCuencas$CUENCAS <- ifelse(TDFCuencas$Cuenca %in% c("Acre", "Amazonas", "Solimões", "Foz do Amazonas", "Marajó", "Tacutu", "Parecis - Alto Xingu"), "Cuencas del Norte",
ifelse(TDFCuencas$Cuenca %in% c("Alagoas", "Araripe", "Barreirinhas", "Bragança - Vizeu", "Camamu", "Ceará", "Cumuruxatiba", "Jatobá", "Parnaíba", "Pernambuco - Paraíba", "Potiguar", "Recôncavo", "Rio do Peixe", "Sergipe", "São Francisco", "São Luís", "Tucano Central", "Tucano Norte", "Tucano Sul"),"Cuencas del Nordeste",
ifelse(TDFCuencas$Cuenca %in% c("Campos", "Espírito Santo", "Santos"), "Cuencas del Sudeste",
ifelse(TDFCuencas$Cuenca %in% c("Paraná", "Pelotas"), "Cuencas del Sur",
ifelse(TDFCuencas$Cuenca %in% c("Pantanal", "Almada", "Mucuri", "Jequitinhonha", "Pará - Maranhão"),"Cuencas del Centro-Oeste", "Otros")))))
head(TDFCuencas$CUENCAS)
## [1] "Otros" "Otros" "Otros" "Otros" "Otros" "Otros"
Se obtienen las frecuencias absolutas (ni) y relativas (hi) por macrozona de cuencas como base del modelo probabilístico.
TDFCuencas$Freq <- as.numeric(as.character(TDFCuencas$Freq))
library(dplyr)
TDFCuencas1 <- Datos$TDFCuencas
TDFCuencas1 <- TDFCuencas %>%
group_by(CUENCAS) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFCuencas$Freq)*100, 5))
TDFCuencas1 <- data.frame(TDFCuencas1)
Incorporación de la fila total al cuadro de frecuencias.
TDFCuencas1 <- TDFCuencas1 [, c("CUENCAS", "ni", "hi")]
TDFCuencas1$fi <- TDFCuencas1$ni / sum(TDFCuencas1$ni)
total_ni <- sum(TDFCuencas1$ni)
total_hi <- sum(TDFCuencas1$hi)
total_fi <- sum(TDFCuencas1$fi)
TDFCuencas1.1 <- rbind(TDFCuencas1, data.frame( CUENCAS = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDFCuencas1.1)
## CUENCAS ni hi fi
## 1 Cuencas del Centro-Oeste 133 0.44970 0.0044970414
## 2 Cuencas del Nordeste 15257 51.58749 0.5158748943
## 3 Cuencas del Norte 332 1.12257 0.0112256974
## 4 Cuencas del Sudeste 4124 13.94421 0.1394420964
## 5 Cuencas del Sur 20 0.06762 0.0006762468
## 6 Otros 9709 32.82840 0.3282840237
## 7 Total 29575 99.99999 1.0000000000
Visualización del cuadro de distribución mediante tabla formal.
library(gt)
gt(TDFCuencas1.1) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Cuencas Petrolíferas en Brasil") %>%
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(TDFCuencas1.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 | |||
| Cuencas Petrolíferas en Brasil | |||
| CUENCAS | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Cuencas del Centro-Oeste | 133 | 0.45 | 0.0045 |
| Cuencas del Nordeste | 15257 | 51.59 | 0.5159 |
| Cuencas del Norte | 332 | 1.12 | 0.0112 |
| Cuencas del Sudeste | 4124 | 13.94 | 0.1394 |
| Cuencas del Sur | 20 | 0.07 | 0.0007 |
| Otros | 9709 | 32.83 | 0.3283 |
| Total | 29575 | 100.00 | 1.0000 |
Distribución en cantidad considerando la escala total.
TDFCuencas1.1 <- TDFCuencas1.1[TDFCuencas1.1$CUENCAS != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFCuencas1.1$ni,
main = "Gráfica N°1: Distribución en cantidad de cuencas por región",
ylab = "Cantidad",
col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Cuencas", side = 1, line = 7)
Distribución porcentual sin ajuste de escala global.
par(mar = c(9, 4, 4, 2))
barplot(TDFCuencas1.1$hi,
main = "Gráfica N°3: Distribución porcentual de cuencas por región",
ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Cuencas", side = 1, line = 7)
Se construye un modelo empírico de probabilidad a partir de las frecuencias relativas por macrozona de cuencas.
P_Ubicación <- TDFCuencas1.1$ni / sum(TDFCuencas1.1$ni)
par(mar = c(9, 4, 4, 2))
barplot(P_Ubicación,
main = "Gráfica N°3: Distribución de Probabilidad de la Ubicación de los pozos",
ylab = "Probabilidad",
col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Cuencas", side = 1, line = 7)
¿Cuál es la probabilidad de que las cuencas se encuentren en el Sudeste?
x <- round(
(TDFCuencas1.1$ni[TDFCuencas1.1$CUENCAS == "Cuencas del Sudeste"] /
sum(TDFCuencas1.1$ni)) * 100, 1)
print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 13.9 %"
La probabilidad obtenida indica que aproximadamente el 20.7% de las cuencas estan ubicadas en el Sudeste.
¿Cuántas cuencas pueden estar situadas en el Sudeste?.
p <- x / 100
n <- 1000
cantidad_esperada <- n * p
Cuenca_objetivo <- "Cuencas del Sudeste"
cat("Para n =", n, "cuencas, cantidad esperada en", Cuenca_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 cuencas, cantidad esperada en Cuencas del Sudeste = 139
Se espera que aproximadamente 207 de las cuencas estén ubicadas en el Sudeste, por cada 1000 pozos considerados