#==============================ENCABEZADO===================================
# TEMA: EI Variables Continua - PROYECCION DEL GAS 
# AUTOR: GRUPO 4
# FECHA: 08-02-2026


# --- PASO 0: CARGA Y CONFIGURACION ---
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ".", sep = ";") 

# --- PASO 0.1: LIMPIEZA DE DATOS ---
proy_raw <- as.numeric(gsub("[^0-9.]", "", as.character(datos$Projection.of.gas.production)))
proy_raw <- na.omit(proy_raw)

# --- PASO 1: JUSTIFICACION ---
cat("1. JUSTIFICACION: Variable continua. Dominio: [0, +inf).\n")
## 1. JUSTIFICACION: Variable continua. Dominio: [0, +inf).
# --- PASO 2: GRAFICA NRO. 1 (EVIDENCIA ORIGINAL) ---
hist(proy_raw, col = "yellow", 
     main = "GRAFICA Nro. 1: MODELO DE PROBABILIDAD DE PROYECCION DEL GAS",
     xlab = "PROYECCION DEL GAS", ylab = "DENSIDAD DE PROBABILIDAD", freq = FALSE, las = 1)

# --- PASO 3: FILTRADO (SUBSET) ---
caja_proj <- boxplot(proy_raw, plot = FALSE)
proj_v <- proy_raw[proy_raw >= caja_proj$stats[1] & proy_raw <= caja_proj$stats[5]]
n <- length(proj_v)

# --- PASO 4 Y 5: TABLA TECNICA DE 9 COLUMNAS ---
k <- round(1 + 3.322 * log10(n))
h_p <- hist(proj_v, breaks = k, plot = FALSE)

li <- h_p$breaks[-length(h_p$breaks)]; ls <- h_p$breaks[-1]
xi <- (li + ls) / 2
ni <- h_p$counts; hi <- ni / n
Ni <- cumsum(ni); Hi <- cumsum(hi)
Ni_desc <- n - Ni + ni; Hi_desc <- 1 - Hi + hi

TDF_9_COL <- data.frame(LI=li, LS=ls, Xi=xi, ni=ni, hi=round(hi,4), 
                        Ni=Ni, Hi=round(Hi,4), Ni_desc=Ni_desc, Hi_desc=round(Hi_desc,4))
cat("\n>>> PASO 5: TABLA DE FRECUENCIAS (9 COLUMNAS) <<<\n")
## 
## >>> PASO 5: TABLA DE FRECUENCIAS (9 COLUMNAS) <<<
print(TDF_9_COL)
##         LI      LS       Xi   ni     hi    Ni     Hi Ni_desc Hi_desc
## 1  0.0e+00 5.0e+08 2.50e+08 1698 0.1479  1698 0.1479   11481  1.0000
## 2  5.0e+08 1.0e+09 7.50e+08 3016 0.2627  4714 0.4106    9783  0.8521
## 3  1.0e+09 1.5e+09 1.25e+09 2450 0.2134  7164 0.6240    6767  0.5894
## 4  1.5e+09 2.0e+09 1.75e+09 1614 0.1406  8778 0.7646    4317  0.3760
## 5  2.0e+09 2.5e+09 2.25e+09  972 0.0847  9750 0.8492    2703  0.2354
## 6  2.5e+09 3.0e+09 2.75e+09  647 0.0564 10397 0.9056    1731  0.1508
## 7  3.0e+09 3.5e+09 3.25e+09  441 0.0384 10838 0.9440    1084  0.0944
## 8  3.5e+09 4.0e+09 3.75e+09  325 0.0283 11163 0.9723     643  0.0560
## 9  4.0e+09 4.5e+09 4.25e+09  259 0.0226 11422 0.9949     318  0.0277
## 10 4.5e+09 5.0e+09 4.75e+09   59 0.0051 11481 1.0000      59  0.0051
# --- PASO 6: PARAMETROS LOG-NORMAL ---
meanlog_proj <- mean(log(proj_v))
sdlog_proj <- sd(log(proj_v))

# --- PASO 7: GRAFICA NRO. 2 (MODELO) ---
hist(proj_v, freq = FALSE, breaks = k, col = "green",
     main = "GRAFICA Nro. 2: MODELO DE PROBABILIDAD DE PROYECCION DEL GAS",
     xlab = "PROYECCION DEL GAS", ylab = "DENSIDAD DE PROBABILIDAD", las = 1)
curve(dlnorm(x, meanlog_proj, sdlog_proj), col = "red", lwd = 2, add = TRUE)

# --- PASO 7.5: RESUMEN DE PARAMETROS ---
media_original <- exp(meanlog_proj + (sdlog_proj^2)/2)

cat("\n>>> PASO 7.5: RESUMEN DE PARAMETROS <<<\n")
## 
## >>> PASO 7.5: RESUMEN DE PARAMETROS <<<
resumen_inf <- data.frame(
  Indicador = c("Media Logaritmica (mu)", "Desv. Est. Logaritmica (sigma)", 
                "Media Escala Original"),
  Valor = c(round(meanlog_proj, 4), round(sdlog_proj, 4), 
            round(media_original, 2))
)
print(resumen_inf, row.names = FALSE)
##                       Indicador        Valor
##          Media Logaritmica (mu) 2.083750e+01
##  Desv. Est. Logaritmica (sigma) 7.594000e-01
##           Media Escala Original 1.495628e+09
# --- PASO 8: VALIDACION (ESTRATEGIA hi) ---
FO_rel <- hi
Pi <- plnorm(ls, meanlog_proj, sdlog_proj) - plnorm(li, meanlog_proj, sdlog_proj)
Pi[Pi <= 0] <- 1e-9

x2_valor <- sum((FO_rel - Pi)^2 / Pi)
vc_chi <- qchisq(0.999, length(FO_rel) - 1 - 2) 
r_pearson <- cor(FO_rel, Pi)

# --- GRAFICA NRO. 3 (DISPERSION) ---
plot(FO_rel, Pi, 
     main = "GRAFICA Nro. 3: COMPARACION DEL MODELO DE POISON CON LA REALIDAD",
     xlab = "PROYECCION DEL GAS (observado)", 
     ylab = "PROYECCION DEL GAS (esperado)", 
     pch = 19, col = "blue")
abline(0, 1, col = "red")

cat("\n>>> PASO 8: TABLA VEREDICTO FINAL <<<\n")
## 
## >>> PASO 8: TABLA VEREDICTO FINAL <<<
tabla_veredicto <- data.frame(
  Prueba = c("Coeficiente de Pearson (r)", "Prueba Chi-Cuadrado (X2)"),
  Valor_Obtenido = c(round(r_pearson, 4), round(x2_valor, 6)),
  Criterio_Referencia = c("r >= 0.90", paste("X2 <", round(vc_chi, 2))),
  Resultado = c(ifelse(r_pearson >= 0.90, "APROBADO", "REPROBADO"), 
                ifelse(x2_valor < vc_chi, "APROBADO", "REPROBADO"))
)
print(tabla_veredicto, row.names = FALSE)
##                      Prueba Valor_Obtenido Criterio_Referencia Resultado
##  Coeficiente de Pearson (r)       0.993500           r >= 0.90  APROBADO
##    Prueba Chi-Cuadrado (X2)       0.021078          X2 < 24.32  APROBADO