La búsqueda global no está activada.
Salta al contenido principal
Foro

Foro de debate módulo 4

Dudas del módulo 4 / Doubts about module 4

Dudas del módulo 4 / Doubts about module 4

de María José Gacto - Número de respuestas: 2

Hola a todos. Hemos creado un hilo dedicado para cualquier pregunta o duda que surja durante el Módulo 4. Este hilo será un espacio centralizado donde podrás compartir tus inquietudes, recibir ayuda de tus compañeros de curso y colaborar estrechamente con los instructores. Estamos comprometidos a brindarte todo el apoyo que necesitas para tener éxito en este módulo. ¡No dudes en unirte al hilo y compartir tus preguntas!

---------------------------

Hello everyone. We have created a dedicated thread for any questions or concerns that arise during Module 4. This thread will be a centralized space where you can share your concerns, get help from your fellow students and collaborate closely with the instructors. We are committed to providing you with all the support you need to succeed in this module - feel free to join the thread and share your questions!


En respuesta a María José Gacto

Re: Dudas del módulo 4 / Doubts about module 4

de Ester López-Aguilar -
Hola,

Tras leer los apuntes me han surgido un par de dudas. En primer lugar, podríais explicarme mejor el fundamento de validación cruzada y cómo se aplica a la hora de hacer los comandos,

Por otro lado, qué significa que se incluyen todos los términos de jerarquia? Y cómo puedo identificarlo?

Muchas gracias,
En respuesta a Ester López-Aguilar

Re: Dudas del módulo 4 / Doubts about module 4

de María José Gacto -
Hola,
Gracias por tu mensaje. Te respondo a las dos dudas que planteas:
________________________________________
1. ¿Qué es la validación cruzada y cómo se aplica?
La validación cruzada (cross-validation) es una técnica utilizada para evaluar la capacidad predictiva de un modelo. Su objetivo es asegurarse de que los resultados no dependen únicamente de cómo se dividen los datos entre entrenamiento y prueba, ayudando así a evitar el sobreajuste (overfitting).
Un caso muy habitual es la validación cruzada 5-fold. Consiste en dividir aleatoriamente el conjunto de datos en 5 partes iguales (cada una con el 20 % de los registros). Luego:
• Se entrena el modelo con 4 partes (80 %)
• Se prueba con la parte restante (20 %)
• Este proceso se repite 5 veces, cambiando en cada iteración el subconjunto que se usa como test
• Finalmente, se calcula la media del rendimiento obtenido en cada una de las 5 pruebas
Esto da lugar a una estimación más robusta del rendimiento real del modelo.
Ejemplo de aplicación en R:

set.seed(123456)  # Fijamos una semilla para reproducibilidad

k <- 5

data$kfold <- sample(1:k, nrow(data), replace = TRUE)  # Se asigna aleatoriamente cada fila a un fold

performances <- c()  # Vector para guardar los resultados

 

for (fold in 1:k) {  #bucle

  train <- data[data$kfold != fold, ]

  test <- data[data$kfold == fold, ]

 

  modelo <- lm(y ~ x1 + x2, data = train)  # Entrenamos el modelo

  predicciones <- predict(modelo, newdata = test)

 

  error <- mean((test$y - predicciones)^2)  # Calculamos el error (MSE, por ejemplo)

  performances[fold] <- error

}

 mean(performances)  # Promediamos los errores


2. ¿Qué significa que se incluyan todos los términos de jerarquía?

Cuando construimos un modelo con interacciones o términos polinómicos, es importante respetar el principio de jerarquía. Esto significa que:

Si se incluye un término complejo, también deben incluirse los términos más simples que lo componen, incluso si no son significativos por sí solos.

Ejemplo con polinomios:

Si decides incluir Y3 (término cúbico) en el modelo porque su p-valor indica que es relevante, entonces también debes incluir Y y Y2, aunque sus p-valores sean altos.

Ejemplo con interacciones:

Si incluyes una interacción triple como X1×X2×X6, debes asegurarte de que también estén:

  • Las interacciones dobles:
    X1×X2, X1×X6, X2×X6
  • Los efectos individuales:
    X1, X2, X6

Esto se hace porque los términos complejos no tienen sentido por sí solos si no se entiende cómo se comportan los componentes por separado. Ignorar estos términos “básicos” podría llevar a interpretaciones incorrectas del modelo.


Espero que estas explicaciones te sean útiles.

--------------

Hi,
Thank you for your message. Let me answer the two questions you raised:

1. What is cross-validation and how is it applied?
Cross-validation is a technique used to evaluate a model’s predictive performance. Its goal is to ensure that the results do not depend solely on how the data is split between training and testing sets, helping to avoid overfitting.

A very common case is 5-fold cross-validation, which consists of randomly dividing the dataset into 5 equal parts (each containing 20% of the records). Then:

  • The model is trained on 4 parts (80%)
  • It is tested on the remaining part (20%)
  • This process is repeated 5 times, changing the test subset in each iteration
  • Finally, the average performance across the 5 tests is calculated

This provides a more robust estimate of the model's true performance.

Example of implementation in R:

set.seed(123456)  # Set a seed for reproducibility

k <- 5

data$kfold <- sample(1:k, nrow(data), replace = TRUE)  # Randomly assign each row to a fold

performances <- c()  # Vector to store results

 

for (fold in 1:k) {  # Loop over each fold

  train <- data[data$kfold != fold, ]

  test <- data[data$kfold == fold, ]

 

  model <- lm(y ~ x1 + x2, data = train)  # Train the model

  predictions <- predict(model, newdata = test)

 

  error <- mean((test$y - predictions)^2)  # Calculate the error (e.g., MSE)

  performances[fold] <- error

}

 

mean(performances)  # Average the errors

 

2. What does it mean to include all hierarchy terms?
When building a model with interactions or polynomial terms, it’s important to respect the principle of hierarchy. This means that:

If a complex term is included, the simpler terms it’s based on should also be included — even if they are not statistically significant on their own.

Example with polynomials:
If you include a cubic term Y3 in the model because its p-value shows it's relevant, you must also include Y and Y2, even if their p-values are high.

Example with interactions:
If you include a triple interaction like X1×X2×X6, you should also include:

  • The two-way interactions:
    X1×X2, X1×X6, X2×X6
  • Individual effects:
    X1, X2, X6

This is necessary because complex terms don’t make sense by themselves if the behavior of their components is not understood. Ignoring these “basic” terms can lead to incorrect model interpretations.


I hope these explanations are helpful to you!