#===============================================================================
# 1. CARGA DE DATOS Y LIBRERÍAS
# Proyecto: Análisis de Regresión Logarítmica Simple aplicado a Sedimentos Marinos
#===============================================================================
#------------------------------------------------------------------------------
# Cargar las librerías necesarias
#------------------------------------------------------------------------------
library(dplyr) # Manipulación de datos
library(gt) # Creación de tablas profesionales
library(knitr) # Integración de tablas en RMarkdown
#------------------------------------------------------------------------------
# Importar la base de datos
#------------------------------------------------------------------------------
datos <- read.csv(
"C:/Users/Grace/Downloads/dataset_geologico_limpio_80.3.csv",
header = TRUE,
sep = ",",
dec = ".",
stringsAsFactors = FALSE
)
#------------------------------------------------------------------------------
# Resumen general de la base de datos
#------------------------------------------------------------------------------
resumen_bd <- data.frame(
Descripción = c(
"Número de observaciones",
"Número de variables"
),
Valor = c(
nrow(datos),
ncol(datos)
)
)
#------------------------------------------------------------------------------
# Mostrar el resumen de la base de datos
#------------------------------------------------------------------------------
resumen_bd %>%
gt() %>%
tab_header(
title = md("**Tabla N°1. Resumen de la Base de Datos**")
) %>%
cols_align(
align = "center"
) %>%
tab_options(
table.width = pct(60),
column_labels.font.weight = "bold"
)
| Tabla N°1. Resumen de la Base de Datos | |
| Descripción | Valor |
|---|---|
| Número de observaciones | 27784 |
| Número de variables | 58 |
Para el desarrollo del modelo de regresión Logarítmica se seleccionaron dos variables cuantitativas pertenecientes a la base de datos de sedimentos marinos. La variable independiente corresponde al porcentaje de arena presente en cada muestra (SAND_PCT), mientras que la variable dependiente corresponde al tamaño medio del grano (MEAN). Esta selección se fundamenta en que la composición granulométrica del sedimento influye directamente sobre el tamaño promedio de sus partículas, estableciendo una relación de causa y efecto apropiada para el ajuste de un modelo de regresión Logarítmico.
#------------------------------------------------------------------------------
# Seleccionar las variables del análisis
#------------------------------------------------------------------------------
# Variable Independiente (X)
# SAND_PCT representa el porcentaje de arena presente en cada muestra
# de sedimento marino.
x <- as.numeric(datos$SAND_PCT) # X (Porcentaje de arena)
# Variable Dependiente (Y)
# MEAN representa el tamaño medio del grano del sedimento.
y <- as.numeric(datos$MEAN) # Y (Tamaño medio del grano)
#------------------------------------------------------------------------------
# Crear una tabla resumen de las variables seleccionadas
#------------------------------------------------------------------------------
tabla_variables <- data.frame(
Rol = c("Variable Independiente (X)",
"Variable Dependiente (Y)"),
Variable = c("SAND_PCT",
"MEAN"),
Descripción = c("Porcentaje de arena (%)",
"Tamaño medio del grano (Φ)")
)
#------------------------------------------------------------------------------
# Mostrar la tabla de variables seleccionadas
#------------------------------------------------------------------------------
tabla_variables %>%
gt() %>%
tab_header(
title = md("**Tabla N°2. Variables seleccionadas para el modelo de regresión Logarítmicol
aplicado al análisis de sedimentos marinos recolectados en Estados Unidos.**")
) %>%
cols_align(
align = "center"
) %>%
tab_options(
table.width = pct(80),
column_labels.font.weight = "bold"
)
| Tabla N°2. Variables seleccionadas para el modelo de regresión Logarítmicol aplicado al análisis de sedimentos marinos recolectados en Estados Unidos. | ||
| Rol | Variable | Descripción |
|---|---|---|
| Variable Independiente (X) | SAND_PCT | Porcentaje de arena (%) |
| Variable Dependiente (Y) | MEAN | Tamaño medio del grano (Φ) |
3.1 Construcción de la tabla de pares de valores
# Se construye una tabla únicamente con las dos variables del modelo:
# x = SAND_PCT (Porcentaje de arena)
# y = MEAN (Tamaño medio del grano)
TPV <- data.frame(
x = as.numeric(datos$SAND_PCT), # X (Porcentaje de arena)
y = as.numeric(datos$MEAN) # Y (Tamaño medio del grano)
)
# Guardamos el número inicial de registros
n_original <- nrow(TPV)
3.2 Identificación y eliminación de valores faltantes
# Se cuentan los valores faltantes en cada variable
na_x <- sum(is.na(TPV$x)) # NA en X (SAND_PCT)
na_y <- sum(is.na(TPV$y)) # NA en Y (MEAN)
# Se identifica cuántas filas tienen al menos un valor faltante
n_filas_na <- sum(!complete.cases(TPV))
# Se eliminan las filas con valores faltantes
# Esta decisión se justifica porque X e Y son variables principales del modelo
TPV_sin_na <- na.omit(TPV)
# Guardamos cuántos registros quedan después de eliminar NA
n_sin_na <- nrow(TPV_sin_na)
3.3 Eliminación de valores infinitos
# Se eliminan valores infinitos o no finitos, en caso de existir
TPV_sin_inf <- TPV_sin_na[
is.finite(TPV_sin_na$x) &
is.finite(TPV_sin_na$y),
]
# Guardamos cuántos registros quedan después de eliminar infinitos
n_sin_inf <- nrow(TPV_sin_inf)
# Registros eliminados por valores infinitos
n_inf_eliminados <- n_sin_na - n_sin_inf
3.4 Eliminación de valores inconsistentes
# En este caso:
# SAND_PCT representa un porcentaje, por lo tanto debe estar entre 0 y 100.
# MEAN representa una medida granulométrica; se conserva como numérica finita.
#
# Si SAND_PCT es menor que 0 o mayor que 100, se considera inconsistente
# para fines del modelo de regresión.
TPV_limpia <- TPV_sin_inf %>%
filter(
x > 0, # El porcentaje de arena no puede ser negativo
x <= 100 # El porcentaje de arena no debería superar el 100 %
)
# Guardamos cuántos registros quedan después de eliminar inconsistencias
n_sin_inconsistencias <- nrow(TPV_limpia)
# Registros eliminados por inconsistencias
n_inconsistentes <- n_sin_inf - n_sin_inconsistencias
3.5 Ordenamiento de los datos
# Se ordenan los datos de menor a mayor según la variable independiente X.
# Esto facilita la lectura de la tabla y la construcción de la gráfica.
TPV_limpia <- TPV_limpia %>%
arrange(x)
3.6 Agrupación: una X debe tener una sola Y
# Como el ingeniero indicó que para cada valor de X debe existir una sola Y,
# se agrupan los datos por cada valor de x.
#
# Cuando un mismo porcentaje de arena aparece varias veces, se calcula el promedio
# del tamaño medio del grano para representar ese grupo.
TPV_agrupada <- TPV_limpia %>%
group_by(x) %>%
summarise(
y = mean(y, na.rm = TRUE), # Promedio de Y para cada X
.groups = "drop"
)
# Guardamos cuántos registros quedan después de agrupar
n_agrupados <- nrow(TPV_agrupada)
# Registros reducidos por agrupación
n_reducidos_agrupacion <- n_sin_inconsistencias - n_agrupados
3.7 Eliminación de valores atípicos mediante el método IQR
# Se calcula el primer cuartil, tercer cuartil y rango intercuartílico
# de la variable dependiente Y.
Q1_y <- quantile(TPV_agrupada$y, 0.25, na.rm = TRUE)
Q3_y <- quantile(TPV_agrupada$y, 0.75, na.rm = TRUE)
IQR_y <- Q3_y - Q1_y
# Límites para detectar valores atípicos
LI_y <- Q1_y - 1.5 * IQR_y
LS_y <- Q3_y + 1.5 * IQR_y
# Se eliminan los registros cuyo valor de Y esté fuera de los límites
TPV_final <- TPV_agrupada %>%
filter(
y >= LI_y,
y <= LS_y
)
# Guardamos el número final de registros
n_final <- nrow(TPV_final)
# Registros eliminados por valores atípicos
n_outliers <- n_agrupados - n_final
3.8 Resumen del tratamiento de datos
# Se construye una tabla resumen para documentar todo el proceso de depuración.
tabla_depuracion <- data.frame(
Etapa = c(
"Base de datos original",
"Filas con valores faltantes eliminadas",
"Valores infinitos eliminados",
"Valores inconsistentes eliminados",
"Registros reducidos por agrupación",
"Valores atípicos eliminados por IQR",
"Base final utilizada en la regresión"
),
Registros = c(
n_original,
n_filas_na,
n_inf_eliminados,
n_inconsistentes,
n_reducidos_agrupacion,
n_outliers,
n_final
)
)
# Mostrar tabla resumen de depuración
tabla_depuracion %>%
gt() %>%
cols_label(
Etapa = "Etapa del tratamiento de datos",
Registros = "Número de registros"
) %>%
tab_header(
title = md("**Tabla N°3. Tratamiento de datos aplicado a los pares SAND_PCT (porcentaje de arena) y MEAN (tamaño medio del grano) en sedimentos marinos recolectados en Estados Unidos.**")
) %>%
cols_align(
align = "center"
) %>%
tab_options(
table.width = pct(85),
column_labels.font.weight = "bold"
)
| Tabla N°3. Tratamiento de datos aplicado a los pares SAND_PCT (porcentaje de arena) y MEAN (tamaño medio del grano) en sedimentos marinos recolectados en Estados Unidos. | |
| Etapa del tratamiento de datos | Número de registros |
|---|---|
| Base de datos original | 27784 |
| Filas con valores faltantes eliminadas | 400 |
| Valores infinitos eliminados | 0 |
| Valores inconsistentes eliminados | 359 |
| Registros reducidos por agrupación | 17991 |
| Valores atípicos eliminados por IQR | 409 |
| Base final utilizada en la regresión | 8625 |
3.9 Tabla final de pares de valores
# Se muestran únicamente los primeros 20 pares de valores depurados.
# Esta tabla será la base para el diagrama de dispersión y la regresión Logarítmica.
tabla_tpv_previa <- head(TPV_final, 20)
tabla_tpv_previa <- cbind(
Nro = 1:nrow(tabla_tpv_previa),
tabla_tpv_previa
)
# Mostrar tabla de pares de valores
tabla_tpv_previa %>%
gt() %>%
cols_label(
Nro = "N°",
x = "SAND_PCT (Porcentaje de arena, %)",
y = "MEAN (Tamaño medio del grano, Φ)"
) %>%
tab_header(
title = md("**Tabla N°4. Pares de valores depurados de SAND_PCT (porcentaje de arena) y MEAN (tamaño medio del grano) utilizados para la regresión Logarítmica en sedimentos marinos recolectados en Estados Unidos.**")
) %>%
fmt_number(
columns = c(x, y),
decimals = 4
) %>%
cols_align(
align = "center"
) %>%
tab_options(
table.width = pct(85),
column_labels.font.weight = "bold"
)
| Tabla N°4. Pares de valores depurados de SAND_PCT (porcentaje de arena) y MEAN (tamaño medio del grano) utilizados para la regresión Logarítmica en sedimentos marinos recolectados en Estados Unidos. | ||
| N° | SAND_PCT (Porcentaje de arena, %) | MEAN (Tamaño medio del grano, Φ) |
|---|---|---|
| 1 | 2.5572 | 2.9012 |
| 2 | 2.9854 | 2.7664 |
| 3 | 3.3500 | 2.7757 |
| 4 | 3.5100 | 2.8519 |
| 5 | 3.6100 | 2.7906 |
| 6 | 3.6300 | 2.7989 |
| 7 | 3.6400 | 2.7771 |
| 8 | 3.6800 | 2.9335 |
| 9 | 3.7000 | 2.8314 |
| 10 | 3.7300 | 2.8098 |
| 11 | 3.7500 | 2.8559 |
| 12 | 3.7600 | 2.8321 |
| 13 | 3.7900 | 2.8277 |
| 14 | 3.8100 | 2.8707 |
| 15 | 3.8200 | 2.8099 |
| 16 | 3.8300 | 2.9298 |
| 17 | 3.8600 | 2.7775 |
| 18 | 3.8800 | 2.8882 |
| 19 | 3.9000 | 2.8235 |
| 20 | 3.9100 | 2.9248 |
3.10 Definición final de las variables para el modelo
# A partir de la tabla final depurada, se definen las variables que serán usadas
# en las siguientes secciones del análisis.
x <- TPV_final$x # X final: SAND_PCT (Porcentaje de arena)
y <- TPV_final$y # Y final: MEAN (Tamaño medio del grano)
El diagrama de dispersión constituye la representación gráfica fundamental para el análisis de regresión Logarítmica, ya que permite visualizar el comportamiento conjunto de la variable independiente y la variable dependiente. En esta investigación, el gráfico se utiliza para analizar la relación existente entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) en sedimentos marinos recolectados en Estados Unidos. Debido al elevado número de observaciones disponibles, se emplea una muestra aleatoria representativa de la base de datos depurada con el propósito de mejorar la visualización de la tendencia general sin alterar el comportamiento estadístico de la información.
#------------------------------------------------------------------------------
# Selección de una muestra aleatoria para la visualización
#------------------------------------------------------------------------------
# La base de datos contiene miles de observaciones. Si se graficaran todos
# los puntos, la nube sería difícil de interpretar debido al sobrelapamiento.
#
# Por esta razón se selecciona una muestra aleatoria representativa únicamente
# para fines de visualización.
#
# IMPORTANTE:
# La regresión logarítmico NO se realizará con esta muestra, sino con la totalidad
# de los datos depurados.
set.seed(2026)
indice_visual <- sample(
1:length(x),
min(3000, length(x))
)
#------------------------------------------------------------------------------
# Configuración gráfica
#------------------------------------------------------------------------------
par(oma = c(1,1,1,1))
#------------------------------------------------------------------------------
# Construcción del diagrama de dispersión
#------------------------------------------------------------------------------
plot(
x[indice_visual],
y[indice_visual],
# Apariencia de los puntos
pch = 16,
cex = 0.7,
col = rgb(0,0,1,0.35),
# Título de la gráfica
main = "Gráfica N°1. Diagrama de dispersión entre el porcentaje de arena\n(SAND_PCT) y el tamaño medio del grano (MEAN)\npara analizar la relación logarítmico en sedimentos marinos recolectados en Estados Unidos",
# Etiquetas de los ejes
xlab = "SAND_PCT (Porcentaje de arena, %)",
ylab = "MEAN (Tamaño medio del grano, Φ)"
)
#------------------------------------------------------------------------------
# Agregar una cuadrícula para facilitar la lectura del gráfico
#------------------------------------------------------------------------------
grid()
#------------------------------------------------------------------------------
# Dibujar un marco alrededor de la gráfica
#------------------------------------------------------------------------------
box(which = "outer")
La nube de puntos permite observar el comportamiento conjunto entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN). La distribución de los puntos evidencia una tendencia que será utilizada como criterio para seleccionar el modelo matemático más apropiado. A partir de esta representación gráfica se procederá a plantear una hipótesis sobre el tipo de relación existente entre ambas variables y posteriormente se ajustará el modelo de regresión correspondiente.
La selección del modelo matemático constituye una de las etapas más importantes del análisis de regresión, ya que el objetivo es encontrar la función que mejor describa el comportamiento observado entre las variables de estudio. A partir del diagrama de dispersión obtenido en la sección anterior, se evidenció que la relación entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) presenta un crecimiento acelerado para valores pequeños de la variable independiente y una disminución gradual de dicha tasa de crecimiento conforme aumenta el porcentaje de arena. Este comportamiento corresponde a una curva cóncava hacia abajo, característica de un modelo logarítmico. Por esta razón, se plantea como hipótesis que un modelo de regresión logarítmica representa adecuadamente la relación existente entre ambas variables.
#------------------------------------------------------------------------------
# Ajuste del modelo de regresión logarítmica
#------------------------------------------------------------------------------
# El modelo utilizado tiene la forma:
#
# Y = a + b ln(X)
#
# donde:
#
# Y = MEAN (Tamaño medio del grano)
#
# X = SAND_PCT (Porcentaje de arena)
#
# ln(X) = Logaritmo natural de la variable independiente
modelo_log <- lm(
y ~ log(x)
)
#------------------------------------------------------------------------------
# Crear una secuencia de valores de X
#------------------------------------------------------------------------------
# Esta secuencia permitirá dibujar una curva suave del modelo.
x_modelo <- seq(
min(x),
max(x),
length.out = 500
)
#------------------------------------------------------------------------------
# Calcular los valores estimados por el modelo
#------------------------------------------------------------------------------
y_modelo <- predict(
modelo_log,
newdata = data.frame(
x = x_modelo
)
)
#------------------------------------------------------------------------------
# Construcción del gráfico
#------------------------------------------------------------------------------
par(oma = c(1,1,1,1))
plot(
x[indice_visual],
y[indice_visual],
pch = 16,
cex = 0.7,
col = rgb(0,0,1,0.35),
main =
"Gráfica N°2. Modelo de regresión logarítmica entre\n
el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN)\n
para describir la relación granulométrica de los sedimentos marinos\n
recolectados en Estados Unidos",
xlab = "SAND_PCT (Porcentaje de arena %)",
ylab = "MEAN (Tamaño medio del grano Φ)"
)
#------------------------------------------------------------------------------
# Superponer la curva del modelo logarítmico
#------------------------------------------------------------------------------
lines(
x_modelo,
y_modelo,
col = "red",
lwd = 3
)
#------------------------------------------------------------------------------
# Agregar cuadrícula
#------------------------------------------------------------------------------
grid()
#------------------------------------------------------------------------------
# Agregar marco
#------------------------------------------------------------------------------
box(which="outer")
#------------------------------------------------------------------------------
# Agregar una leyenda
#------------------------------------------------------------------------------
legend(
"bottomright",
legend = c(
"Datos observados",
"Modelo logarítmico"
),
col = c(
rgb(0,0,1,0.35),
"red"
),
pch = c(
16,
NA
),
lty = c(
NA,
1
),
lwd = c(
NA,
3
),
bty = "n"
)
Una vez seleccionado el modelo logarítmico, es necesario estimar sus parámetros para obtener la ecuación matemática que describe la relación entre el porcentaje de arena y el tamaño medio del grano. Estos parámetros corresponden al intercepto y a la pendiente, los cuales determinan la posición y la forma de la curva ajustada. La interpretación de dichos parámetros permite comprender cómo varía el tamaño medio del sedimento conforme aumenta el porcentaje de arena.
#------------------------------------------------------------------------------
# Obtener los coeficientes del modelo
#------------------------------------------------------------------------------
coeficientes <- coef(modelo_log)
#------------------------------------------------------------------------------
# Intercepto del modelo
#------------------------------------------------------------------------------
intercepto <- coeficientes[1]
#------------------------------------------------------------------------------
# Pendiente del modelo
#------------------------------------------------------------------------------
pendiente <- coeficientes[2]
#------------------------------------------------------------------------------
# Mostrar los parámetros obtenidos
#------------------------------------------------------------------------------
tabla_parametros <- data.frame(
Parámetro = c(
"Intercepto (a)",
"Pendiente (b)"
),
Valor = c(
intercepto,
pendiente
)
)
tabla_parametros %>%
gt() %>%
fmt_number(
columns = Valor,
decimals = 4
) %>%
cols_align(
align = "center"
) %>%
tab_header(
title = md("**Tabla N°5. Parámetros estimados del modelo de regresión logarítmica entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) en sedimentos marinos recolectados en Estados Unidos.**")
)
| Tabla N°5. Parámetros estimados del modelo de regresión logarítmica entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) en sedimentos marinos recolectados en Estados Unidos. | |
| Parámetro | Valor |
|---|---|
| Intercepto (a) | 1.6658 |
| Pendiente (b) | 0.7634 |
6.1 Ecuación del modelo logarítmico
#------------------------------------------------------------------------------
# Esta sección presenta:
# 1. El modelo teórico de regresión logarítmica.
# 2. La ecuación ajustada con los parámetros obtenidos mediante mínimos cuadrados.
#------------------------------------------------------------------------------
# Crear una nueva ventana gráfica
plot.new()
# Definir el área de trabajo
plot.window(
xlim = c(0,100),
ylim = c(0,100)
)
#===============================================================================
# RECUADRO 1: MODELO TEÓRICO
#===============================================================================
# Dibujar el recuadro
rect(
5, 58,
95, 92,
border = "#1F4E79",
lwd = 3
)
# Título del recuadro
text(
50, 87,
"MODELO TEÓRICO",
cex = 1.5,
font = 2,
col = "#1F4E79"
)
# Ecuación general del modelo
text(
50, 72,
"MEAN (Φ) = a + b · ln(SAND_PCT)",
cex = 1.35,
font = 2,
col = "#C0392B"
)
#===============================================================================
# RECUADRO 2: MODELO AJUSTADO
#===============================================================================
# Dibujar el segundo recuadro
rect(
5, 8,
95, 48,
border = "#1F4E79",
lwd = 3
)
# Título del recuadro
text(
50, 43,
"MODELO AJUSTADO",
cex = 1.5,
font = 2,
col = "#1F4E79"
)
# Construcción automática de la ecuación obtenida
ecuacion <- paste0(
"MEAN (Φ) = ",
round(intercepto,4),
" + ",
round(pendiente,4),
" · ln(SAND_PCT)"
)
# Mostrar la ecuación ajustada
text(
50,
24,
ecuacion,
cex = 1.30,
font = 2,
col = "#C0392B"
)
#===============================================================================
# Nota aclaratoria
#===============================================================================
text(
50,
4,
"Modelo ajustado mediante el método de mínimos cuadrados.",
cex = 0.85,
col = "gray40"
)
El análisis de regresión requiere evaluar la calidad del ajuste obtenido mediante indicadores estadísticos que permitan cuantificar la intensidad de la relación entre las variables. En esta sección se calcula el coeficiente de correlación de Pearson y el coeficiente de determinación (R²), los cuales permiten medir la fuerza de la relación entre el logaritmo natural del porcentaje de arena y el tamaño medio del grano, así como el porcentaje de variabilidad explicado por el modelo logarítmico.
#------------------------------------------------------------------------------
# Coeficiente de correlación de Pearson
#------------------------------------------------------------------------------
# Debido a que el modelo seleccionado es logarítmico,
# la correlación se calcula entre ln(SAND_PCT) y MEAN.
r <- cor(log(x), y)
#------------------------------------------------------------------------------
# Coeficiente de determinación (R²)
#------------------------------------------------------------------------------
# El coeficiente de determinación indica el porcentaje
# de la variabilidad de la variable dependiente que es
# explicado por el modelo de regresión.
R2 <- summary(modelo_log)$r.squared
#------------------------------------------------------------------------------
# Construcción de la tabla de indicadores
#------------------------------------------------------------------------------
tabla_tests <- data.frame(
Indicador = c(
"Coeficiente de correlación de Pearson (r)",
"Coeficiente de determinación (R²)"
),
Valor = c(
round(r,4),
round(R2,4)
)
)
#------------------------------------------------------------------------------
# Mostrar la tabla de resultados
#------------------------------------------------------------------------------
tabla_tests %>%
gt() %>%
cols_label(
Indicador = "Indicador estadístico",
Valor = "Valor"
) %>%
cols_align(
align = "center"
) %>%
fmt_number(
columns = Valor,
decimals = 4
) %>%
tab_header(
title = md("**Tabla N°7. Indicadores estadísticos para evaluar la calidad del ajuste del modelo de regresión logarítmica entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) en sedimentos marinos recolectados en Estados Unidos.**")
) %>%
tab_options(
table.width = pct(85),
column_labels.font.weight = "bold"
)
| Tabla N°7. Indicadores estadísticos para evaluar la calidad del ajuste del modelo de regresión logarítmica entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) en sedimentos marinos recolectados en Estados Unidos. | |
| Indicador estadístico | Valor |
|---|---|
| Coeficiente de correlación de Pearson (r) | 0.9794 |
| Coeficiente de determinación (R²) | 0.9592 |
Interpretación: El coeficiente de correlación de Pearson obtenido (r = 0.9794) evidencia la existencia de una relación positiva muy fuerte entre el logaritmo natural del porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN). Asimismo, el coeficiente de determinación (R² = 0.9592) indica que el 95.92 % de la variabilidad observada en el tamaño medio del grano es explicada por el modelo logarítmico ajustado, mientras que el 4.08 % restante se atribuye a otros factores no considerados en el análisis. En conjunto, estos resultados demuestran que el modelo presenta un excelente nivel de ajuste.
Todo modelo matemático posee condiciones bajo las cuales puede ser utilizado de forma adecuada. En el caso del modelo logarítmico obtenido, las restricciones provienen tanto de la naturaleza de la función logarítmica como del intervalo de observaciones empleado para ajustar el modelo. Por ello, es necesario establecer el dominio de aplicación antes de realizar estimaciones.
plot.new()
plot.window(
xlim = c(0,100),
ylim = c(0,100)
)
rect(
5,10,
95,90,
border = "#1F4E79",
lwd = 3
)
text(
50,
84,
"RESTRICCIONES DEL MODELO",
cex = 1.6,
font = 2,
col = "#1F4E79"
)
text(
50,
67,
"Dominio matemático:",
cex = 1.2,
font = 2
)
text(
50,
58,
"SAND_PCT > 0",
cex = 1.5,
col = "#C0392B",
font = 2
)
text(
50,
42,
"El modelo únicamente debe utilizarse",
cex = 1.05
)
text(
50,
34,
"dentro del rango observado en la base de datos,",
cex = 1.05
)
text(
50,
26,
"evitando realizar extrapolaciones.",
cex = 1.05
)
text(
50,
14,
"La función ln(x) solo está definida para valores positivos.",
cex = 0.9,
col = "gray40"
)
El modelo de regresión logarítmica obtenido solo es válido para
valores del porcentaje de arena comprendidos en el intervalo
0<SAND_PCT≤100. Debido a que la función logarítmica no está definida
para valores menores o iguales a cero, no se recomienda utilizar el
modelo fuera de este intervalo, ya que podrían obtenerse estimaciones
poco confiables.
Una de las principales aplicaciones de los modelos de regresión consiste en estimar el valor esperado de una variable dependiente a partir de un valor conocido de la variable independiente. En esta sección se utiliza el modelo de regresión logarítmica obtenido para estimar el tamaño medio del grano (MEAN) correspondiente a un porcentaje específico de arena (SAND_PCT). Debido a que el valor seleccionado pertenece al intervalo observado en la base de datos, la estimación corresponde a una interpolación, por lo que el resultado puede considerarse confiable dentro del dominio del modelo.
#------------------------------------------------------------------------------
# Valor de la variable independiente para realizar la estimación
#------------------------------------------------------------------------------
# Se desea estimar el tamaño medio del grano (MEAN)
# para un porcentaje de arena del 60 %.
x_estimacion <- 60
#------------------------------------------------------------------------------
# Cálculo de la estimación
#------------------------------------------------------------------------------
# Se utiliza la ecuación del modelo logarítmico para estimar
# el valor esperado de la variable dependiente.
y_estimacion <- predict(
modelo_log,
newdata = data.frame(
x = x_estimacion
)
)
#------------------------------------------------------------------------------
# Presentación gráfica del resultado
#------------------------------------------------------------------------------
plot.new()
plot.window(
xlim = c(0,100),
ylim = c(0,100)
)
#------------------------------------------------------------------------------
# Recuadro principal
#------------------------------------------------------------------------------
rect(
5,15,
95,85,
border = "#1F4E79",
lwd = 3
)
#------------------------------------------------------------------------------
# Título
#------------------------------------------------------------------------------
text(
50,
80,
"ESTIMACIÓN DEL MODELO LOGARÍTMICO",
cex = 1.2,
font = 2,
col = "#1F4E79"
)
#------------------------------------------------------------------------------
# Descripción
#------------------------------------------------------------------------------
text(
50,
64,
"Para una muestra de sedimento marino con",
cex = 1.15
)
text(
50,
56,
paste0(
"un porcentaje de arena (SAND_PCT) igual a ",
x_estimacion,
" %"
),
cex = 1.15
)
text(
50,
48,
"el modelo estima un tamaño medio del grano (MEAN) de:",
cex = 1.15
)
#------------------------------------------------------------------------------
# Valor estimado
#------------------------------------------------------------------------------
text(
50,
34,
paste0(
round(y_estimacion,4),
" Φ"
),
cex = 2,
font = 2,
col = "#C0392B"
)
#------------------------------------------------------------------------------
# Nota inferior
#------------------------------------------------------------------------------
text(
50,
20,
"Estimación obtenida mediante el modelo de regresión logarítmica ajustado.",
cex = 0.85,
col = "gray40"
)
Interpretación: Para una muestra de sedimento marino con un porcentaje de arena (SAND_PCT) igual al 60 %, el modelo de regresión logarítmica estima un tamaño medio del grano (MEAN) de r round(y_estimacion,4) Φ. Debido a que este valor se encuentra dentro del intervalo de observaciones utilizado para ajustar el modelo, la estimación corresponde a una interpolación, por lo que puede considerarse confiable para describir el comportamiento de los sedimentos marinos analizados.
El modelo obtenido permite estimar el tamaño medio del grano de los sedimentos marinos a partir del porcentaje de arena presente en una muestra, constituyendo una herramienta de apoyo para estudios granulométricos y análisis sedimentológicos en los que no se disponga de mediciones directas del tamaño medio del grano.
Entre el porcentaje de arena (SAND_PCT) y el tamaño medio del grano (MEAN) de los sedimentos marinos recolectados en Estados Unidos existe una relación de tipo logarítmica, representada por el modelo MEAN (Φ) = 1.6658 + 0.7634·ln(SAND_PCT), donde x representa el porcentaje de arena (%) y y el tamaño medio del grano (Φ). El modelo presenta una relación positiva muy fuerte (r = 0.9794) y explica aproximadamente el 95.92 % de la variabilidad observada en el tamaño medio del grano (R² = 0.9592), mientras que el 4.08 % restante se atribuye a otros factores sedimentológicos no incluidos en el análisis. Asimismo, para una muestra con un 60 % de arena, el modelo estima un tamaño medio del grano de 4.7914 Φ, constituyendo una herramienta útil para realizar estimaciones granulométricas dentro del intervalo de datos analizado.