Relación entre la Temperatura Máxima y la Humedad Relativa en el Antisana
library(readr)
dataANTISANA <- read_delim("C:/Users/Usuario/Desktop/TRABAJO DE ESTADISTICA/PDF-EXCEL-QGIS/dataANTISANA.csv", delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 366 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): Date
## dbl (9): Longitude, Latitude, Elevation, Max Temperature, Min Temperature, P...
##
## ℹ 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.
Se seleccionaron las variables Temperatura Máxima y Humedad Relativa debido a su estrecha relación física dentro del sistema climático de alta montaña. La temperatura controla la capacidad del aire para contener vapor de agua; cuando la temperatura aumenta, el aire puede almacenar mayor cantidad de vapor, lo que modifica directamente los niveles de humedad relativa observados. Esta relación causa–efecto permite analizar cómo los cambios térmicos influyen en el comportamiento del contenido de humedad atmosférica.
Definición de variables: - Variable
independiente (X): Temperatura Máxima
(Max Temperature). - Variable dependiente
(Y): Humedad Relativa
(Relative Humidity).
Se comparan variables por causa y efecto
x <- dataANTISANA$`Max Temperature`
y <- dataANTISANA$`Relative Humidity`
tabla_pares <- data.frame(
Tem_Max = x,
Hume_Rela = y
)
print("Tabla de Pares: Temperatura Máxima (x) y Humedad Relativa (y)")
## [1] "Tabla de Pares: Temperatura Máxima (x) y Humedad Relativa (y)"
head(tabla_pares)
## Tem_Max Hume_Rela
## 1 16.10 0.93
## 2 15.50 0.96
## 3 11.55 0.98
## 4 12.02 0.99
## 5 11.73 0.98
## 6 12.11 0.97
library(ggplot2)
ggplot(dataANTISANA, aes(x = `Max Temperature`, y = `Relative Humidity`)) +
geom_point(color = "darkblue", alpha = 0.6, size = 2) +
theme_minimal() +
labs(title = "Gráfica No.1: Dispersión entre Temperatura Máxima(x)\n y la Humedad Relativa(y)",
subtitle = "Estudio: Datos Antisana",
x = "Tem. Max (°C)",
y = "Humedad Relativa (0-1)") +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
x_exp <- dataANTISANA$`Max Temperature`
y_exp <- dataANTISANA$`Relative Humidity`
modelo_exponencial <- lm(log(y_exp) ~ x_exp)
b_exp <- coef(modelo_exponencial)[2]
a_exp <- exp(coef(modelo_exponencial)[1])
a_txt <- format(a_exp, scientific = FALSE, digits = 6)
b_txt <- round(b_exp, 5)
cat(" PARÁMETROS DEL MODELO EXPONENCIAL\n",
"Parámetro a (constante): ", a_txt, "\n",
"Parámetro b (exponente): ", b_txt, "\n",
"La ecuación es: y =", a_txt, "* e ^ (", b_txt, "* x)\n")
## PARÁMETROS DEL MODELO EXPONENCIAL
## Parámetro a (constante): 1.64888
## Parámetro b (exponente): -0.03934
## La ecuación es: y = 1.64888 * e ^ ( -0.03934 * x)
library(ggplot2)
library(ggtext)
a_vis <- format(a_exp, scientific = FALSE, digits = 5)
b_vis <- round(b_exp, 4)
sub_exp <- paste0("Modelo Exponencial: <span style='color:#e67e22;'>**y = ",
a_vis, " · e<sup>", b_vis, "x</sup>**</span>")
ggplot(dataANTISANA, aes(x = `Max Temperature`, y = `Relative Humidity`)) +
geom_point(color = "#2c3e50", alpha = 0.5, size = 2) +
stat_function(fun = function(x) { a_exp * exp(b_exp * x) },
color = "#e67e22", size = 1.3) +
theme_minimal() +
labs(title = "Gráfica No.2: Comparación realidad y modelo entre Temperatura Máxima
y la Humedad Relativa)",
subtitle = sub_exp,
x = "Temperatura Máxima (°C)",
y = "Humedad Relativa (0-1)") +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
plot.subtitle = element_markdown(hjust = 0.5, size = 11),
axis.title = element_text(face = "bold")
)
test_p_exp <- cor.test(x_exp, log(y_exp), method = "pearson")
r_exp <- as.numeric(test_p_exp$estimate)
r2_exp_val <- r_exp^2
cat(" VALIDACIÓN MATEMÁTICA: MODELO EXPONENCIAL\n",
" Coeficiente de correlación (r): ", round(r_exp, 4), "\n",
" Relación porcentual: ", round(r_exp * 100, 2), "%\n",
" Coeficiente de determinación: ", round(r2_exp_val, 4), "\n")
## VALIDACIÓN MATEMÁTICA: MODELO EXPONENCIAL
## Coeficiente de correlación (r): -0.85
## Relación porcentual: -85 %
## Coeficiente de determinación: 0.7224
library(gt)
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
fuerza_r <- case_when(
abs(r_exp) >= 0.7 ~ "Alta",
abs(r_exp) >= 0.4 ~ "Moderada",
TRUE ~ "Baja"
)
fuerza_r2 <- case_when(
r2_exp_val >= 0.7 ~ "Muy Alta",
r2_exp_val >= 0.5 ~ "Media-Alta",
r2_exp_val >= 0.3 ~ "Moderada",
TRUE ~ "Baja"
)
color_tabla <- case_when(
r2_exp_val >= 0.5 ~ "#27ae60",
r2_exp_val >= 0.3 ~ "#f1c40f",
TRUE ~ "#e74c3c"
)
resumen_exp_df <- data.frame(
conjetura = "Exponencial",
ecuacion = sprintf("y = %.4f * e^(%.4f * x)", a_exp, b_exp),
correlacion = sprintf("%.2f (%s)", r_exp*100, fuerza_r),
determinacion = sprintf("%.2f (%s)", r2_exp_val*100, fuerza_r2)
)
resumen_exp_df %>%
gt() %>%
tab_header(
title = md("**CONCLUSIONES Y ESTADÍSTICOS: MODELO EXPONENCIAL**"),
subtitle = "Variables: Temperatura Máxima y Humedad Relativa en el Antisana"
) %>%
cols_label(
conjetura = "Modelo",
ecuacion = html("Ecuación (y = a · e<sup>bx</sup>)"),
correlacion = "Correlación (r %)",
determinacion = html("Determinación (R<sup>2</sup>%)")
) %>%
tab_source_note(source_note = "Autor: Grupo 3") %>%
tab_style(
style = cell_text(color = color_tabla, weight = "bold"),
locations = cells_body(columns = c(correlacion, determinacion))
) %>%
tab_options(
heading.background.color = "#2c3e50",
column_labels.font.weight = "bold",
table.width = pct(100)
) %>%
tab_style(
style = cell_text(color = "white"),
locations = cells_title(groups = c("title", "subtitle"))
) %>%
cols_align(align = "center")
| CONCLUSIONES Y ESTADÍSTICOS: MODELO EXPONENCIAL | |||
| Variables: Temperatura Máxima y Humedad Relativa en el Antisana | |||
| Modelo | Ecuación (y = a · ebx) | Correlación (r %) | Determinación (R2%) |
|---|---|---|---|
| Exponencial | y = 1.6489 * e^(-0.0393 * x) | -85.00 (Alta) | 72.24 (Muy Alta) |
| Autor: Grupo 3 | |||
rango_min <- min(x_exp, na.rm = TRUE)
rango_max <- max(x_exp, na.rm = TRUE)
temp_test <- round(mean(x_exp, na.rm = TRUE), 1)
pred_test <- a_exp * exp(b_exp * temp_test)
cat(paste0(
"Interpretación:\n",
"El modelo exponencial revela una relación inversa significativa: por cada grado Celsius que aumenta la **Temperatura Máxima**, la **Humedad Relativa** decrece a una tasa constante de aproximadamente **", round(abs(b_exp) * 100, 2), "%**. Este ajuste explica el **", round(r2_exp_val * 100, 2), "%** de la variabilidad climática observada en la estación.\n\n",
"Validez y Restricciones:\n",
"Para asegurar la fiabilidad de las predicciones, el uso de esta ecuación debe restringirse al dominio de los datos observados en el Antisana. El modelo es válido para temperaturas máximas comprendidas entre los **", rango_min, " °C** y los **", rango_max, " °C**. Fuera de este intervalo, el modelo entra en fase de extrapolación y pierde precisión física.\n\n",
"Análisis Físico:\n",
"Este descenso exponencial se debe a que el aire caliente aumenta su capacidad de carga de vapor de agua. Si la cantidad de agua absoluta no varía, un incremento térmico reduce drásticamente la saturación relativa. Por ejemplo, a una temperatura de **", temp_test, " °C**, el modelo estima una humedad de **", round(pred_test * 100, 2), "%**.\n\n",
"Comparativa de Ajuste:\n",
"La correlación porcentual alcanzada del **", round(r_exp * 100, 2), "%** supera la tendencia lineal simple, confirmando que la dinámica entre el calor máximo y la humedad en ecosistemas de alta montaña sigue un comportamiento curvo y no proporcional."
))
Interpretación: El modelo exponencial revela una relación inversa significativa: por cada grado Celsius que aumenta la Temperatura Máxima, la Humedad Relativa decrece a una tasa constante de aproximadamente 3.93%. Este ajuste explica el 72.24% de la variabilidad climática observada en la estación.
Validez y Restricciones: Para asegurar la fiabilidad de las predicciones, el uso de esta ecuación debe restringirse al dominio de los datos observados en el Antisana. El modelo es válido para temperaturas máximas comprendidas entre los 10.32 °C y los 23.79 °C. Fuera de este intervalo, el modelo entra en fase de extrapolación y pierde precisión física.
Análisis Físico: Este descenso exponencial se debe a que el aire caliente aumenta su capacidad de carga de vapor de agua. Si la cantidad de agua absoluta no varía, un incremento térmico reduce drásticamente la saturación relativa. Por ejemplo, a una temperatura de 15.7 °C, el modelo estima una humedad de 88.91%.
Comparativa de Ajuste: La correlación porcentual alcanzada del -85% supera la tendencia lineal simple, confirmando que la dinámica entre el calor máximo y la humedad en ecosistemas de alta montaña sigue un comportamiento curvo y no proporcional.