Datos <- read.csv(
"C:/Users/majke/Downloads/Proyecto Estadistica/dataANTISANA.csv", header = TRUE, sep = ";", dec = ",", fileEncoding = "Latin1")
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
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)
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")
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)**
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%
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)**
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")
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"
)
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%
cat(paste0("La ecuación resultante es: **", ecuacion_poli2, "**\n"))
## La ecuación resultante es: **y = 0.7758 + 0.0107x - 0.000117x^2**
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 |
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%).