#### UNIVERSIDAD CENTRAL DEL ECUADOR ######
#### AUTOR: JHONNY JOSÉ CATUCUAMBA CALCINA ####
#### CARRERA: INGENIERÍA AMBIENTAL ####
### VARIABLE: TOTAL_VEG ####
### MODELO DE DISPERSIÓN LOG-NORMAL #####
setwd("/cloud/project")
Datos <-  read.csv("Conaf_Data_Chile_2017.csv")
total_veg <- Datos$total_veg
# Eliminar NA y valores negativos si los hubiera
total_veg <- na.omit(total_veg)
total_veg_mayores_cero <- subset(total_veg, total_veg > 0)

# Crear objeto boxplot
bp <- boxplot(total_veg_mayores_cero, plot = FALSE)
# Obtener los outliers identificados por el boxplot
outliers <- bp$out

# Separar valores atípicos
total_veg_outliers <- total_veg_mayores_cero[total_veg_mayores_cero %in% outliers]

# Separar valores comunes
total_veg_comunes <- total_veg_mayores_cero[!total_veg_mayores_cero %in% outliers]
hist_vegc <- hist(total_veg_comunes,breaks = 12,freq = FALSE,
                 main = "Gráfica Nº 4.1.1 : Modelo de probabilidad exponencial",
                 xlab = "Vegetación Total(ha)",
                 ylab = "Densidad de Probabilidad")

min(total_veg_comunes)
## [1] 1e-04
total_veg_comunes <- total_veg_comunes[total_veg_comunes > 1e-04 & total_veg_comunes < 3]
summary(total_veg_comunes)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0003  0.0500  0.2000  0.5006  0.7000  2.9500
length(total_veg_comunes)
## [1] 3582
hist_veg <- hist(total_veg_comunes,breaks = 12,freq = FALSE,
                 main = "Gráfica Nº 4.1.2 : Modelo de probabilidad exponencial",
                 xlab = "Vegetación Total(ha)",
                 ylab = "Densidad de Probabilidad")

# Modelo Exponencial
hist_veg <- hist(total_veg_comunes,breaks = 12,freq = FALSE,
                 main = "Gráfica Nº 4.1.3 : Modelo de probabilidad expoencial 
                 con curva de regresión",
                 xlab = "Vegetación Total(ha)",
                 ylab = "Densidad de Probabilidad")
# Modelo Exponencial

# Calculo de Parámetros

lambda <- 1 / mean(total_veg_comunes)

# Superposición del modelo exponencial

# Agregar la curva de la distribución exponencial
x <- seq(min(total_veg_comunes), max(total_veg_comunes), length.out = 100)
lines(x, dexp(x, rate = lambda), col = "red", lwd = 2)

# Cálculo de frecuencias observadas y esperadas

FO <- hist_veg$counts/length(total_veg_comunes)

FE <- c()
for (i in 1:(length(hist_veg$breaks) - 1)) {
  P <- (pexp(hist_veg$breaks[i + 1], rate = lambda)) -
    (pexp(hist_veg$breaks[i], rate = lambda))
  FE[i] <- P 
}

# Test de Pearson (debe pasar el 75% o 0.75 )

cor(FO, FE)
## [1] 0.8955562
## APROBADO ##

# Test de Chi-Cuadrado (aprueba con  FALSE )

X2 <- sum((FO - FE)^2 / FE)
X2
## [1] 0.3282877
VC <-qchisq(0.99,length(hist_veg$breaks) -1)
VC 
## [1] 30.57791
X2 > VC
## [1] FALSE
plot(FO, FE, main="Gráfica N° 4.1.4: Correlación de frecuencias entre 
el modelo exponencial y la realidad",
     xlab="Observado (hi)", ylab="Esperado (P)")
abline(lm(FE ~ FO), col="red", lwd=2)

## APROBO CHI-CUADRADO ##

# Restricciones 

# Dominio de la distribución exponencial:
# x E [0, inf+)

# Cálculo de probabilidad

P1 <- (pexp(1, rate = lambda) - pexp(0.5, rate = lambda) ) * 100
P1
## [1] 23.26534
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un gráfico vacío
text(x = 1, y = 1, 
     labels = "Cálculos de probabilidad\n(Estimación general)\n
     ¿Cuál es la probabilidad de que\nel valor de vegetación total afectada ((ha) \n esté entre 0.5 y 1 (ha) ?\n\n
     R: 23.26 (%)",
     cex = 1.5,  # Tamaño del texto (ajustable)
     col = "blue",  # Color del texto
     font =6) #tipo

x <- seq(0, max(total_veg_comunes), length.out = 1000) # Generar valores para la curva
plot(x, dexp(x, rate = lambda), type = "l", col = "red", lwd = 2,
     main = "Gráfica N°4.1.5: Distribución de Vegetación 
     Total Afectada (ha) con Modelo Exponencial
en el Análisis de incendios forestales",
     xlab = "Superficie de Vegetación Total Afectada (ha)", ylab = "Densidad de Probabilidad",
     xlim = c(0, max(x)),
     ylim = c(0, 1.1 * max(dexp(x, rate = lambda))),
     xaxt = "n") # Desactiva las etiquetas automáticas del eje X
x_area <- seq(0.5,1 , length.out = 100)
polygon(c(0.5, x_area, 1), c(0, dexp(x_area, rate = lambda), 0),
        col = rgb(0, 0, 1, alpha = 0.3), border = NA)
axis(1, at = c(0.5, 1 ), labels = c("0.5", "1" ))
legend("topright",
       legend = c("Modelo Exponencial", "Área bajo la curva entre 0.5 y 1"),
       col = c("red", rgb(0, 0, 1, alpha = 0.3)),
       lwd = c(2, NA),
       pch = c(NA, 15),
       pt.cex = 2,
       bty = "n")

# Estimación por intervalos de confianza 

# Cálculos
limite_inf <- mean(total_veg_comunes) - 2 * (sd(total_veg_comunes) / sqrt(length(total_veg_comunes)))
limite_inf
## [1] 0.4791542
limite_sup <- mean(total_veg_comunes) + 2 * (sd(total_veg_comunes) / sqrt(length(total_veg_comunes)))
limite_sup
## [1] 0.5219723
# La media aritmética poblacional (u) se encuentra,
# con un 95 % de confianza, entre
# 0.48 (ha) y 0.52(ha)
#- Concluiones -#

tabla_modelos <- data.frame("Vegetación Total (ha)" = c("[0.0003 , 4.80]", "2.9500"),
                            "Modelo" = c("exponencial", ""),
                            "Parámetros" = c("Lambda = 1.99", ""),
                            "Test_de_Pearson" = c("0.90", ""),
                            "Test_de_Chi_cuadrado" = c("aprobado", ""))
colnames(tabla_modelos) <- c("Vegetación Total (ha)", "Modelo",
                             "Parámetros", "Test Pearson",
                             "Test Chi-cuadrado")
tabla_intervalos <- data.frame(
  "Intervalo_Confianza" = c("Límite Inferior", "Límite Superior"),
  "Grado_Confianza" = c("95 %", ""),
  "Vegetación Total (ha)" = c("0.48", "0.52"))
colnames(tabla_intervalos) <- c("Intervalo de Confianza",
                                "Grado Confianza (%)", "Vegetación Total (ha)")
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un gráfico vacío
text(x = 1, y = 1,
     labels = "CONCLUSIONES",
     cex = 2, # Tamaño del texto (ajustable)
     col = "blue", # Color del texto
     font = 6) #tipo

library(knitr)
kable(tabla_modelos, align = 'c',
      caption = "Conclusiones del Modelo Exponencial para Vegetación Total (ha)")
Conclusiones del Modelo Exponencial para Vegetación Total (ha)
Vegetación Total (ha) Modelo Parámetros Test Pearson Test Chi-cuadrado
[0.0003 , 4.80] exponencial Lambda = 1.99 0.90 aprobado
2.9500
kable(tabla_intervalos, align = 'c',
      caption = "Intervalos de Confianza de la Media Poblacional")
Intervalos de Confianza de la Media Poblacional
Intervalo de Confianza Grado Confianza (%) Vegetación Total (ha)
Límite Inferior 95 % 0.48
Límite Superior 0.52