Inicio Datos Tabla Dispersión Modelo Pearson Restricciones Pronóstico Conclusión

ANÁLISIS ESTADÍSTICO DE DESLIZAMIENTOS

Modelo 1: Regresión Lineal Simple

Este modelo evalúa la relación entre el índice de humedad del suelo y el índice de susceptibilidad a deslizamientos.

MODELO 1: REGRESIÓN LINEAL SIMPLE

1. LIBRERÍAS Y CARGA DEL DATASET

library(readxl)
library(ggplot2)
library(knitr)

datos <- read_excel("dataset_landslides.xlsx", sheet = "Dataset_landslides")

datos <- as.data.frame(datos)

options(scipen = 999)

resumen_dataset <- data.frame(
  Elemento = c(
    "Archivo utilizado",
    "Hoja utilizada",
    "Número de filas",
    "Número de columnas",
    "Variable independiente X",
    "Variable dependiente Y"
  ),
  Descripcion = c(
    "dataset_landslides.xlsx",
    "Dataset_landslides",
    nrow(datos),
    ncol(datos),
    "Índice de humedad del suelo",
    "Índice de susceptibilidad a deslizamientos"
  )
)

knitr::kable(
  resumen_dataset,
  caption = "Resumen inicial del dataset"
)
Resumen inicial del dataset
Elemento Descripcion
Archivo utilizado dataset_landslides.xlsx
Hoja utilizada Dataset_landslides
Número de filas 11033
Número de columnas 25
Variable independiente X Índice de humedad del suelo
Variable dependiente Y Índice de susceptibilidad a deslizamientos

2. SELECCIÓN DE VARIABLES

limpiar_numerico <- function(variable) {
  variable <- as.character(variable)
  variable <- gsub(",", ".", variable)
  as.numeric(variable)
}

datos_regresion <- data.frame(
  soil_moisture_index = limpiar_numerico(datos$soil_moisture_index),
  susceptibility_index = limpiar_numerico(datos$susceptibility_index)
)

datos_regresion <- datos_regresion[
  is.finite(datos_regresion$soil_moisture_index) &
    is.finite(datos_regresion$susceptibility_index),
]

x <- datos_regresion$soil_moisture_index
y <- datos_regresion$susceptibility_index

tabla_variables <- data.frame(
  Variable = c("X", "Y"),
  Nombre_en_dataset = c(
    "soil_moisture_index",
    "susceptibility_index"
  ),
  Descripcion = c(
    "Índice de humedad del suelo",
    "Índice de susceptibilidad a deslizamientos"
  ),
  Unidad = c("Índice", "Índice")
)

knitr::kable(
  tabla_variables,
  caption = "Variables seleccionadas para el modelo"
)
Variables seleccionadas para el modelo
Variable Nombre_en_dataset Descripcion Unidad
X soil_moisture_index Índice de humedad del suelo Índice
Y susceptibility_index Índice de susceptibilidad a deslizamientos Índice

3. TABLA DE PARES DE VALORES

tabla_pares <- data.frame(
  Indice_humedad_suelo = x,
  Indice_susceptibilidad = y
)

knitr::kable(
  head(tabla_pares, 10),
  digits = 2,
  caption = "Primeros diez pares de valores"
)
Primeros diez pares de valores
Indice_humedad_suelo Indice_susceptibilidad
0.70 83.27
0.93 93.48
0.82 87.15
0.82 74.52
0.59 37.58
0.94 89.74
0.93 93.52
0.93 80.28
0.87 81.31
0.98 89.49
resumen_variables <- data.frame(
  Variable = c("Índice de humedad del suelo", "Índice de susceptibilidad"),
  Minimo = c(min(x), min(y)),
  Media = c(mean(x), mean(y)),
  Mediana = c(median(x), median(y)),
  Maximo = c(max(x), max(y))
)

knitr::kable(
  resumen_variables,
  digits = 2,
  caption = "Resumen estadístico de las variables"
)
Resumen estadístico de las variables
Variable Minimo Media Mediana Maximo
Índice de humedad del suelo 0.10 0.73 0.77 1
Índice de susceptibilidad 13.62 75.39 78.91 99

4. GRÁFICA ORIGINAL: NUBE DE PUNTOS

ggplot(
  datos_regresion,
  aes(
    x = soil_moisture_index,
    y = susceptibility_index
  )
) +
  geom_point(
    color = "blue",
    alpha = 0.35,
    size = 1.8
  ) +
  labs(
    title = "REGRESIÓN LINEAL",
    subtitle = "Nube de puntos entre humedad del suelo y susceptibilidad",
    x = "Índice de humedad del suelo",
    y = "Índice de susceptibilidad a deslizamientos"
  ) +
  theme_bw(base_size = 15) +
  theme(
    plot.title = element_text(
      hjust = 0.5,
      face = "bold",
      size = 26,
      color = "#0B3C5D"
    ),
    plot.subtitle = element_text(
      hjust = 0.5,
      size = 13,
      color = "#444444"
    ),
    axis.title = element_text(
      face = "bold",
      size = 13
    ),
    axis.text = element_text(
      size = 11
    ),
    panel.border = element_rect(
      color = "gray35",
      fill = NA,
      linewidth = 1
    ),
    panel.grid.major = element_line(
      color = "gray88"
    ),
    panel.grid.minor = element_blank(),
    plot.background = element_rect(
      fill = "white",
      color = NA
    ),
    panel.background = element_rect(
      fill = "white",
      color = NA
    )
  )

5. CONJETURA Y ESTRUCTURA MATEMÁTICA

Conjetura del modelo

A mayor índice de humedad del suelo, se espera un incremento en el índice de susceptibilidad a deslizamientos.

La estructura matemática del modelo lineal simple es:

\[ \hat{y} = a + bx \]

Donde:

  • \(\hat{y}\) = índice de susceptibilidad estimado.
  • \(x\) = índice de humedad del suelo.
  • \(a\) = intercepto del modelo.
  • \(b\) = pendiente de la recta de regresión.

6. CÁLCULO DE PARÁMETROS DEL MODELO

modelo_lineal <- lm(
  susceptibility_index ~ soil_moisture_index,
  data = datos_regresion
)

parametros <- coef(modelo_lineal)

intercepto <- as.numeric(parametros[1])
pendiente <- as.numeric(parametros[2])
r_cuadrado <- summary(modelo_lineal)$r.squared

tabla_modelo <- data.frame(
  Parametro = c("Intercepto a", "Pendiente b", "R²"),
  Valor = c(intercepto, pendiente, r_cuadrado),
  Interpretacion = c(
    "Valor inicial estimado del índice de susceptibilidad",
    "Cambio estimado en la susceptibilidad por cada unidad adicional de humedad del suelo",
    "Porcentaje de variabilidad explicado por el modelo"
  )
)

knitr::kable(
  tabla_modelo,
  digits = 4,
  caption = "Parámetros principales del modelo lineal"
)
Parámetros principales del modelo lineal
Parametro Valor Interpretacion
Intercepto a 27.4240 Valor inicial estimado del índice de susceptibilidad
Pendiente b 65.6414 Cambio estimado en la susceptibilidad por cada unidad adicional de humedad del suelo
0.7531 Porcentaje de variabilidad explicado por el modelo

Resultado del modelo lineal

Ecuación lineal

Y = a + b * x

Y = 27.42 + 65.64 * x

R² = 0.7531

El modelo explica aproximadamente 75.31% de la variabilidad observada en el índice de susceptibilidad.

tabla_coeficientes <- as.data.frame(coef(summary(modelo_lineal)))

tabla_coeficientes$Parametro <- rownames(tabla_coeficientes)

rownames(tabla_coeficientes) <- NULL

tabla_coeficientes <- tabla_coeficientes[
  ,
  c(
    "Parametro",
    "Estimate",
    "Std. Error",
    "t value",
    "Pr(>|t|)"
  )
]

knitr::kable(
  tabla_coeficientes,
  digits = 4,
  caption = "Resumen de coeficientes del modelo"
)
Resumen de coeficientes del modelo
Parametro Estimate Std. Error t value Pr(>|t|)
(Intercept) 27.4240 0.2727 100.5572 0
soil_moisture_index 65.6414 0.3578 183.4385 0

7. MODELO SOBRE LA NUBE DE PUNTOS

ecuacion_texto <- paste0(
  "y = ",
  round(intercepto, 2),
  " + ",
  round(pendiente, 2),
  "x   |   R² = ",
  round(r_cuadrado, 3)
)

ggplot(
  datos_regresion,
  aes(
    x = soil_moisture_index,
    y = susceptibility_index
  )
) +
  geom_point(
    color = "blue",
    alpha = 0.35,
    size = 1.8
  ) +
  geom_smooth(
    method = "lm",
    se = FALSE,
    color = "red",
    linewidth = 1.4
  ) +
  labs(
    title = "REGRESIÓN LINEAL",
    subtitle = ecuacion_texto,
    x = "Índice de humedad del suelo",
    y = "Índice de susceptibilidad a deslizamientos"
  ) +
  theme_bw(base_size = 15) +
  theme(
    plot.title = element_text(
      hjust = 0.5,
      face = "bold",
      size = 26,
      color = "#0B3C5D"
    ),
    plot.subtitle = element_text(
      hjust = 0.5,
      face = "bold",
      size = 13,
      color = "#222222"
    ),
    axis.title = element_text(
      face = "bold",
      size = 13
    ),
    axis.text = element_text(
      size = 11
    ),
    panel.border = element_rect(
      color = "gray35",
      fill = NA,
      linewidth = 1
    ),
    panel.grid.major = element_line(
      color = "gray88"
    ),
    panel.grid.minor = element_blank(),
    plot.background = element_rect(
      fill = "white",
      color = NA
    ),
    panel.background = element_rect(
      fill = "white",
      color = NA
    )
  )

8. COVARIANZA Y TEST DE PEARSON

covarianza_xy <- cov(x, y)

pearson_lineal <- cor.test(
  x,
  y,
  method = "pearson"
)

r_pearson <- as.numeric(pearson_lineal$estimate)
p_valor <- pearson_lineal$p.value

tabla_correlacion <- data.frame(
  Indicador = c(
    "Covarianza",
    "Coeficiente de Pearson",
    "p-value",
    "Nivel de significancia"
  ),
  Valor = c(
    round(covarianza_xy, 4),
    round(r_pearson, 4),
    format.pval(p_valor, digits = 4),
    "0.05"
  ),
  Interpretacion = c(
    "Dirección conjunta de variación",
    "Fuerza y dirección de la relación lineal",
    "Significancia estadística del modelo",
    "Criterio de evaluación"
  )
)

knitr::kable(
  tabla_correlacion,
  caption = "Resultados de covarianza y correlación"
)
Resultados de covarianza y correlación
Indicador Valor Interpretacion
Covarianza 3.074 Dirección conjunta de variación
Coeficiente de Pearson 0.8678 Fuerza y dirección de la relación lineal
p-value < 0.00000000000000022 Significancia estadística del modelo
Nivel de significancia 0.05 Criterio de evaluación

Test de aprobación del modelo lineal

Coeficiente de Pearson: r = 0.8678

p-value: < 0.00000000000000022

Con un nivel de significancia de 0.05, la relación lineal es estadísticamente significativa.

8.1. RESTRICCIONES DEL MODELO

Restricciones del modelo

Sí existe restricción matemática y estadística, ya que el modelo fue construido con valores observados del índice de humedad del suelo entre x = 0.1 y x = 1.

Al introducir valores fuera de este rango, el modelo puede generar predicciones poco consistentes para el índice de susceptibilidad a deslizamientos, debido a que estaría realizando una extrapolación fuera de los datos analizados.

9. PRONÓSTICO DEL MODELO LINEAL

valor_propuesto <- median(x)

if (
  valor_propuesto < min_humedad ||
  valor_propuesto > max_humedad
) {
  
  valor_estimado <- median(x)
  
  observacion_estimacion <- paste(
    "El valor propuesto está fuera del rango observado.",
    "Se usó la mediana del índice de humedad del suelo para la demostración."
  )
  
} else {
  
  valor_estimado <- valor_propuesto
  
  observacion_estimacion <- "El valor propuesto está dentro del rango observado."
}

nuevo_evento <- data.frame(
  soil_moisture_index = valor_estimado
)

estimacion <- predict(
  modelo_lineal,
  newdata = nuevo_evento,
  interval = "prediction",
  level = 0.95
)

susceptibilidad_estimada <- estimacion[1, "fit"]
limite_inferior <- estimacion[1, "lwr"]
limite_superior <- estimacion[1, "upr"]

tabla_estimacion <- data.frame(
  Indice_humedad_suelo = valor_estimado,
  Susceptibilidad_estimada = susceptibilidad_estimada,
  Limite_inferior_95 = limite_inferior,
  Limite_superior_95 = limite_superior
)

knitr::kable(
  tabla_estimacion,
  digits = 2,
  caption = "Pronóstico generado por el modelo lineal"
)
Pronóstico generado por el modelo lineal
Indice_humedad_suelo Susceptibilidad_estimada Limite_inferior_95 Limite_superior_95
0.77 78.15 62.2 94.09

Pronóstico del modelo lineal

Para un índice de humedad del suelo de:

0.77

El índice de susceptibilidad estimado es:

78.15

Intervalo de predicción 95%:
62.2 a 94.09

Observación: El valor propuesto está dentro del rango observado.

10. CONCLUSIÓN DEL MODELO

Conclusión del modelo lineal simple

El modelo permitió evaluar la relación entre el índice de humedad del suelo y el índice de susceptibilidad a deslizamientos.

La pendiente obtenida fue 65.64, por lo que la relación estimada es positiva.

El coeficiente de Pearson fue r = 0.868, con un p-value = < 0.00000000000000022. La relación lineal resultó estadísticamente significativa.

El modelo explica aproximadamente 75.31% de la variabilidad del índice de susceptibilidad.

Su uso debe limitarse al rango observado del índice de humedad del suelo y entenderse como una asociación estadística, no como una causalidad absoluta.

FIN DEL MODELO

Modelo finalizado

La regresión lineal simple fue desarrollada usando como variable independiente el índice de humedad del suelo y como variable dependiente el índice de susceptibilidad a deslizamientos.