# 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)
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)) 
# Analizar la variable previo  
options(scipen = 999)
#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)

plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un gráfico vacío

text(x = 1, y = 1, 
     labels = "ESTADÍSTICA INFERENCIAL",
     cex = 2,  # Tamaño del texto (ajustable)
     col = "blue",  # Color del texto
     font = 6) # tipo

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
# Tabla de Distribucion de frecuencia simplificación con el Histograma 

Histograma <- hist(matorral.1_comunes,breaks = 12 ,plot = F )
k <- length(Histograma$breaks)
Li <- Histograma$breaks[1:(length(Histograma$breaks) - 1)]
Ls <- Histograma$breaks[2:length(Histograma$breaks)]
ni <- Histograma$counts
MC <- Histograma$mids

sum(ni)
## [1] 3061
hi <- (ni/sum(ni))
sum(hi)
## [1] 1
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_matorral.1_comunes <- data.frame(
  Li = round(Li, 2),
  Ls = round(Ls, 2),
  MC = round(MC, 2),
  ni = ni,
  hi = round(hi * 100, 2),
  Ni_asc = Ni_asc,
  Hi_asc = round(Hi_asc * 100, 2),
  Ni_desc = Ni_desc,
  Hi_desc = round(Hi_desc * 100, 2))

colnames(TDF_matorral.1_comunes) <- c("Li", "Ls", "MC", "ni", "hi (%)", "Ni_asc",
                            "Hi_asc (%)", "Ni_dsc", "Hi_dsc (%)")
TDF_matorral.1_comunes
##    Li Ls   MC   ni hi (%) Ni_asc Hi_asc (%) Ni_dsc Hi_dsc (%)
## 1   0  5  2.5 1625  53.09   1625      53.09   3061     100.00
## 2   5 10  7.5  482  15.75   2107      68.83   1436      46.91
## 3  10 15 12.5  278   9.08   2385      77.92    954      31.17
## 4  15 20 17.5  156   5.10   2541      83.01    676      22.08
## 5  20 25 22.5  147   4.80   2688      87.81    520      16.99
## 6  25 30 27.5  101   3.30   2789      91.11    373      12.19
## 7  30 35 32.5   61   1.99   2850      93.11    272       8.89
## 8  35 40 37.5   63   2.06   2913      95.16    211       6.89
## 9  40 45 42.5   38   1.24   2951      96.41    148       4.84
## 10 45 50 47.5   55   1.80   3006      98.20    110       3.59
## 11 50 55 52.5   23   0.75   3029      98.95     55       1.80
## 12 55 60 57.5   32   1.05   3061     100.00     32       1.05
histograma_matorral.1_comunes <- hist(matorral.1_comunes, freq = FALSE, 
                            main = "Gráfica N°5: Modelo de probabilidad con la curva exponencial",
                            ylab = "Densidad de probabilidad",
                            xlab = " 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 
}
FO
##  [1] 0.530872264 0.157464881 0.090819993 0.050963737 0.048023522 0.032995753
##  [7] 0.019928128 0.020581509 0.012414244 0.017967984 0.007513884 0.010454100
FE
##  [1] 0.367470128 0.232435833 0.147022608 0.092996191 0.058822869 0.037207222
##  [7] 0.023534679 0.014886388 0.009416085 0.005955955 0.003767319 0.002382942
# 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
  ## 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 = "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, 20 ), labels = c("0", "5", "10", "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)

tabla_modelos_1 <- data.frame(" Matorral(%)" = c("[0,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("99 %",""),"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
[0,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 99 % 10.45
Límite Superior 11.38