Apuntes de Estadística Inferencial y Probabilidad

Introducción

Estos apuntes resumen los temas clave de estadística inferencial y Teoría de la probabilidad con explicaciones sencillas, fórmulas y ejemplos en R.

Cómo leer: Cada capítulo incluye: definición, fórmulas (LaTeX), ejemplo en R y una interpretación breve.

Introducción a la Estadística Inferencial

La Estadística Inferencial es la ciencia que nos permite tomar decisiones y sacar conclusiones sobre un grupo grande (una población) basándonos en la información obtenida de un grupo más pequeño y manejable (una muestra). Como no siempre es práctico o posible estudiar a todos, seleccionamos una muestra, la analizamos y, con la ayuda de la probabilidad, “inferimos” cómo se comporta la población completa.

Este proceso es fundamental en muchísimos campos, desde la psicología hasta la economía, pues nos ayuda a transformar datos en conocimiento para tomar decisiones informadas.


Repaso: Análisis Exploratorio de Datos (EDA)

Antes de hacer inferencias complejas, primero debemos “conocer” nuestros datos. A este proceso se le llama Análisis Exploratorio de Datos (EDA). Es el primer paso para entender la estructura, detectar errores y resumir las características principales de la información que hemos recolectado.

Población, Muestra, Parámetro y Estadístico

  • Población: Es el conjunto completo de todos los posibles resultados o individuos de interés en un estudio. Por ejemplo, todos los estudiantes de una universidad.
  • Muestra: Es un subconjunto de la población que seleccionamos para analizar. Por ejemplo, 100 estudiantes elegidos al azar de esa universidad.
  • Parámetro (\(\theta\)): Es una medida numérica que describe una característica de la población. Por ejemplo, la edad promedio de todos los estudiantes. Generalmente es desconocido.
  • Estadístico (\(\hat{\theta}\)): Es una medida numérica que describe una característica de la muestra. Por ejemplo, la edad promedio de los 100 estudiantes de la muestra. Lo usamos para estimar el parámetro.

Tipos de Variables

Las características que medimos se llaman variables y se clasifican de dos maneras principales:

  1. Según su Naturaleza:
    • Numéricas (Cuantitativas): Se expresan con números y se pueden medir. Se subdividen en:
      • Discretas: Toman valores finitos o contables (ej: número de hijos).
      • Continuas: Pueden tomar cualquier valor en un rango (ej: estatura, peso).
    • Categóricas (Cualitativas): Describen cualidades o atributos y no se expresan numéricamente (ej: estado civil, color de ojos).
  2. Según su Escala de Medida:
    • Nominal: Categorías sin un orden específico (ej: género, marca de auto).
    • Ordinal: Categorías con un orden o jerarquía (ej: nivel de satisfacción “malo, regular, bueno”).
    • De Intervalo: Valores numéricos donde la diferencia tiene sentido, pero el cero no indica ausencia (ej: temperatura en °C).
    • De Razón: Valores numéricos donde el cero sí significa ausencia total (ej: salario, peso).

Medidas Descriptivas

  • Medidas de Tendencia Central: Nos dicen dónde se agrupan los datos.
    • Media (\(\bar{x}\)): El promedio de todos los datos. Se ve afectada por valores extremos. \[ \bar{x} = \frac{\sum_{i=1}^{n} x_i}{n} \]
    • Mediana: El valor que se encuentra justo en el medio cuando los datos están ordenados. No se ve afectada por valores extremos.
    • Moda: El valor que más se repite. Es la única medida de tendencia central para datos categóricos.
  • Medidas de Variabilidad: Nos dicen qué tan dispersos están los datos.
    • Varianza (\(s^2\)): El promedio de las diferencias al cuadrado entre cada dato y la media.
    • Desviación Estándar (\(s\)): La raíz cuadrada de la varianza. Nos dice, en promedio, cuánto se alejan los datos de la media.

Guía para la Selección de Gráficos

La visualización de datos es una herramienta poderosa para explorar, entender y comunicar tus hallazgos. El tipo de gráfico que elijas depende del tipo de variable(s) que quieras analizar. Usaremos el paquete ggplot2, que es el estándar de oro para la visualización en R.

Análisis Univariado (Una Sola Variable)

Para una Variable Categórica

El objetivo es mostrar la frecuencia o proporción de cada categoría.

  • Gráfico de Barras: Muestra la frecuencia (conteo) de cada categoría.
  • Gráfico Circular (Pastel): Muestra la proporción de cada categoría. Generalmente se desaconseja porque es difícil comparar el tamaño de las porciones, pero es popular.

Para una Variable Numérica

El objetivo es entender la distribución de los datos: su forma, centro y dispersión.

  • Histograma: Agrupa los números en rangos y muestra la frecuencia de cada rango. Es excelente para ver la forma de la distribución.
  • Diagrama de Caja y Bigotes (Boxplot): Resume la distribución mostrando la mediana, los cuartiles y los valores atípicos. Es muy útil para comparar distribuciones.

Análisis Bivariado (Dos Variables)

Categórica vs. Categórica

El objetivo es comparar las proporciones de una variable a través de las categorías de otra.

  • Gráfico de Barras Agrupado: Compara directamente las frecuencias de una variable dentro de cada categoría de la otra.

Numérica vs. Categórica

El objetivo es comparar la distribución de una variable numérica entre diferentes grupos.

  • Diagrama de Caja y Bigotes por Grupo: Es la mejor opción para comparar visualmente las medianas, la dispersión y los valores atípicos entre varios grupos.

Numérica vs. Numérica Scatter Plot

El objetivo es visualizar la relación entre dos variables numéricas.

  • Gráfico de Dispersión: Cada punto representa una observación. Permite ver patrones, tendencias (positivas o negativas) y la fuerza de la relación.

Teoría de la Probabilidad

La probabilidad es el motor de la estadística inferencial. Es la rama de las matemáticas que se encarga de medir la incertidumbre de los fenómenos aleatorios. Nos permite cuantificar qué tan posible es que ocurra un evento.

Conceptos Fundamentales

  • Experimento Aleatorio: Una acción o proceso cuyo resultado no se puede predecir con certeza, pero del cual se conocen todos los resultados posibles. Ejemplo: lanzar un dado.
  • Espacio Muestral (S): El conjunto de todos los posibles resultados de un experimento aleatorio. Para un dado, \(S = \{1, 2, 3, 4, 5, 6\}\).
  • Evento: Es cualquier subconjunto del espacio muestral. Es un resultado o un conjunto de resultados que nos interesan. Ejemplo: que el resultado del dado sea un número par, \(A = \{2, 4, 6\}\).

Definición y Axiomas de Probabilidad

La probabilidad de un evento A, denotada como \(P(A)\), es un número entre 0 y 1 que indica la posibilidad de que A ocurra.

  • Definición Clásica (Empírica): Si todos los resultados en un espacio muestral son igualmente probables, la probabilidad de un evento A es el cociente entre los casos favorables y los casos totales. \[ P(A) = \frac{\text{Número de casos favorables a A}}{\text{Número total de casos posibles}} \]
  • Axiomas de Kolmogorov: Son las reglas fundamentales que toda medida de probabilidad debe cumplir.
    1. La probabilidad de cualquier evento es no negativa: \(P(A) \ge 0\).
    2. La probabilidad del espacio muestral completo es 1: \(P(S) = 1\).
    3. Si A y B son eventos mutuamente excluyentes (no pueden ocurrir al mismo tiempo), la probabilidad de que ocurra A o B es la suma de sus probabilidades: \(P(A \cup B) = P(A) + P(B)\).

Reglas de Probabilidad

  • Regla del Complemento: La probabilidad de que un evento A no ocurra es 1 menos la probabilidad de que sí ocurra. \[ P(A^c) = 1 - P(A) \]
  • Regla de la Adición: Para dos eventos cualesquiera, A y B: \[ P(A \cup B) = P(A) + P(B) - P(A \cap B) \]

Probabilidad Condicional e Independencia

  • Probabilidad Condicional: Es la probabilidad de que ocurra un evento A, dado que ya ha ocurrido un evento B. Se escribe \(P(A|B)\). \[ P(A|B) = \frac{P(A \cap B)}{P(B)}, \text{ si } P(B) > 0 \]
  • Eventos Independientes: Dos eventos A y B son independientes si la ocurrencia de uno no afecta la probabilidad del otro. En este caso, la regla de la multiplicación se simplifica: \[ P(A \cap B) = P(A) \cdot P(B) \]

Teorema de Bayes

La Regla de Bayes nos permite “actualizar” nuestras creencias sobre una probabilidad a la luz de nueva evidencia. Es fundamental para la inferencia estadística.

\[ P(A_i|B) = \frac{P(B|A_i)P(A_i)}{\sum_{k=1}^n P(B|A_k)P(A_k)} \]

Ejemplo en R

Una fábrica tiene dos máquinas, A y B. La máquina A produce el 60% de los artículos y la B el 40%. El 2% de los artículos de A son defectuosos, y el 4% de B son defectuosos. Si seleccionamos un artículo al azar y es defectuoso, ¿cuál es la probabilidad de que haya sido producido por la máquina A?

# Probabilidades a priori
p_A <- 0.60
p_B <- 0.40

# Probabilidades condicionales (D = Defectuoso)
p_D_dado_A <- 0.02
p_D_dado_B <- 0.04

# 1. Calcular el numerador: P(D|A) * P(A)
numerador <- p_D_dado_A * p_A

# 2. Calcular el denominador (Probabilidad Total de ser defectuoso)
# P(D) = P(D|A)P(A) + P(D|B)P(B)
denominador <- (p_D_dado_A * p_A) + (p_D_dado_B * p_B)

# 3. Aplicar la Regla de Bayes: P(A|D)
p_A_dado_D <- numerador / denominador

cat("La probabilidad de que el artículo defectuoso provenga de la máquina A es:", round(p_A_dado_D, 3), "\n")
## La probabilidad de que el artículo defectuoso provenga de la máquina A es: 0.429

Interpretación del Output en R

El código calcula la probabilidad condicional inversa. El output 0.429 significa que, si encontramos un artículo defectuoso, existe un 42.9% de probabilidad de que haya sido fabricado por la Máquina A.

Variables Aleatorias y Distribuciones de Probabilidad

Una variable aleatoria es una función que asigna un valor numérico a cada resultado de un experimento aleatorio. Cada valor tiene una probabilidad asociada, y el conjunto de todos los valores y sus probabilidades se llama distribución de probabilidad.

Variables Aleatorias Discretas

Toman un número contable de valores. * Distribución Binomial: Modela el número de “éxitos” en una serie de \(n\) ensayos independientes. * Distribución de Poisson: Modela el número de veces que ocurre un evento en un intervalo de tiempo o espacio.

Variables Aleatorias Continuas

Pueden tomar cualquier valor dentro de un rango. * Distribución Normal: La “curva de campana”, definida por su media (\(\mu\)) y desviación estándar (\(\sigma\)). * Distribución t de Student: Similar a la normal pero con “colas más pesadas”, usada para muestras pequeñas (\(n<30\)). * Distribución Chi-Cuadrado (\(\chi^2\)): Asimétrica y usada para pruebas de varianza. * Distribución F de Fisher: Se define como el cociente de dos variables Chi-cuadrado y es la base del ANOVA.

Fórmulas de Probabilidad en R

Aquí te muestro cómo calcular probabilidades para cada distribución con un ejemplo práctico.

# --- Distribuciones Discretas ---

# 1. Binomial: P(X=k) -> dbinom(k, n, p)
# ¿Cuál es la probabilidad de obtener exactamente 7 caras en 10 lanzamientos de una moneda justa?
dbinom(x = 7, size = 10, prob = 0.5)
## [1] 0.1171875
# 2. Poisson: P(X=k) -> dpois(k, lambda)
# Si un call center recibe en promedio 5 llamadas por minuto (lambda=5), 
# ¿cuál es la probabilidad de que reciba exactamente 3 llamadas en un minuto?
dpois(x = 3, lambda = 5)
## [1] 0.1403739
# --- Distribuciones Continuas ---

# 1. Normal: P(X <= x) -> pnorm(x, mean, sd)
# Las calificaciones de un examen siguen una N(mu=80, sigma=5).
# ¿Cuál es la probabilidad de que un estudiante saque menos de 85?
pnorm(q = 85, mean = 80, sd = 5)
## [1] 0.8413447
# 2. t de Student: P(T <= t) -> pt(t, df)
# ¿Cuál es la probabilidad de observar un valor t menor o igual a -2.1 con 15 grados de libertad?
pt(q = -2.1, df = 15)
## [1] 0.02652763
# 3. Chi-Cuadrado: P(X^2 <= x) -> pchisq(x, df)
# ¿Cuál es la probabilidad de que un estadístico Chi-cuadrado con 10 grados de libertad sea MAYOR a 18.3?
# Usamos lower.tail = FALSE para la cola derecha (P > x)
pchisq(q = 18.3, df = 10, lower.tail = FALSE)
## [1] 0.05010906
# 4. F de Fisher: P(F <= f) -> pf(f, df1, df2)
# ¿Cuál es la probabilidad de un estadístico F mayor a 3.3, 
# con 5 grados de libertad en el numerador y 10 en el denominador?
pf(q = 3.3, df1 = 5, df2 = 10, lower.tail = FALSE)
## [1] 0.05106161

Interpretación del Output en R

  • dbinom: La probabilidad de obtener exactamente 7 caras en 10 lanzamientos es de aproximadamente 11.7%.
  • dpois: La probabilidad de recibir exactamente 3 llamadas en un minuto es de aproximadamente 14%.
  • pnorm: La probabilidad de que un estudiante saque menos de 85 es del 84.1%.
  • pt: La probabilidad de obtener un valor t de -2.1 o menos con 15 gl es del 2.6%.
  • pchisq: La probabilidad de que un estadístico \(\chi^2\) sea mayor a 18.3 con 10 gl es del 5%.
  • pf: La probabilidad de que un estadístico F sea mayor a 3.3 con 5 y 10 gl es de aproximadamente 5.1%.

Técnicas de Muestreo

La calidad de nuestras inferencias depende de la calidad de la muestra. La idea es obtener una muestra que sea representativa de la población.

Muestreo Probabilístico

Cada miembro de la población tiene una probabilidad conocida de ser seleccionado.

  • Aleatorio Simple: Como un sorteo.

  • Sistemático: Se elige uno al azar y luego a intervalos regulares.

  • Estratificado: Se divide la población en grupos (estratos) y se muestrea de cada uno.

  • Por Conglomerados: Se divide la población en grupos (conglomerados) y se seleccionan grupos enteros al azar.

Muestreo No Probabilístico

La selección depende del criterio del investigador.

  • Por Conveniencia: Se selecciona a los más accesibles.

  • Intencional o de Juicio: El investigador usa su juicio para seleccionar.

  • Bola de Nieve: Los participantes recomiendan a otros.


Intervalos de Confianza (IC)

Un IC nos da un rango de valores plausibles para el parámetro poblacional, con un nivel de confianza (ej. 95%).

Definición

Un IC al 95% significa que si repitiéramos el muestreo muchas veces, el 95% de los intervalos construidos contendrían el verdadero valor del parámetro.

Fórmulas Clave

  • Para la media (\(\mu\)) con \(\sigma\) conocida (o n ≥ 30): \[ IC = \bar{x} \pm z_{\alpha/2} \cdot \frac{\sigma}{\sqrt{n}} \]
  • Para la media (\(\mu\)) con \(\sigma\) desconocida y n < 30: \[ IC = \bar{x} \pm t_{\alpha/2, n-1} \cdot \frac{s}{\sqrt{n}} \]
  • Para una proporción (\(p\)) con n grande: \[ IC = \hat{p} \pm z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]

Ejemplo en R

# Datos del problema
n <- 1500
media_muestral <- 45
sigma <- 20
nivel_confianza <- 0.95

# Calcular alpha y el valor crítico z
alpha <- 1 - nivel_confianza
z_critico <- qnorm(1 - alpha / 2)

# Calcular el error estándar
error_estandar <- sigma / sqrt(n)

# Calcular los límites del intervalo
limite_inferior <- media_muestral - z_critico * error_estandar
limite_superior <- media_muestral + z_critico * error_estandar

# Imprimir resultados
cat("El intervalo de confianza al 95% para la media es: [", round(limite_inferior, 2), ", ", round(limite_superior, 2), "]\n")
## El intervalo de confianza al 95% para la media es: [ 43.99 ,  46.01 ]

Interpretación del Output en R

La salida [ 43.99 , 46.01 ] define el rango. Con un 95% de confianza, podemos afirmar que el verdadero tiempo promedio que la población dedica a informarse está entre 43.99 y 46.01 minutos.


Pruebas de Hipótesis

Es un procedimiento para decidir sobre una afirmación acerca de un parámetro poblacional.

Definición

  • Hipótesis Nula (\(H_0\)): La afirmación de “no efecto”. Por ejemplo, \(H_0: \mu = 2000\).
  • Hipótesis Alternativa (\(H_1\)): La afirmación que queremos probar. Por ejemplo, \(H_1: \mu \neq 2000\).

Conceptos Clave

  • Nivel de Significancia (\(\alpha\)): Probabilidad de cometer un Error Tipo I (rechazar \(H_0\) cuando es verdadera). Usualmente \(\alpha = 0.05\).
  • Valor p (p-value): Probabilidad de obtener un resultado tan extremo como el observado, si \(H_0\) fuera cierta.
    • Regla de decisión: Si el p-value \(\le \alpha\), se rechaza \(H_0\).

Fórmulas de Estadísticos de Prueba

  • Para la media (\(\mu\)) con \(\sigma\) conocida (o n ≥ 30): \[ Z = \frac{\bar{x} - \mu_0}{\sigma / \sqrt{n}} \]
  • Para la media (\(\mu\)) con \(\sigma\) desconocida y n < 30: \[ t = \frac{\bar{x} - \mu_0}{s / \sqrt{n}} \]

Ejemplo en R

# Datos del problema
n <- 180
media_muestral <- 1950
mu0 <- 2000
sigma <- 300
alpha <- 0.05

# Calcular el estadístico de prueba Z
error_estandar <- sigma / sqrt(n)
z_calculado <- (media_muestral - mu0) / error_estandar

# Calcular el p-value para una prueba bilateral
p_value <- 2 * pnorm(abs(z_calculado), lower.tail = FALSE)

# Imprimir resultados y decisión
cat("Estadístico Z calculado:", round(z_calculado, 3), "\n")
## Estadístico Z calculado: -2.236
cat("P-value:", round(p_value, 4), "\n")
## P-value: 0.0253
if (p_value <= alpha) {
  cat("Decisión: Se rechaza la hipótesis nula.\n")
} else {
  cat("Decisión: No se puede rechazar la hipótesis nula.\n")
}
## Decisión: Se rechaza la hipótesis nula.

Interpretación del Output en R

  • Estadístico Z calculado: -2.236: Este valor nos dice que la media de nuestra muestra (1950) está 2.236 desviaciones estándar por debajo de la media poblacional supuesta (2000).
  • P-value: 0.0254: Esta es la probabilidad de observar una media muestral tan alejada de 2000 (en cualquier dirección) si la verdadera media fuera 2000.
  • Decisión: Se rechaza la hipótesis nula: Como el p-valor (0.0254) es menor que el nivel de significancia (0.05), la evidencia es lo suficientemente fuerte como para rechazar la idea de que la media es 2000.

Análisis Bivariado

Examina la relación entre dos variables.

Numérica vs. Categórica

Comparación de Medias (2 grupos): Prueba t de Student

Compara las medias de una variable numérica entre dos grupos.

Ejemplo en R

``` r
# Supongamos que tenemos dos vectores de datos
grupo_con_subsidio <- rnorm(45, mean = 68.2, sd = 9.5)
grupo_sin_subsidio <- rnorm(40, mean = 63.7, sd = 10.1)

# Realizar la prueba t
resultado_t <- t.test(grupo_con_subsidio, grupo_sin_subsidio)
print(resultado_t)
```

```
## 
##  Welch Two Sample t-test
## 
## data:  grupo_con_subsidio and grupo_sin_subsidio
## t = 3.0743, df = 82.04, p-value = 0.002865
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##   2.580901 12.045163
## sample estimates:
## mean of x mean of y 
##  68.53440  61.22137
```

Interpretación del Output en R

Busca principalmente el p-value. Si es menor que tu nivel de significancia (ej. 0.05), concluyes que hay una diferencia estadísticamente significativa entre las medias de los dos grupos. El 95 percent confidence interval te da un rango para la diferencia de las medias.

Comparación de Medias (>2 grupos): ANOVA

Compara las medias de una variable numérica entre tres o más grupos.

Ejemplo en R

``` r
# Suponiendo que los datos están en un dataframe 'datos'
# con columnas 'glucosa' (numérica) y 'clinica' (categórica)
# modelo_anova <- aov(glucosa ~ clinica, data = datos)
# summary(modelo_anova)
```

Interpretación del Output en R

En la tabla de resumen, busca el F value y su Pr(>F) (el p-valor). Un p-valor bajo significa que al menos uno de los grupos tiene una media diferente de los demás.

Categórica vs. Categórica

Prueba Chi-Cuadrado (\(\chi^2\)) de Independencia

Determina si existe una asociación entre dos variables categóricas.

  • Fórmula: \[ \chi^2 = \sum_{i=1}^{I}\sum_{j=1}^{J}\frac{(O_{ij}-E_{ij})^{2}}{E_{ij}} \] ### Ejemplo en R

    # Crear una tabla de contingencia a partir del PDF
    datos_tabla <- matrix(c(0, 8, 5, 3, 7, 1), nrow = 3, byrow = TRUE)
    colnames(datos_tabla) <- c("No Pobreza", "Sí Pobreza")
    rownames(datos_tabla) <- c("Básica", "Media", "Superior")
    
    # Realizar la prueba Chi-cuadrado
    resultado_chi <- chisq.test(datos_tabla)
    ## Warning in chisq.test(datos_tabla): Chi-squared approximation may be incorrect
    print(resultado_chi)
    ## 
    ##  Pearson's Chi-squared test
    ## 
    ## data:  datos_tabla
    ## X-squared = 13, df = 2, p-value = 0.001503

    Interpretación del Output en R

    El X-squared es el valor del estadístico \(\chi^2\). El p-value es la clave: si es bajo (ej. < 0.05), rechazas la hipótesis de independencia y concluyes que hay una asociación significativa entre las dos variables.

Numérica vs. Numérica

Correlación de Pearson

Mide la fuerza y la dirección de la relación lineal entre dos variables.

Ejemplo en R

``` r
años_edu <- c(6, 8, 10, 12, 14, 16, 18)
ingreso <- c(1.8, 2.0, 2.6, 2.4, 3.2, 2.9, 3.0)

# Calcular correlación
cor(años_edu, ingreso)
```

```
## [1] 0.8861943
```

Interpretación del Output en R

El resultado es un único número entre -1 y 1. Un valor cercano a 1 (como 0.89 en el ejemplo) indica una fuerte relación lineal positiva. Un valor cercano a -1 indica una fuerte relación lineal negativa. Un valor cercano a 0 indica una relación lineal débil o nula.

Regresión Lineal Simple

Modela la relación entre dos variables para hacer predicciones.

Fórmula del Modelo

$$
Y_i = \beta_0 + \beta_1 X_i + \epsilon_i
$$

Ejemplo en R

``` r
horas_redes <- c(7, 4, 8, 5, 7, 9, 5, 3, 6, 6)
nota <- c(2.6, 2.6, 2.3, 2.7, 2.5, 2.2, 2.7, 3.0, 2.5, 2.5)

# Crear el modelo de regresión
modelo_reg <- lm(nota ~ horas_redes)
summary(modelo_reg)
```

```
## 
## Call:
## lm(formula = nota ~ horas_redes)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -0.180 -0.055  0.000  0.045  0.150 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.22000    0.11473  28.066  2.8e-09 ***
## horas_redes -0.11000    0.01837  -5.988 0.000328 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1006 on 8 degrees of freedom
## Multiple R-squared:  0.8176, Adjusted R-squared:  0.7948 
## F-statistic: 35.85 on 1 and 8 DF,  p-value: 0.0003279
```

Interpretación del Output en R

* **Coefficients**:
    * `Estimate` para `(Intercept)` es $\hat\beta_0$: el valor predicho de la nota cuando `horas_redes` es 0.
    * `Estimate` para `horas_redes` es $\hat\beta_1$: el cambio en la nota por cada aumento de una unidad en `horas_redes`. Aquí (-0.110) significa que por cada hora extra, la nota baja 0.110 puntos.
    * `Pr(>|t|)`: Es el p-valor para cada coeficiente. Si es bajo (<0.05), el coeficiente es estadísticamente significativo.
* **Adjusted R-squared**: Indica el porcentaje de la variabilidad de la variable dependiente (nota) que es explicado por el modelo (0.7948 o 79.48%). Un valor más alto significa un mejor ajuste del modelo.

Verificación de Supuestos y Análisis Post-Hoc

Aplicar una prueba estadística es solo una parte del trabajo. Para que nuestras conclusiones sean válidas, primero debemos asegurarnos de que los datos cumplen ciertas condiciones o supuestos. Además, cuando una prueba como ANOVA nos da un resultado significativo, necesitamos investigar más a fondo para saber exactamente dónde están las diferencias.

Verificación de Supuestos de los Modelos

1. Supuesto de Normalidad Muchas pruebas (t-test, ANOVA, regresión) asumen que los datos o los residuos del modelo siguen una distribución normal.

Método Gráfico: Gráfico Q-Q (Quantile-Quantile)

Un gráfico Q-Q compara los cuantiles de tus datos con los cuantiles de una distribución normal teórica. Si los puntos se alinean estrechamente con la línea diagonal, es una buena señal de que los datos son normales.

Prueba de Hipótesis: Test de Shapiro-Wilk

Es una prueba formal donde la hipótesis nula (H_0) es que “los datos provienen de una distribución normal”.

Si p-value > 0.05: No se rechaza H_0. Se asume que los datos son normales.

Si p-value ≤ 0.05: Se rechaza H_0. Los datos no siguen una distribución normal.

Ejemplo en R

# Generamos un conjunto de datos para el ejemplo
set.seed(123)
datos_normales <- rnorm(100, mean = 50, sd = 10) # Datos que sí son normales
datos_no_normales <- rexp(100, rate = 0.1)     # Datos que no son normales (exponencial)

# Verificación para los datos normales
qqnorm(datos_normales)
qqline(datos_normales, col = "red")

shapiro.test(datos_normales)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos_normales
## W = 0.99388, p-value = 0.9349
# Verificación para los datos no normales
qqnorm(datos_no_normales)
qqline(datos_no_normales, col = "navy")

shapiro.test(datos_no_normales)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos_no_normales
## W = 0.87396, p-value = 1.016e-07

Interpretación del Output en R

Para datos_normales: El gráfico Q-Q muestra los puntos muy cerca de la línea roja. El test de Shapiro-Wilk arroja un p-valor alto (p = 0.9349), mucho mayor a 0.05. Ambas pruebas sugieren que los datos son normales.

Para datos_no_normales: Los puntos en el gráfico Q-Q se desvían sistemáticamente de la línea azul. El test de Shapiro-Wilk da un p-valor muy bajo (p < 0.0001), por lo que rechazamos la hipótesis nula y concluimos que los datos no son normales.

2. Supuesto de Homogeneidad de Varianzas (Homocedasticidad) Pruebas como el t-test y ANOVA asumen que las varianzas de los grupos que se comparan son iguales. En regresión, se asume que la varianza de los errores es constante a lo largo de los valores predichos.

Para t-test y ANOVA: Test de Levene Prueba formal donde H_0: “las varianzas de los grupos son iguales”.

Si p-value > 0.05: Se asume que las varianzas son homogéneas.

Si p-value ≤ 0.05: Las varianzas no son homogéneas.

Para Regresión Lineal: Gráfico de Residuos vs. Valores Ajustados Este gráfico no debe mostrar ningún patrón (como una forma de embudo). Los puntos deben dispersarse aleatoriamente alrededor de la línea horizontal en cero.

Ejemplo en R

# --- Para ANOVA ---
# Cargamos el paquete 'car' para el test de Levene
# install.packages("car")
library(car)
## Warning: package 'car' was built under R version 4.4.3
## Cargando paquete requerido: carData
## Warning: package 'carData' was built under R version 4.4.3
# Creamos datos de ejemplo
grupo_a <- rnorm(30, mean = 10, sd = 5)
grupo_b <- rnorm(30, mean = 12, sd = 5.5) # Varianzas similares
grupo_c <- rnorm(30, mean = 10, sd = 15)  # Varianza muy diferente

datos_homogeneos <- data.frame(valor = c(grupo_a, grupo_b), grupo = rep(c("A", "B"), each = 30))
datos_heterogeneos <- data.frame(valor = c(grupo_a, grupo_c), grupo = rep(c("A", "C"), each = 30))

# Prueba de Levene para varianzas homogéneas
leveneTest(valor ~ grupo, data = datos_homogeneos)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  1  0.0321 0.8585
##       58
# Prueba de Levene para varianzas no homogéneas
leveneTest(valor ~ grupo, data = datos_heterogeneos)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value    Pr(>F)    
## group  1  21.593 1.986e-05 ***
##       58                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretación del Output en R

  • Para datos_homogeneos: El p-valor (Pr(>F)) es 0.85, que es mayor a 0.05. No rechazamos H_0 y concluimos que las varianzas son homogéneas.

  • Para datos_heterogeneos: El p-valor es muy bajo (< 0.001). Rechazamos H_0 y concluimos que las varianzas son diferentes entre los grupos.

Análisis Post-Hoc para ANOVA

Si tu prueba ANOVA resulta significativa (p < 0.05), sabes que al menos un grupo es diferente de los demás, pero no sabes cuál. Las pruebas post-hoc hacen comparaciones par por par para encontrar esas diferencias.

Prueba de Tukey (Tukey’s Honest Significant Difference - HSD)

Es una de las pruebas post-hoc más utilizadas. Compara las medias de todos los pares de grupos y ajusta el p-valor para evitar un aumento del Error Tipo I.

Ejemplo en R

# Usamos el conjunto de datos integrado 'iris'
# ¿Existen diferencias en el ancho del sépalo (Sepal.Width) entre las 3 especies de flores?

# 1. Realizamos el ANOVA
modelo_iris_anova <- aov(Sepal.Width ~ Species, data = iris)
summary(modelo_iris_anova) # El p-valor es muy bajo, ¡así que procedemos!
##              Df Sum Sq Mean Sq F value Pr(>F)    
## Species       2  11.35   5.672   49.16 <2e-16 ***
## Residuals   147  16.96   0.115                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 2. Realizamos la prueba Post-Hoc de Tukey
tukey_resultado <- TukeyHSD(modelo_iris_anova)
print(tukey_resultado)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Sepal.Width ~ Species, data = iris)
## 
## $Species
##                        diff         lwr        upr     p adj
## versicolor-setosa    -0.658 -0.81885528 -0.4971447 0.0000000
## virginica-setosa     -0.454 -0.61485528 -0.2931447 0.0000000
## virginica-versicolor  0.204  0.04314472  0.3648553 0.0087802

Interpretación del Output en R

El resultado de TukeyHSD muestra una tabla con las comparaciones:

  • setosa-versicolor: Compara estas dos especies.

  • virginica-setosa: Compara estas dos especies.

  • virginica-versicolor: Compara estas dos especies.

Para cada par, fíjate en la columna p adj (p-valor ajustado). En el ejemplo, todos los p-valores son muy bajos (< 0.05). Esto significa que las medias del ancho del sépalo son estadísticamente diferentes entre todos los pares de especies.