Codigo - Multivariate Methods: Maldicion de la dimensionalidad

ANOVA para bloques completos.

Scripts multivariados

Maldicion de la dimensionalidad

ANOVA para bloques completos.

# --- La Maldición de la Dimensionalidad: El problema del Matamoscas ---
# Autor: Modelo de IA
# Descripción: Este script calcula y grafica cómo la probabilidad de
#              atrapar una mosca en un espacio de lado 1 con un matamoscas
#              de lado 0.8 disminuye drásticamente al aumentar las dimensiones.

# --- 1. Limpiar el entorno y cargar librerías necesarias ---
rm(list = ls())
graphics.off()
library(ggplot2)
library(dplyr)

# --- 2. Definir los parámetros del problema ---
lado_espacio <- 1        # El espacio total tiene lado 1 (Longitud, Área, Volumen...)
lado_matamoscas <- 0.8    # El matamoscas tiene lado 0.8

# --- 3. Calcular la probabilidad de éxito ---
# La probabilidad de atrapar la mosca es el cociente de volúmenes.
# Volumen del matamoscas / Volumen del espacio total.
# Para un hipercubo, el volumen es lado^dimension.
# Como el espacio total es 1^d = 1, la probabilidad es simplemente (lado_matamoscas)^d.

dimensiones <- 1:25 # Vamos a probar desde 1 hasta 25 dimensiones

# Calculamos la probabilidad para cada dimensión
probabilidades <- lado_matamoscas^dimensiones

# --- 4. Crear un data frame para graficar con ggplot2 ---
df_resultados <- data.frame(Dimension = dimensiones, Probabilidad = probabilidades)

# --- 5. Visualizar los resultados ---
# Creamos el gráfico
p <- ggplot(df_resultados, aes(x = Dimension, y = Probabilidad)) +
  geom_line(color = "blue", linewidth = 1) +          # Línea azul para la tendencia
  geom_point(color = "red", size = 2) +               # Puntos rojos para cada dimensión
  scale_x_continuous(breaks = seq(0, 25, 5)) +        # Personalizar eje X
  scale_y_continuous(limits = c(0, 1), breaks = seq(0, 1, 0.1)) + # Eje Y de 0 a 1
  labs(
    title = "La Maldición de la Dimensionalidad: El Problema del Matamoscas",
    subtitle = paste("Probabilidad de atrapar la mosca en un espacio de lado 1 con un matamoscas de lado",
                     lado_matamoscas),
    x = "Número de Dimensiones",
    y = "Probabilidad de Atrapar la Mosca (Volumen Relativo)",
    caption = "La probabilidad decae exponencialmente: P = (0.8)^d"
  ) +
  theme_minimal() +
  # Añadir una anotación para ver el valor en 3D
  annotate("point", x = 3, y = 0.8^3, color = "darkgreen", size = 3) +
  annotate("text", x = 5, y = 0.8^3, 
           label = paste("3D: Prob =", round(0.8^3, 3)), 
           hjust = 0, color = "darkgreen")

# Mostrar el gráfico
print(p)

# --- 6. Mostrar los primeros valores para que se vea la caída ---
cat("\n--- Probabilidades de atrapamosca en las primeras dimensiones ---\n")
df_resultados %>%
  filter(Dimension <= 10) %>%
  print()

# --- 7. Reflexión: ¿Qué significa esto en la práctica? ---
cat("\n--- Interpretación ---\n")
cat("En 1 dimensión (una línea de 1m), un matamoscas de 0.8m cubre el 80% del espacio. ¡Muy fácil!\n")
cat("En 2 dimensiones (un cuadrado de 1x1), cubres un 64% (0.8*0.8). Sigue siendo factible.\n")
cat("En 3 dimensiones (una habitación de 1x1x1), cubres un 51.2%. Justo la mitad.\n")
cat("En 10 dimensiones, la probabilidad es de", round(0.8^10, 5), ". ¡Menos del 11%!\n")
cat("En 20 dimensiones, la probabilidad es prácticamente 0 (", round(0.8^20, 10), ").\n")
cat("\nConclusión: En espacios de alta dimensión, todo está 'lejos' o en los bordes.\n")
cat("El volumen se concentra en una fina cáscara cerca de la superficie.\n")
Lenguaje: RDescargar script

Notebooks de analisis multivariado

ANOVA en bloques

Implementacion de disenos en bloques.

Comparaciones multiples en RCBD

Contrastes post-hoc para tratamientos.

Repositorios de metodos multivariados

Repositorio disenos en bloques

Material de RCBD con ejemplos.

Banco de practicas RCBD

Ejercicios y guias de interpretacion.

    Maldicion de la dimensionalidad - Metodos Multivariados