1.Carga de datos

setwd("/cloud/project/")
datos<-read.csv("DerramesEEUU.csv", header = TRUE, sep=";" , dec=",")
str(datos)
## 'data.frame':    2760 obs. of  59 variables:
##  $ NumeroInforme                          : int  20100064 20100054 20100092 20100098 20100101 20100102 20100113 20100120 20100039 20100150 ...
##  $ NumeroComplementario                   : int  15072 15114 15120 15127 15130 15132 15146 15162 15197 15205 ...
##  $ DiaAccidente                           : int  8 25 10 28 27 29 11 23 15 11 ...
##  $ MesAccidente                           : int  4 3 5 4 5 5 6 5 3 1 ...
##  $ AnioAccidente                          : int  2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 ...
##  $ HoraAccidente                          : int  6 13 6 24 3 14 7 6 15 2 ...
##  $ AmPmAccidente                          : chr  "a. m." "p. m." "a. m." "p. m." ...
##  $ IDOperador                             : int  31684 18779 30829 12105 20160 30003 1248 300 18718 32296 ...
##  $ NombreOperador                         : chr  "CONOCOPHILLIPS" "SUNOCO, INC (R&M)" "TEPPCO CRUDE PIPELINE, LLC" "MAGELLAN AMMONIA PIPELINE, L.P." ...
##  $ NombreOleoductoInstalacion             : chr  "GD-03, GOLD LINE" "PHILADELPHIA REFINERY - WEST YARD" "HOBBS TO MIDLAND" "WHITING TO EARLY SEGMENT" ...
##  $ UbicacionOleoducto                     : chr  "ONSHORE" "ONSHORE" "ONSHORE" "ONSHORE" ...
##  $ TipoOleoducto                          : chr  "ABOVEGROUND" "ABOVEGROUND" "UNDERGROUND" "UNDERGROUND" ...
##  $ TipoLiquido                            : chr  "REFINED AND/OR PETROLEUM PRODUCT (NON-HVL), LIQUID" "REFINED AND/OR PETROLEUM PRODUCT (NON-HVL), LIQUID" "CRUDE OIL" "HVL OR OTHER FLAMMABLE OR TOXIC FLUID, GAS" ...
##  $ SubtipoLiquido                         : chr  "GASOLINE (NON-ETHANOL)" "OTHER" "-" "ANHYDROUS AMMONIA" ...
##  $ NombreLiquido                          : chr  "-" "VACUUM GAS OIL (VGO)" "-" "-" ...
##  $ CiudadAccidente                        : chr  "GREEN RIDGE" "PHILADELPHIA" "HOBBS" "SCHALLER" ...
##  $ CondadoAccidente                       : chr  "PETTIS" "PHILADELPHIA" "LEA" "IDA" ...
##  $ EstadoAccidente                        : chr  "MO" "PA" "NM" "IA" ...
##  $ LatitudAccidente                       : num  38.6 39.9 32.6 42.5 30.2 ...
##  $ LongitudAccidente                      : num  -93.4 -75.2 -103.1 -95.3 -91.2 ...
##  $ CategoriaCausa                         : chr  "NATURAL FORCE DAMAGE" "MATERIAL/WELD/EQUIP FAILURE" "CORROSION" "MATERIAL/WELD/EQUIP FAILURE" ...
##  $ SubcategoriaCausa                      : chr  "TEMPERATURE" "NON-THREADED CONNECTION FAILURE" "EXTERNAL" "CONSTRUCTION, INSTALLATION OR FABRICATION-RELATED" ...
##  $ LiberacionInvoluntariaBarriles         : num  0.24 1700 2 0.36 1.31 ...
##  $ LiberacionIntencionalBarriles          : chr  "0" "0" "-" "0.05" ...
##  $ RecuperacionLiquidoBarriles            : num  0.07 1699 0.48 0 0 ...
##  $ PerdidaNetaBarriles                    : num  0.17 1 1.52 0.36 1.31 ...
##  $ IgnicionLiquido                        : chr  "NO" "NO" "NO" "NO" ...
##  $ ExplosionLiquido                       : chr  "NO" "NO" "NO" "NO" ...
##  $ CierreOleoducto                        : chr  "YES" "YES" "NO" "NO" ...
##  $ DiaCierre                              : chr  "8" "25" "-" "-" ...
##  $ MesCierre                              : chr  "4" "3" "-" "-" ...
##  $ AnioCierre                             : chr  "2010" "2010" "-" "-" ...
##  $ HoraCierre                             : chr  "6" "18" "-" "-" ...
##  $ AmPmCierre                             : chr  "a. m." "p. m." "-" "-" ...
##  $ DiaReinicio                            : chr  "9" "28" "-" "-" ...
##  $ MesReinicio                            : chr  "4" "3" "-" "-" ...
##  $ AnioReinicio                           : chr  "2010" "2010" "-" "-" ...
##  $ HoraReinicio                           : chr  "10" "16" "-" "-" ...
##  $ AmPmReinicio                           : chr  "a. m." "p. m." "-" "-" ...
##  $ EvacuacionesPublicas                   : chr  "-" "0" "-" "-" ...
##  $ LesionesEmpleadosOperador              : chr  "-" "-" "-" "-" ...
##  $ LesionesContratistasOperador           : chr  "-" "-" "-" "-" ...
##  $ LesionesRescatistasEmergencia          : chr  "-" "-" "-" "-" ...
##  $ OtrasLesiones                          : chr  "-" "-" "-" "-" ...
##  $ LesionesPublico                        : chr  "-" "-" "-" "-" ...
##  $ TodasLesiones                          : chr  "-" "-" "-" "-" ...
##  $ FallecimientosEmpleadosOperador        : chr  "-" "-" "-" "-" ...
##  $ FallecimientosContratistasOperador     : chr  "-" "-" "-" "-" ...
##  $ FallecimientosRescatistasEmergencia    : chr  "-" "-" "-" "-" ...
##  $ OtrosFallecimientos                    : chr  "-" "-" "-" "-" ...
##  $ FallecimientosPublico                  : chr  "-" "-" "-" "-" ...
##  $ TodosFallecimientos                    : chr  "-" "-" "-" "-" ...
##  $ CostosDaniosPropiedad                  : chr  "0" "0" "30000" "12000" ...
##  $ CostosMercanciaPerdidas                : chr  "27" "0" "100" "30" ...
##  $ CostosDaniosPropiedadesPublicasPrivadas: chr  "0" "0" "1000" "5000" ...
##  $ CostosRespuestaEmergencia              : chr  "0" "0" "-" "0" ...
##  $ CostosRemediacionAmbiental             : chr  "0" "100000" "20000" "15000" ...
##  $ OtrosCostos                            : chr  "0" "0" "-" "0" ...
##  $ TodosCostos                            : int  27 100000 51100 32030 5220 150 7500 9965 11497 165593 ...

2.Extracción de datos

Latitud <- as.numeric(datos$LatitudAccidente)
Latitud <- na.omit(Latitud)

2. Gráfica de la variable

hist(Latitud, freq = TRUE,
     main = "Histograma de Latitud de accidentes",
     xlab = "Latitud del accidente",
     ylab = "Densidad de probabilidad",
     col = "lightgreen")

3. Conjetura del Modelo

Se considera que la variable Latiud, podría seguir una distribución lognormal. Bajo el modelo lognormal se asume que .

3.1 Definición de Hipótesis

  • Hipótesis nula (Ho): La Latitud de los accidentes siguen una distribución lognormal.
  • Hipótesis alternativa (H1): Los Latitud de los accidentes no siguen una distribución lognormal.

3.1 Ajuste del modelo log-normal a la histograma

par(mar = c(6, 6, 5, 2), xpd = TRUE)
Histo_lat <- hist(Latitud, freq = FALSE,
                  main = "Modelo de probabilidad - Log-normal",
                  xlab = "Latitud del accidente",
                  ylab = "Densidad de probabilidad",
                  col = "lightgreen")

h <- length(Histo_lat$counts)

Loglati <- log(Latitud)
ulog <- mean(Loglati)
sigmalog <- sd(Loglati)

x<-seq(min(Latitud),max(Latitud), length.out = 1000)
curve(dlnorm(x,ulog,sigmalog),type="l",add=TRUE,lwd=2,col="red")

4.2 Calculo de Frecuencias

4.2.1 Frecuencias Observadas

Fo <- Histo_lat$counts

Las Frecuencias observadas son: 3 462 908 670 552 154 0 0 2 4 5

4.2.3 Frecuencias Esperadas bajo modelo lognormal

liminf <- Histo_lat$breaks[-length(Histo_lat$breaks)]
limsup <- Histo_lat$breaks[-1]
P <- numeric(h)
for (i in 1:h) 
{P[i] <-(plnorm(limsup[i],ulog,sigmalog)-
           plnorm(liminf[i],ulog,sigmalog))}
Fe<-P*length(Latitud)

Las Frecuencias esperadas son: 27.58217 340.9396 920.2285 891.6342 425.4589 123.8128 25.44177 4.086077 0.5508832 0.06560955 0.00716316

Test de Pearson

Correlación de frecuencias Observadas vs Esperadas

plot(Fo, Fe, main="Correlación de frecuencias Observadas vs Esperadas",
     xlab="Frecuencia Observada", ylab="Frecuencia Esperada", col="blue3")
abline(lm(Fe ~ Fo), col="red",lwd=2)

Correlacion <- cor(Fo, Fe) * 100

La Correlación entre ambas es de: 96.72499

5. Test de Bondad de ajuste

5.1 Test de Chi-Cuadrado

x2 <- sum((Fo - Fe)^2 / Fe)

Estadístico Chi-cuadrado (X^2): 3914.504

5.2 Nivel de significancia y grados de libertad

grados_libertad <- (length(Histo_lat$counts)-1)
nivel_significancia <- 0.05

5.3 Valor crítico

Vc <- qchisq(1 - nivel_significancia, grados_libertad)

Valor crítico: 18.30704

6. Decisión del Modelo

if (x2 < Vc ) {
  cat("Conclusión: No se rechaza H0, los accidentes podrían seguir una distribución lognormal.")
} else {
  cat("Conclusión: Se rechaza H0, los accidentes NO siguen una distribución lognormal.")
}

Conclusión: Se rechaza H0, los accidentes NO siguen una distribución lognormal.

cat("Aunque visualmente la curva log-normal se ajusta bastante bien a la forma general de los datos, el análisis estadístico mediante la prueba de bondad de ajuste indica que las diferencias entre las frecuencias observadas y esperadas son demasiado grandes. Por lo tanto, se rechaza la hipótesis de que los datos provienen de una distribución log-normal")
## Aunque visualmente la curva log-normal se ajusta bastante bien a la forma general de los datos, el análisis estadístico mediante la prueba de bondad de ajuste indica que las diferencias entre las frecuencias observadas y esperadas son demasiado grandes. Por lo tanto, se rechaza la hipótesis de que los datos provienen de una distribución log-normal