# UNIVERSIDAD CENTRAL DEL ECUADOR
# Facultad de Ingeniería en Geología, Minas, Petroleos y Ambiental
# Ingeniería Ambiental
# Autor: Domenica Yepez
# Variable : Continua matorral

######################-ESTADÍSTICA INFERENCIAL-#################################

# Directorio de trabajo
setwd("C:/Users/HP/OneDrive - Universidad Central del Ecuador/SEMESTRE III/Estadistica/Incendios en Chile/Datos")
# Cargar los datos 
library(readr)
library(knitr)
datos <- read_delim("Conaf_Data_Chile_2017.csv", 
                    delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 5234 Columns: 30
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr  (5): temporada, ambito, nombre_inc, inicio_c, combus_i
## dbl (23): Column1, codreg, codprov, codcom, numero, utm_este, utm_norte, cau...
## num  (2): long, lat
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Identificar la Variable Aleatoria Continua
# Extraer la variable matorral
matorral <-na.omit(as.numeric(datos$matorral)) 
# Configuración general
options(scipen = 999)

# Gráfico título inicial
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
text(x = 1, y = 1, 
     labels = "ESTADÍSTICA INFERENCIAL", cex = 2, col = "blue", font = 6)

# Analizar la variable previo  en inferencial 
#valores de cero de matorral
matorral_cero<-subset(matorral, matorral==0)
length(matorral_cero)
## [1] 1637
#valores mayores de cero de matorral 
matorral.1<- subset(matorral, matorral>0)
length(matorral.1)
## [1] 3597
Caja_matorral.1<- boxplot(matorral.1, horizontal=T,
                          main = "Gráfica N°: Distribución de Superficie de matorral 
                          mayor a cero afectada en Chile",
                          xlab = " Superficie (ha)",
                          col =  "#FFDAC1",
                          pch = 1, plot = F)
#se divide los valores mayores de cero en comunes y no comunes 
matorral.1_comunes<- subset(matorral.1,matorral.1 < min(Caja_matorral.1$out))
matorral.1_outliers<-  subset(matorral.1,matorral.1 >= min(Caja_matorral.1$out) & matorral.1 < 200000)

#Celdas vacios
celdas_vac <- sum(is.na(matorral.1_comunes) | matorral.1_comunes == "")
celdas_vac
## [1] 0
#Depurar NA
matorral.1_comunes <- na.omit(matorral.1_comunes )

# Nuevo tamaño muestral
length(matorral.1_comunes )
## [1] 3061
Histograma <- hist(matorral.1_comunes, freq = FALSE, 
                            main = "Gráfica N°: Modelo de probabilidad con la curva exponencial",
                            ylab = "Densidad de probabilidad",
                            xlab = " Superficie de Matorral (ha)",
                            col = "skyblue")

# Modelo Exponencial

# Calculo de Parámetros

lambda <- 1 / mean(matorral.1_comunes)

# Superposición del modelo exponencial

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

# Cálculo de frecuencias observadas y esperadas

FO <- Histograma$counts/length(matorral.1_comunes)

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

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

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

# Test de Chi-Cuadrado (aprueba con  FALSE )

X2 <- sum((FO - FE)^2 / FE)
X2
## [1] 0.1987585
chi <-qchisq(0.99,length(Histograma$breaks) -1)
chi 
## [1] 26.21697
X2 > chi
## [1] FALSE
plot(FO, FE, main="Gráfica N°: 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(10, rate = lambda) - pexp(5, rate = lambda) ) * 100
P1
## [1] 23.24358
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 del matorral ((ha) \n esté entre 5 y 10 (ha) ?\n\n
     R: 23.24 (%)",
     cex = 1.5,  # Tamaño del texto (ajustable)
     col = "blue",  # Color del texto
     font =6) #tipo

x <- seq(0, max(matorral.1_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°6: Distribución de matorral (ha) con Modelo Exponencial
en el Análisis de incendios forestales",
     xlab = "Superficie de Matorral (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(5,10 , length.out = 100)
polygon(c(5, x_area, 10), c(0, dexp(x_area, rate = lambda), 0),
        col = rgb(0, 0, 1, alpha = 0.3), border = NA)
axis(1, at = c(0, 5, 10,15, 20 ), labels = c("0", "5", "10", "15","20"))
legend("topright",
       legend = c("Modelo Exponencial", "Área bajo la curva entre 5 y 10"),
       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(matorral.1_comunes) - 2 * (sd(matorral.1_comunes) / sqrt(length(matorral.1_comunes)))
limite_inf
## [1] 10.45237
limite_sup <- mean(matorral.1_comunes) + 2 * (sd(matorral.1_comunes) / sqrt(length(matorral.1_comunes)))
limite_sup
## [1] 11.38037
# La media aritmética poblacional (u) se encuentra,
# con un 95 % de confianza, entre
# 10.45 (ha) y 11.38(ha)
#- Concluiones -#

tabla_modelos_1 <- data.frame(" Matorral(%)" = c("[1,60]", ""),
                              "Modelo" = c("Exponencial", ""),
                              "Parametros" = c("Lambda = 0.0916", ""),
                              "Test_de_Pearson" = c("0.93", ""),
                              "Test_de_Chi_cuadrado" = c("Aprobado", ""),
                              "Dominios_del_modelo" = c("x E [0 ; inf+)", ""))
colnames(tabla_modelos_1) <- c("Matorral(ha)", "Modelo",
                               "Parámetros","Test Pearson",
                               "Test Chi-cuadrado","Dominio del Modelo")

tabla_intervalos <- data.frame("Intervalo_Confianza" = c("Límite Inferior", "Límite Superior"),
                               "Grado_Confianza"=c("95 %",""),"matorral (ha)"=c("10.45 ", "11.38"))
colnames(tabla_intervalos) <- c("Intervalo de Confianza","Grado Confianza (%)", "Matorral(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_1, align = 'c', 
      caption = "Conclusiones del Modelo Exponencial para matorral (ha)")
Conclusiones del Modelo Exponencial para matorral (ha)
Matorral(ha) Modelo Parámetros Test Pearson Test Chi-cuadrado Dominio del Modelo
[1,60] Exponencial Lambda = 0.0916 0.93 Aprobado x E [0 ; inf+)
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 (%) Matorral(ha)
Límite Inferior 95 % 10.45
Límite Superior 11.38