###############################################################################
# INFORME FINAL DEL CURSO
###############################################################################
# ---------------------------------------------------------------------------
# PLANTEAMIENTO DE LA PREGUNTA PREDICTIVA
# ---------------------------------------------------------------------------
# Pregunta nueva:
# ¿Es posible predecir el ANCHO DEL SÉPALO a partir de
# características morfológicas de pétalo y sépalo?
#
# Variable Dependiente: Ancho del sépalo
# Predictoras: Largo y ancho del pétalo, largo del sépalo.
#
# Interés teórico:
# Saber si las dimensiones del pétalo pueden anticipar la
# arquitectura del sépalo,
# lo cual podría reflejar patrones estructurales de crecimiento.
# ---------------------------------------------------------------------------
library(car)
## Loading required package: carData
# ---------------------------------------------------------------------------
# DATASET Y SELECCIÓN DE VARIABLES
# ---------------------------------------------------------------------------
datos <- read.csv("/Users/pilarmendez/Downloads/a4_iris_limpia.csv")
str(datos)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepalo_largo: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepalo_ancho: num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petalo_largo: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petalo_ancho: num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Variedad : chr "Setosa" "Setosa" "Setosa" "Setosa" ...
summary(datos)
## Sepalo_largo Sepalo_ancho Petalo_largo Petalo_ancho
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Variedad
## Length:150
## Class :character
## Mode :character
##
##
##
head(datos)
## Sepalo_largo Sepalo_ancho Petalo_largo Petalo_ancho Variedad
## 1 5.1 3.5 1.4 0.2 Setosa
## 2 4.9 3.0 1.4 0.2 Setosa
## 3 4.7 3.2 1.3 0.2 Setosa
## 4 4.6 3.1 1.5 0.2 Setosa
## 5 5.0 3.6 1.4 0.2 Setosa
## 6 5.4 3.9 1.7 0.4 Setosa
vars <- c("Sepalo_ancho","Sepalo_largo","Petalo_largo","Petalo_ancho")
datos_sel <- datos[, vars]
summary(datos_sel)
## Sepalo_ancho Sepalo_largo Petalo_largo Petalo_ancho
## Min. :2.000 Min. :4.300 Min. :1.000 Min. :0.100
## 1st Qu.:2.800 1st Qu.:5.100 1st Qu.:1.600 1st Qu.:0.300
## Median :3.000 Median :5.800 Median :4.350 Median :1.300
## Mean :3.057 Mean :5.843 Mean :3.758 Mean :1.199
## 3rd Qu.:3.300 3rd Qu.:6.400 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :4.400 Max. :7.900 Max. :6.900 Max. :2.500
# ---------------------------------------------------------------------------
# VISUALIZACIONES Y CORRELACIONES
# ---------------------------------------------------------------------------
correlaciones_nuevo <- cor(datos_sel)
correlaciones_nuevo
## Sepalo_ancho Sepalo_largo Petalo_largo Petalo_ancho
## Sepalo_ancho 1.0000000 -0.1175698 -0.4284401 -0.3661259
## Sepalo_largo -0.1175698 1.0000000 0.8717538 0.8179411
## Petalo_largo -0.4284401 0.8717538 1.0000000 0.9628654
## Petalo_ancho -0.3661259 0.8179411 0.9628654 1.0000000
pairs(datos_sel,
main = "Relación entre dimensiones morfológicas")

# Comentario:
# En Iris es frecuente que el ancho del sépalo tenga correlaciones débiles o moderadas.
# Predecirla es más difícil que predecir el largo del pétalo lo que # hace interesante
# evaluar si existe un modelo lineal razonable.
# ---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# MODELO PREDICTIVO PARA EXPLICAR ANCHO DEL SEPALO
# ---------------------------------------------------------------------------
# Modelo principal propuesto:
modelo_pw <- lm(Sepalo_ancho ~ Petalo_largo + Petalo_ancho + Sepalo_largo, data = datos_sel)
summary(modelo_pw)
##
## Call:
## lm(formula = Sepalo_ancho ~ Petalo_largo + Petalo_ancho + Sepalo_largo,
## data = datos_sel)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.88045 -0.20945 0.01426 0.17942 0.78125
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.04309 0.27058 3.855 0.000173 ***
## Petalo_largo -0.58603 0.06214 -9.431 < 2e-16 ***
## Petalo_ancho 0.55803 0.12256 4.553 1.1e-05 ***
## Sepalo_largo 0.60707 0.06217 9.765 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3038 on 146 degrees of freedom
## Multiple R-squared: 0.524, Adjusted R-squared: 0.5142
## F-statistic: 53.58 on 3 and 146 DF, p-value: < 2.2e-16
# DIAGNÓSTICO DEL MODELO PROPUESTO
par(mfrow = c(2, 2))
plot(modelo_pw)

par(mfrow = c(1, 1))
# ---------------------------------------------------------------------------
# ANÁLISIS DE COLINEALIDAD
# ---------------------------------------------------------------------------
vif(modelo_pw)
## Petalo_largo Petalo_ancho Sepalo_largo
## 19.426391 14.089441 4.278282
# Comentario de VIF:
# Si VIF es moderado (<5), no hay evidencia fuerte de colinealidad crítica.
# Es esperado que Petal_lenght y Petal_width estén correlacionadas,
# pero no necesariamente afectan la estabilidad del modelo.
# ---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# INTERPRETACIÓN DEL MODELO
# ---------------------------------------------------------------------------
# Fórmula:
# Ancho del sépalo = β0 + β1*Largo del pétlo + β2*Ancho del petalo + β3*Largo del sepalo + ε
#
# Interpretación general:
# - β1 (Largo del pétalo): indica cuánto aumenta o disminuye ancho # del pétalo cuando
# crece la longitud del pétalo.
# - β2 (Ancho del petalo): puede mostrar un efecto inverso (sépalos más estrechos
# asociándose a pétalos más anchos).
# - β3 (Largo del pétalo): representa el vínculo directo entre ambas dimensiones
# del sépalo.
#
# Significancia:
# El modelo permite identificar qué características del pétalo predicen mejor
# la anchura del sépalo.
#
# Métricas globales:
# - R²: Cuánta variabilidad del ancho del sépalo explican los predictores.
# - R² ajustado: versión penalizada para evitar sobreajuste.
# - Residuales: útiles para verificar linealidad y normalidad.
#
# ---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# CONCLUSIONES DEL MODELO
# ---------------------------------------------------------------------------
# 1. El ancho del sépalo puede predecirse parcialmente mediante
# las dimensiones del pétalo y la longitud del sépalo.
#
# 2. Los coeficientes del modelo ayudan a entender qué estructuras florales
# tienen mayor relación con la expansión lateral del sépalo.
#
# 3. Es un modelo con interpretación biológica razonable, pero con poder
# predictivo moderado, lo cual es esperable para esta variable.
#
# 4. No se trata de un modelo perfecto, pero sí de un modelo útil para describir
# la relación estructural entre pétalo y sépalo.
#
# 5. Se recomienda explorar modelos no lineales o incluir la variable especie
# para capturar patrones morfológicos diferenciales.
# ---------------------------------------------------------------------------