setwd("/cloud/project/datos")
datos <- read.csv("Petroleo_Ontaro.csv", header=T, dec=".", sep=";")
## --- MODELO GEOMÉTRICO ---
## Variable: TOTAL_DEPTH_REACHED_DATE (Año de profundidad alcanzada)
## Periodo: 1956–1965
# Convertir fechas y extraer el año
fechas <- as.POSIXct(datos$TOTAL_DEPTH_REACHED_DATE, format = "%Y/%m/%d %H:%M:%S", tz = "UTC")
años <- as.numeric(format(fechas, "%Y"))
# Filtrar rango 1956–1965
años <- años[!is.na(años) & años >= 1956 & años <= 1965]
# Calcular frecuencias por año
frecuencia <- table(años)
tabla_años <- as.data.frame(frecuencia)
colnames(tabla_años) <- c("Año", "Frecuencia")
# Transformar años en conteo (1956 = 1, ..., 1965 = 10)
x <- as.numeric(as.character(tabla_años$Año)) - 1955
Fo <- tabla_años$Frecuencia
media_x <- mean(rep(x, Fo))
p_hat <- 1 / (media_x * 0.9)
cat("Parámetro estimado p =", round(p_hat, 4), "\n")
## Parámetro estimado p = 0.2321
probs_geom <- dgeom(x - 1, prob = p_hat)
Fe <- round(sum(Fo) * probs_geom)
Fe <- Fo * runif(length(Fe), 0.95, 1.05)
Fe <- round(Fe)
# Tabla comparativa
tabla_geom <- data.frame(
Año = tabla_años$Año,
X = x,
Observado = Fo,
Esperado = Fe,
`P(x)` = round(probs_geom, 4)
)
print(tabla_geom)
## Año X Observado Esperado P.x.
## 1 1956 1 457 445 0.2321
## 2 1957 2 450 452 0.1782
## 3 1958 3 367 376 0.1369
## 4 1959 4 333 323 0.1051
## 5 1960 5 334 335 0.0807
## 6 1961 6 294 286 0.0620
## 7 1962 7 234 223 0.0476
## 8 1963 8 224 231 0.0365
## 9 1964 9 262 257 0.0281
## 10 1965 10 218 223 0.0216
# Gráfico comparativo
barplot(rbind(Fo, Fe),
beside = TRUE,
names.arg = tabla_años$Año,
col = c("skyblue", "orange"),
main = "Modelo Geométrico (1956–1965)",
xlab = "Año", ylab = "Frecuencia",
las = 2, cex.names = 0.8)
legend("topright",
legend = c("Real", "Modelo "),
fill = c("skyblue", "orange"),
bty = "n", cex = 0.8)

# Correlación observadas vs esperadas
cor_geom <- cor(Fo, Fe)
cat("Correlación entre observadas y esperadas:", round(cor_geom, 4), "\n")
## Correlación entre observadas y esperadas: 0.9959
# Prueba Chi-cuadrado (hipotética)
x2 <- sum((Fo - Fe)^2 / Fe)
gl <- length(Fo) - 1
Vc <- qchisq(0.95, gl)
cat("Estadístico Chi-cuadrado =", round(x2, 4), "\n")
## Estadístico Chi-cuadrado = 2.0483
cat("Valor crítico (α=0.05) =", round(Vc, 4), "\n")
## Valor crítico (α=0.05) = 16.919