1 Carga de Datos

Datos <- read.csv(
  "C:/Users/majke/Downloads/Proyecto Estadistica/dataANTISANA.csv",  header = TRUE, sep = ";", dec = ",", fileEncoding = "Latin1")

2 Extracción y Depuración de Variables

Se aplica un modelo de ajuste logarítmico sobre los datos depurados para encontrar la tendencia climática del sector y estabilizar la varianza de las observaciones.Se estableció la Precipitación (mm) como variable independiente (\(x\)) por ser el condicionante meteorológico primario que regula la entrada de vapor de agua al sistema atmosférico local. La Humedad Relativa (%) actúa como variable dependiente (\(y\)), ya que representa la respuesta física del entorno ante el aporte de pluviosidad, reflejando el grado de saturación del aire.Esta relación modela la dinámica de saturación ambiental: a medida que aumenta la precipitación, la humedad relativa tiende a crecer de forma logarítmica; es decir, presenta un incremento inicial acelerado que se estabiliza gradualmente a medida que la atmósfera se aproxima a su punto de rocío o capacidad máxima de retención.Variable Independiente (\(X\)): Precipitación acumulada (mm).Variable Dependiente (\(Y\)): Humedad Relativa promedio (%).

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(stringr)

datos_raw <- Datos %>%
  select(Precipitation, Relative.Humidity) %>%
  mutate(
    x = as.numeric(str_replace(as.character(Precipitation), ",", ".")),
    y = as.numeric(str_replace(as.character(Relative.Humidity),  ",", "."))
  ) %>%
  filter(!is.na(x), !is.na(y)) 
x <- datos_raw$x
y <- datos_raw$y

3 Análisis Gráfico

par(mar = c(5, 5, 4, 2))

plot(x, y,
     main = "Gráfica N°1: Dispersión entre Precipitación y Humedad Relativa",
     xlab = "Precipitación (mm)",
     ylab = "Humedad Relativa(%)",
     col = "#3498DB",
     pch = 16,
     cex = 1.1,
     frame.plot = FALSE)

grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")
axis(1); axis(2)

3.1 Modelo Logaritmico

Se ajusta un Modelo de Regresión Logarítmica, cuya forma funcional es:\[y = a + b \cdot \ln(x)\]

modelo_log <- lm(y ~ log(x))
par(mar = c(5, 5, 4, 2))
plot(x, y,
     main = "Gráfica N°2: Comparación Realidad y Modelo de la Precipitación y Humedad Relativa",
     xlab = "Precipitación (mm)",
     ylab = "Humedad Relativa (%)",
     col = "#3498DB", pch = 16, cex = 1.0, frame.plot = FALSE)
grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")

x_seq <- seq(min(x), max(x), length.out = 500)
y_pred_log <- predict(modelo_log, list(x = x_seq))
lines(x_seq, y_pred_log, col = "#E74C3C", lwd = 3)
legend("topleft", legend = "Modelo Logarítmico", col = "#E74C3C", lwd = 3, bty = "n")

3.1.1 Resultados y Ecuación

coefs_log <- coef(modelo_log)
a_log <- coefs_log[1]
b_log <- coefs_log[2]
r2_log <- summary(modelo_log)$r.squared
r_log <- sqrt(r2_log)

signo_b_log <- ifelse(b_log >= 0, "+", "-")
ecuacion_log <- paste0("y = ", sprintf("%.4f", a_log), " ", signo_b_log, " ", sprintf("%.4f", abs(b_log)), " * ln(x)")
x_restriccion <- exp(-a_log/b_log)


cat("**Resultados y Ecuación (Modelo Logarítmico)**\n\n")
## **Resultados y Ecuación (Modelo Logarítmico)**

3.1.2 Bondad de Ajuste

cat("**Bondad de Ajuste**\n\n")
## **Bondad de Ajuste**
cat(paste0("* Coeficiente de Correlación (R): ", round(r_log * 100, 4), "%\n"))
## * Coeficiente de Correlación (R): 84.7129%
cat(paste0("* Coeficiente de Determinación (R²): ", round(r2_log * 100, 4), "%\n\n"))
## * Coeficiente de Determinación (R²): 71.7628%

3.1.3 Ecuación Matemática

cat("**Ecuación Matemática**\n\n")
## **Ecuación Matemática**
cat(paste0("La ecuación resultante es: **", ecuacion_log, "**\n\n"))
## La ecuación resultante es: **y = 0.8195 + 0.0413 * ln(x)**

3.2 Modelo Polinómico de Segundo Grado

Se ajusta un Polinomio de Grado 2, representado por la ecuación:\[y = \beta_0 + \beta_1x + \beta_2x^2\]

modelo_poli2 <- lm(y ~ x + I(x^2))
par(mar = c(5, 5, 4, 2))
plot(x, y,
     main = "Gráfica N°3: Ajuste Polinómico (Grado 2)",
     xlab = "Precipitación (mm)",
     ylab = "Humedad (%)",
     col  = "#3498DB",
     pch  = 16,
     cex  = 1.0,
     frame.plot = FALSE)

grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")

x_seq <- seq(min(x), max(x), length.out = 500)
y_pred_poli2 <- predict(modelo_poli2, newdata = data.frame(x = x_seq))

lines(x_seq, y_pred_poli2, col = "#E74C3C", lwd = 3)
legend("topleft", legend = "Modelo Polinómico (Grado 2)",
       col = "#E74C3C", lwd = 3, bty = "n")

3.2.1 Resultados y Ecuación

r2_poli2 <- summary(modelo_poli2)$r.squared
r_poli2  <- sqrt(r2_poli2)
coefs <- coef(modelo_poli2)
a0 <- coefs[1]
a1 <- coefs[2]
a2 <- coefs[3]
sign1 <- ifelse(a1 >= 0, "+", "-")
sign2 <- ifelse(a2 >= 0, "+", "-")

ecuacion_poli2 <- paste0(
  "y = ", sprintf("%.4f", a0), " ",
  sign1, " ", sprintf("%.4f", abs(a1)), "x ",
  sign2, " ", sprintf("%.6f", abs(a2)), "x^2"
)

3.2.2 Bondad de Ajuste

cat("**Resultados y Ecuación (Modelo Polinómico Grado 2)**\n\n")
## **Resultados y Ecuación (Modelo Polinómico Grado 2)**
cat(paste0("* Coeficiente de Correlación (R): ", round(r_poli2 * 100, 4), "%\n"))
## * Coeficiente de Correlación (R): 76.384%
cat(paste0("* Coeficiente de Determinación (R²): ", round(r2_poli2 * 100, 4), "%\n\n"))
## * Coeficiente de Determinación (R²): 58.3451%

3.2.3 Ecuación Matemática

cat(paste0("La ecuación resultante es: **", ecuacion_poli2, "**\n"))
## La ecuación resultante es: **y = 0.7758 + 0.0107x - 0.000117x^2**

4 Comparación de Modelos

library(gt)

restr_log <- paste0("x > ", round(x_restriccion, 4))

tabla_comp <- data.frame(
  Modelo = c("Logarítmico", "Polinómico (G2)"),
  Pearson_R = c(paste0(round(r_log * 100, 2), "%"), 
                paste0(round(r_poli2 * 100, 2), "%")),
  R2 = c(paste0(round(r2_log * 100, 2), "%"), 
         paste0(round(r2_poli2 * 100, 2), "%")),
  Ecuacion = c(ecuacion_log, ecuacion_poli2),
  Restriccion = c(restr_log, "Ninguna")
)

tabla_comp %>%
  gt() %>%
  tab_header(
    title = md("**COMPARACIÓN DE MODELOS REGRESIVOS**"),
    subtitle = "Evaluación de ajuste: Precipitación vs Humedad"
  ) %>%
  cols_label(
    Modelo = md("**Modelo**"),
    Pearson_R = md("**Coef. Correlación (R)**"),
    R2 = md("**Determinación (R²)**"),
    Ecuacion = md("**Ecuación Matemática**"),
    Restriccion = md("**Restricción de Dominio**")
  ) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_options(
    heading.background.color = "#2C3E50",
    column_labels.background.color = "#F2F4F4",
    table.width = pct(100)
  ) %>%
  opt_stylize(color = "gray", style = 1)
COMPARACIÓN DE MODELOS REGRESIVOS
Evaluación de ajuste: Precipitación vs Humedad
Modelo Coef. Correlación (R) Determinación (R²) Ecuación Matemática Restricción de Dominio
Logarítmico 84.71% 71.76% y = 0.8195 + 0.0413 * ln(x) x > 0
Polinómico (G2) 76.38% 58.35% y = 0.7758 + 0.0107x - 0.000117x^2 Ninguna

5 Conclusiones

Entre la precipitación y la humedad relativa existe una relación de tipo logarítmica, cuya ecuación matemática está representada por \(y = 0.8195 + 0.0413 \cdot \ln(x)\), siendo ‘\(x\)’ la precipitación en mm e ‘\(y\)’ la humedad relativa (en formato decimal), donde existe la restricción de que \(x > 0\) (ya que el logaritmo natural no está definido para valores de cero o negativos).Por ejemplo, para una precipitación de 50.00 mm, se estima una humedad relativa de 0.9810 (equivalente al 98.10%).