Cargar los datos
setwd("D:/Data")
datos <- read.csv("derrames_globales_.csv", header = TRUE, sep = ";", dec =".")
str(datos)
## 'data.frame': 3550 obs. of 23 variables:
## $ Id : int 6786 6250 8220 6241 6216 6620 6262 6229 6201 6221 ...
## $ Dia : int 19 3 21 16 19 7 10 12 18 29 ...
## $ Mes : int 1 6 4 3 12 10 2 5 3 1 ...
## $ ANo : chr "A" "1979" "2010" "1978" ...
## $ Nombre : chr "Arabian Gulf Spills; Persian Gulf, Kuwait" "IXTOC I; Bahia de Campeche, Mexico" "Deepwater Horizon; Gulf of Mexico" "Amoco Cadiz; Brittany, France" ...
## $ Ubicacion : chr "Persian Gulf, Kuwait" "Bahia de Campeche, Mexico" "Gulf of Mexico" "Brittany, France" ...
## $ Latitud : chr "29,5" "19,4083" "28,7367" "48,5833" ...
## $ Longuitud : chr "48" "-92,325" "-88,3872" "-4,71667" ...
## $ Amenaza : chr "Oil" "Oil" "Oil" "Oil" ...
## $ Etiquetas : chr "" "Collision" "" "Grounding" ...
## $ Tipo_de_crudo : chr "Kuwait crude oil" "IXTOC I crude oil" "Diesel, crude oil" "Arabian light crude, Iranian light crude, Bunker C" ...
## $ Recuperacion_en_superficie_aplicada: int NA NA 1 NA NA NA NA NA NA NA ...
## $ Recuperacion_en_costas_aplicada : int NA NA 1 NA NA NA NA NA NA NA ...
## $ Tratamiento_biologico_aplicado : int 1 NA 1 1 NA NA NA NA NA NA ...
## $ Dispersion_quimica_aplicada : int NA 1 1 1 NA NA NA 1 1 1 ...
## $ Quema_aplicada : int NA 1 1 NA NA NA NA 1 1 1 ...
## $ Maximo_liberacion_galones : int 336000009 -1 205000000 68000017 -1 -1 -1 9240000 36100000 -1 ...
## $ Barreras_de_contencion_flotantes : int 35 12 182 17 3 3 7 8 5 6 ...
## $ Causa_principal : chr "DaNo del tanque " "Incendio y explosion " "Incendio y explosion " "DaNo del tanque " ...
## $ Volumen_derramados_galones : chr "336.000.000" "365.000.000" "600.000.000" "68.000.000" ...
## $ Respuesta_actual_galones : chr "336000000" "252000000" "168000000" "68700000" ...
## $ Fuente_respuesta : chr "description and posts" "posts" "description" "posts" ...
## $ etiqueta_actualizacion : chr "RA updated" "RA newly acquired" "RA updated" "RA updated" ...
Re_s <- as.numeric(datos$Recuperacion_en_superficie_aplicada)
Re_s <- na.omit(Re_s)
TDF_Re_s <- table(Re_s)
tabla1 <- as.data.frame(TDF_Re_s)
colnames(tabla1) <- c("Resultado","ni")
tabla1$hi <- round(tabla1$ni/sum(tabla1$ni), 4)
print(tabla1)
## Resultado ni hi
## 1 0 46 0.1456
## 2 1 270 0.8544
p_hat <- mean(Re_s)
q_hat <- 1 - p_hat
cat("Probabilidad estimada p =", round(p_hat, 4), "\n")
## Probabilidad estimada p = 0.8544
cat("Probabilidad estimada q =", round(q_hat, 4), "\n")
## Probabilidad estimada q = 0.1456
Fo <- tabla1$hi
Fe <- dbinom(0:1, size = 1, prob = p_hat)
comparacion <- data.frame(Resultado = 0:1, FO = Fo, FE = Fe)
print(comparacion)
## Resultado FO FE
## 1 0 0.1456 0.1455696
## 2 1 0.8544 0.8544304
barplot(rbind(Fo, Fe),
beside = TRUE,
main = "Distribucion aleatoria de Recuperacion en superficie aplicada",
xlab = "Resultado (0=Falso, 1=Verdadero)",
ylab = "Probabilidad",
col = c("skyblue","blue"),
names.arg = c("0","1"))
legend(
"topright",
inset = c(-0.08, 0),
legend = c("Observado", "Modelo Bernoulli"),
fill = c("skyblue", "blue"),
xpd = NA,
bty = "n"
)
x2 <- sum((Fo - Fe)^2 / Fe)
vc <- qchisq(0.95, df = length(Fo) - 1)
cat("Chi-cuadrado =", round(x2,4), "\n")
## Chi-cuadrado = 0
cat("Valor crítico =", round(vc,4), "\n")
## Valor crítico = 3.8415
cat("¿Se acepta el modelo Bernoulli?:", x2 < vc, "\n")
## ¿Se acepta el modelo Bernoulli?: TRUE
plot(Fo, Fe,
main = "Correlación FO vs FE (Bernoulli)",
xlab = "Frecuencia Observada",
ylab = "Frecuencia Esperada")
abline(lm(Fe ~ Fo), col = "red", lwd = 2)
correlacion <- cor(Fo, Fe) * 100
cat("Correlación (%) =", round(correlacion,2), "\n")
## Correlación (%) = 100
Variable <- c("Recuperacion_en_superficie_aplicada (Bernoulli)")
tabla_resumen <- data.frame(
Variable,
round(correlacion, 2),
round(x2, 4),
round(vc, 4)
)
colnames(tabla_resumen) <- c("Variable", "Test Pearson (%)", "Chi Cuadrado", "Umbral de aceptación")
print(tabla_resumen)
## Variable Test Pearson (%) Chi Cuadrado
## 1 Recuperacion_en_superficie_aplicada (Bernoulli) 100 0
## Umbral de aceptación
## 1 3.8415
Pregunta: ¿Cuál es la probabilidad de que en un derrame sí se aplique la recuperación en superficie (Verdadero), bajo el modelo Bernoulli estimado?
P_verdadero <- dbinom(1, size = 1, prob = p_hat) # P(X=1)
P_falso <- dbinom(0, size = 1, prob = p_hat) # P(X=0)
tabla_prob <- data.frame(
Resultado = c("Falso (0)", "Verdadero (1)"),
Probabilidad = c(P_falso*100, P_verdadero*100)
)
print(tabla_prob)
## Resultado Probabilidad
## 1 Falso (0) 14.55696
## 2 Verdadero (1) 85.44304
Re_c <- as.numeric(datos$Recuperacion_en_costas_aplicada)
Re_c <- na.omit(Re_c)
TDF_Re_c <- table(Re_c)
tabla2 <- as.data.frame(TDF_Re_c)
colnames(tabla2) <- c("Resultado","ni")
tabla2$hi <- round(tabla2$ni/sum(tabla2$ni) ,2)
print(tabla2)
## Resultado ni hi
## 1 0 36 0.17
## 2 1 181 0.83
p_hat <- mean(Re_c)
q_hat <- 1 - p_hat
cat("Probabilidad estimada p =", round(p_hat, 4), "\n")
## Probabilidad estimada p = 0.8341
cat("Probabilidad estimada q =", round(q_hat, 4), "\n")
## Probabilidad estimada q = 0.1659
Fo2 <- tabla2$hi
Fe2 <- dbinom(0:1, size = 1, prob = p_hat)
comparacion <- data.frame(Resultado = 0:1, FO = Fo2, FE = Fe2)
print(comparacion)
## Resultado FO FE
## 1 0 0.17 0.1658986
## 2 1 0.83 0.8341014
barplot(rbind(Fo2, Fe2),
beside = TRUE,
main = "Distribucion aleatoria de Recuperacion en costas aplicada",
xlab = "Resultado (0=Falso, 1=Verdadero)",
ylab = "Probabilidad",
col = c("skyblue","blue"),
names.arg = c("0","1"))
legend(
"topright",
inset = c(-0.08, 0),
legend = c("Observado", "Modelo Bernoulli"),
fill = c("skyblue", "blue"),
xpd = NA,
bty = "n"
)
x2 <- sum((Fo2 - Fe2)^2 / Fe2)
vc <- qchisq(0.95, df = length(Fo2) - 1)
cat("Chi-cuadrado =", round(x2,4), "\n")
## Chi-cuadrado = 1e-04
cat("Valor crítico =", round(vc,4), "\n")
## Valor crítico = 3.8415
cat("¿Se acepta el modelo Bernoulli?:", x2 < vc, "\n")
## ¿Se acepta el modelo Bernoulli?: TRUE
plot(Fo2, Fe2,
main = "Correlación FO vs FE (Bernoulli)",
xlab = "Frecuencia Observada",
ylab = "Frecuencia Esperada")
abline(lm(Fe2 ~ Fo2), col = "red", lwd = 2)
correlacion <- cor(Fo2, Fe2) * 100
cat("Correlación (%) =", round(correlacion,2), "\n")
## Correlación (%) = 100
Variable <- c("Recuperacion_en_costas_aplicada (Bernoulli)")
tabla_resumen <- data.frame(
Variable,
round(correlacion, 2),
round(x2, 4),
round(vc, 4)
)
colnames(tabla_resumen) <- c("Variable", "Test Pearson (%)", "Chi Cuadrado", "Umbral de aceptación")
print(tabla_resumen)
## Variable Test Pearson (%) Chi Cuadrado
## 1 Recuperacion_en_costas_aplicada (Bernoulli) 100 1e-04
## Umbral de aceptación
## 1 3.8415
Pregunta: ¿Cuál es la probabilidad de que en un derrame sí se aplique la recuperación en costas (Verdadero), bajo el modelo Bernoulli estimado?
P_verdadero <- dbinom(1, size = 1, prob = p_hat) # P(X=1)
P_falso <- dbinom(0, size = 1, prob = p_hat) # P(X=0)
tabla_prob2 <- data.frame(
Resultado = c("Falso (0)", "Verdadero (1)"),
Probabilidad = c(P_falso*100, P_verdadero*100)
)
print(tabla_prob2)
## Resultado Probabilidad
## 1 Falso (0) 16.58986
## 2 Verdadero (1) 83.41014
Tr_b <- as.numeric(datos$Tratamiento_biologico_aplicado)
Tr_b <- na.omit(Tr_b)
TDF_Tr_b <- table(Tr_b)
tabla3<- as.data.frame(TDF_Tr_b)
colnames(tabla3) <- c("Tratamiento_biologico","ni")
tabla3$hi <- round(tabla3$ni/sum(tabla3$ni) ,2)
print(tabla3)
## Tratamiento_biologico ni hi
## 1 0 12 0.4
## 2 1 18 0.6
p_hat <- mean(Tr_b)
q_hat <- 1 - p_hat
cat("Probabilidad estimada p =", round(p_hat, 4), "\n")
## Probabilidad estimada p = 0.6
cat("Probabilidad estimada q =", round(q_hat, 4), "\n")
## Probabilidad estimada q = 0.4
Fo3 <- tabla3$hi
Fe3 <- dbinom(0:1, size = 1, prob = p_hat)
comparacion <- data.frame(Resultado = 0:1, FO = Fo3, FE = Fe3)
print(comparacion)
## Resultado FO FE
## 1 0 0.4 0.4
## 2 1 0.6 0.6
barplot(rbind(Fo3, Fe3),
beside = TRUE,
main = "Distribucion aleatoria de tratamiento bilógico aplicado",
xlab = "Resultado (0=Falso, 1=Verdadero)",
ylab = "Probabilidad",
col = c("skyblue","blue"),
names.arg = c("0","1"))
legend(
"topright",
inset = c(-0.08, 0),
legend = c("Observado", "Modelo Bernoulli"),
fill = c("skyblue", "blue"),
xpd = NA,
bty = "n"
)
x2 <- sum((Fo3 - Fe3)^2 / Fe3)
vc <- qchisq(0.95, df = length(Fo3) - 1)
cat("Chi-cuadrado =", round(x2,4), "\n")
## Chi-cuadrado = 0
cat("Valor crítico =", round(vc,4), "\n")
## Valor crítico = 3.8415
cat("¿Se acepta el modelo Bernoulli?:", x2 < vc, "\n")
## ¿Se acepta el modelo Bernoulli?: TRUE
plot(Fo3, Fe3,
main = "Correlación FO vs FE (Bernoulli)",
xlab = "Frecuencia Observada",
ylab = "Frecuencia Esperada")
abline(lm(Fe3 ~ Fo3), col = "red", lwd = 2)
correlacion <- cor(Fo3, Fe3) * 100
cat("Correlación (%) =", round(correlacion,2), "\n")
## Correlación (%) = 100
Variable <- c("Tratamiento_biologico_aplicado (Bernoulli)")
tabla_resumen <- data.frame(
Variable,
round(correlacion, 2),
round(x2, 4),
round(vc, 4)
)
colnames(tabla_resumen) <- c("Variable", "Test Pearson (%)", "Chi Cuadrado", "Umbral de aceptación")
print(tabla_resumen)
## Variable Test Pearson (%) Chi Cuadrado
## 1 Tratamiento_biologico_aplicado (Bernoulli) 100 0
## Umbral de aceptación
## 1 3.8415
Pregunta: ¿Cuál es la probabilidad de que en un derrame sí se aplica el tratamiento biologico aplicado (Verdadero), bajo el modelo Bernoulli estimado?
P_verdadero <- dbinom(1, size = 1, prob = p_hat) # P(X=1)
P_falso <- dbinom(0, size = 1, prob = p_hat) # P(X=0)
tabla_prob3 <- data.frame(
Resultado = c("Falso (0)", "Verdadero (1)"),
Probabilidad = c(P_falso*100, P_verdadero*100)
)
print(tabla_prob3)
## Resultado Probabilidad
## 1 Falso (0) 40
## 2 Verdadero (1) 60
Di_q <- as.numeric(datos$Dispersion_quimica_aplicada)
Di_q <- na.omit(Di_q)
TDF_Di_q <- table(Di_q)
tabla4<- as.data.frame(TDF_Di_q)
colnames(tabla4) <- c("Dispersion_quimica","ni")
tabla4$hi <- round(tabla4$ni/sum(tabla4$ni) ,2)
print(tabla4)
## Dispersion_quimica ni hi
## 1 0 20 0.22
## 2 1 73 0.78
p_hat <- mean(Di_q)
q_hat <- 1 - p_hat
cat("Probabilidad estimada p =", round(p_hat, 4), "\n")
## Probabilidad estimada p = 0.7849
cat("Probabilidad estimada q =", round(q_hat, 4), "\n")
## Probabilidad estimada q = 0.2151
Fo4 <- tabla4$hi
Fe4 <- dbinom(0:1, size = 1, prob = p_hat)
comparacion <- data.frame(Resultado = 0:1, FO = Fo4, FE = Fe4)
print(comparacion)
## Resultado FO FE
## 1 0 0.22 0.2150538
## 2 1 0.78 0.7849462
barplot(rbind(Fo4, Fe4),
beside = TRUE,
main = "Distribucion aleatoria de Dispersion quimica aplicada",
xlab = "Resultado (0=Falso, 1=Verdadero)",
ylab = "Probabilidad",
col = c("skyblue","blue"),
names.arg = c("0","1"))
legend(
"topright",
inset = c(-0.08, 0),
legend = c("Observado", "Modelo Bernoulli"),
fill = c("skyblue", "blue"),
xpd = NA,
bty = "n"
)
x2 <- sum((Fo4 - Fe4)^2 / Fe4)
vc <- qchisq(0.95, df = length(Fo4) - 1)
cat("Chi-cuadrado =", round(x2,4), "\n")
## Chi-cuadrado = 1e-04
cat("Valor crítico =", round(vc,4), "\n")
## Valor crítico = 3.8415
cat("¿Se acepta el modelo Bernoulli?:", x2 < vc, "\n")
## ¿Se acepta el modelo Bernoulli?: TRUE
plot(Fo4, Fe4,
main = "Correlación FO vs FE (Bernoulli)",
xlab = "Frecuencia Observada",
ylab = "Frecuencia Esperada")
abline(lm(Fe4 ~ Fo4), col = "red", lwd = 2)
correlacion <- cor(Fo4, Fe4) * 100
cat("Correlación (%) =", round(correlacion,2), "\n")
## Correlación (%) = 100
Variable <- c("Dispersion_quimica_aplicada (Bernoulli)")
tabla_resumen <- data.frame(
Variable,
round(correlacion, 2),
round(x2, 4),
round(vc, 4)
)
colnames(tabla_resumen) <- c("Variable", "Test Pearson (%)", "Chi Cuadrado", "Umbral de aceptación")
print(tabla_resumen)
## Variable Test Pearson (%) Chi Cuadrado
## 1 Dispersion_quimica_aplicada (Bernoulli) 100 1e-04
## Umbral de aceptación
## 1 3.8415
Pregunta: ¿Cuál es la probabilidad de que en un derrame sí se aplica la dispersion quimica aplicada (Verdadero), bajo el modelo Bernoulli estimado?
P_verdadero <- dbinom(1, size = 1, prob = p_hat) # P(X=1)
P_falso <- dbinom(0, size = 1, prob = p_hat) # P(X=0)
tabla_prob4 <- data.frame(
Resultado = c("Falso (0)", "Verdadero (1)"),
Probabilidad = c(P_falso*100, P_verdadero*100)
)
print(tabla_prob4)
## Resultado Probabilidad
## 1 Falso (0) 21.50538
## 2 Verdadero (1) 78.49462
Qu_a <- as.numeric(datos$Quema_aplicada)
Qu_a <- na.omit(Qu_a)
TDF_Qu_a <- table(Qu_a)
tabla5<- as.data.frame(TDF_Qu_a)
colnames(tabla5) <- c("Quema_aplicada","ni")
tabla5$hi <- round(tabla5$ni/sum(tabla5$ni) ,2)
print(tabla5)
## Quema_aplicada ni hi
## 1 0 19 0.28
## 2 1 49 0.72
p_hat <- mean(Qu_a)
q_hat <- 1 - p_hat
cat("Probabilidad estimada p =", round(p_hat, 4), "\n")
## Probabilidad estimada p = 0.7206
cat("Probabilidad estimada q =", round(q_hat, 4), "\n")
## Probabilidad estimada q = 0.2794
Fo5 <- tabla5$hi
Fe5 <- dbinom(0:1, size = 1, prob = p_hat)
comparacion <- data.frame(Resultado = 0:1, FO = Fo5, FE = Fe5)
print(comparacion)
## Resultado FO FE
## 1 0 0.28 0.2794118
## 2 1 0.72 0.7205882
barplot(rbind(Fo5, Fe5),
beside = TRUE,
main = "Distribucion aleatoria de Quema aplicada",
xlab = "Resultado (0=Falso, 1=Verdadero)",
ylab = "Probabilidad",
col = c("skyblue","blue"),
names.arg = c("0","1"))
legend(
"topright",
inset = c(-0.08, 0),
legend = c("Observado", "Modelo Bernoulli"),
fill = c("skyblue", "blue"),
xpd = NA,
bty = "n"
)
x2 <- sum((Fo5 - Fe5)^2 / Fe5)
vc <- qchisq(0.95, df = length(Fo5) - 1)
cat("Chi-cuadrado =", round(x2,4), "\n")
## Chi-cuadrado = 0
cat("Valor crítico =", round(vc,4), "\n")
## Valor crítico = 3.8415
cat("¿Se acepta el modelo Bernoulli?:", x2 < vc, "\n")
## ¿Se acepta el modelo Bernoulli?: TRUE
plot(Fo5, Fe5,
main = "Correlación FO vs FE (Bernoulli)",
xlab = "Frecuencia Observada",
ylab = "Frecuencia Esperada")
abline(lm(Fe5 ~ Fo5), col = "red", lwd = 2)
correlacion <- cor(Fo4, Fe4) * 100
cat("Correlación (%) =", round(correlacion,2), "\n")
## Correlación (%) = 100
Variable <- c("Quema_aplicada (Bernoulli)")
tabla_resumen <- data.frame(
Variable,
round(correlacion, 2),
round(x2, 4),
round(vc, 4)
)
colnames(tabla_resumen) <- c("Variable", "Test Pearson (%)", "Chi Cuadrado", "Umbral de aceptación")
print(tabla_resumen)
## Variable Test Pearson (%) Chi Cuadrado Umbral de aceptación
## 1 Quema_aplicada (Bernoulli) 100 0 3.8415
Pregunta: ¿Cuál es la probabilidad de que en un derrame sí se aplica la quema aplicada (Verdadero), bajo el modelo Bernoulli estimado?
P_verdadero <- dbinom(1, size = 1, prob = p_hat) # P(X=1)
P_falso <- dbinom(0, size = 1, prob = p_hat) # P(X=0)
# Tabla con resultados
tabla_prob5 <- data.frame(
Resultado = c("Falso (0)", "Verdadero (1)"),
Probabilidad = c(P_falso*100, P_verdadero*100)
)
print(tabla_prob5)
## Resultado Probabilidad
## 1 Falso (0) 27.94118
## 2 Verdadero (1) 72.05882