Una prueba de hipótesis es un procedimiento estadístico que permite evaluar si la información muestral es compatible o no con una afirmación sobre un parámetro poblacional.
Una hipótesis estadística es una afirmación (supuesto) sobre un parámetro como:
Con los datos de la muestra intentamos decidir si la evidencia empírica es compatible con una afirmación sobre la población.
En toda prueba planteamos dos hipótesis complementarias: - Hipótesis nula: \((H_0)\) - Hipótesis alternativa:\((H_1)\),(también \(H_a\))
Piensa en dos tipos de afirmaciones:
Es la afirmación “neutral”, de no diferencia, no cambio o situación “normal”.
Ejemplos:
Piensa en \((H_0)\) como:
Es la afirmación que quieres evidenciar: sí hay cambio, sí hay diferencia, sí hay efecto.
Ejemplos (siempre se formulan en oposición a \((H_0)\)):
Formato general:
En resumen, cada hipótesis se puede leer como una frase del tipo:
El nivel de significancia es la probabilidad de rechazar \(H_0\) siendo \(H_0\) verdadera:
\(\alpha = P(\text{rechazar } H_0 \mid H_0 \text{ es verdadera})\)
Es un riesgo que decides aceptar antes del estudio (riesgo de “falso positivo”).
Valores típicos:
El p-valor es la probabilidad de obtener un resultado igual o más extremo que el observado, asumiendo que \((H_0)\) es cierta.
Se compara con un nivel de significación \((alfa, α)\), generalmente establecido en \((0.05)\).
Si el p-valor es menor que alfa \((p\le\alpha)\), se rechaza la hipótesis nula (lo que significa que el resultado es estadísticamente significativo).
Si el p-valor es mayor o igual a alfa \((p\ge \alpha)\), no se rechaza la hipótesis nula, lo que indica que no hay suficiente evidencia para concluir que el resultado no se deba al azar.
Si tu “muestra” es en realidad toda la población, no tiene sentido aplicar pruebas de hipótesis (ni intervalos de confianza).
Las pruebas de hipótesis responden a:
“¿Lo que observo en la muestra es evidencia suficiente para decir algo sobre la población?”
Pero si ya observaste a toda la población:
Así, el error estándar para la media:
\(SE(\bar{X}) = \frac{\sigma}{\sqrt{n}}\)
deja de tener sentido como medida de variabilidad muestral si \((n)\) es toda la población y no consideramos muestras repetidas.
En ese contexto:
Excepción útil
Si quieres usar los datos censales de, por ejemplo, 2024 para inferir sobre estudiantes futuros (2025, 2026, …), puedes tratar el año 2024 como una “muestra” de una población conceptual más amplia (futuros años). En ese caso, sí tiene sentido aplicar inferencia estadística.
Si conoces toda la población, entonces \(SE = 0\), y los estadísticos de prueba \((t, z, F)\) dejan de tener sentido inferencial.
Antes de decidir el tipo de prueba (paramétrica o no paramétrica), se debe evaluar la normalidad de los datos.
Métodos: - Gráfico Q-Q plot
- Prueba de Shapiro–Wilk
- Prueba de Kolmogorov–Smirnov
| Normalidad | Tipo de prueba |
|---|---|
| Sí | Paramétrica |
| No | No paramétrica |
Un Q-Q plot es un gráfico que compara cuantiles teóricos de una distribución (normal en este caso) con los cuantiles observados de los datos. Si los puntos en el gráfico se ajustan aproximadamente a una línea diagonal, sugiere que los datos siguen una distribución normal.
Si los puntos del Q-Q plot siguen una línea recta, es indicativo de que los datos pueden considerarse aproximadamente normales.
El Q-Q plot es útil para evaluar visualmente si los datos siguen una distribución normal. Es especialmente útil para identificar desviaciones en las colas de la distribución.
Cómo interpretarlo: Si los puntos del Q-Q plot siguen aproximadamente una línea diagonal, indica que los datos pueden considerarse normalmente distribuidos.
El comando es \(qqnorm\)
Ejemplo
Datos simulados
## [1] 100
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 146.9 165.1 170.6 170.9 176.9 191.9
## [1] 9.128159
### Interpretación Si los puntos del Q-Q plot se alinean aproximadamente
en una línea diagonal, se considera que los datos son aproximadamente
normales.
Si se observan curvaturas o desviaciones sistemáticas (especialmente en las colas), puede indicar desviaciones de la normalidad (asimetría, colas pesadas, etc.).
La prueba de Shapiro–Wilk evalúa si un conjunto de datos proviene de una distribución normal.
\(H_0 : \text{Los datos provienen de una distribución normal}\)
\(H_1 : \text{Los datos no provienen de una distribución normal}\)
La prueba de Shapiro–Wilk contrasta las siguientes hipótesis:
\(H_0 : X_1, \ldots, X_n \text{ provienen de una distribución normal}\)
\(H_1 : X_1, \ldots, X_n \text{ no provienen de una distribución normal}\)
El estadístico de prueba \((W)\) se define como:
\(W = \frac{\left( \sum_{i=1}^{n} a_i \, X_{(i)} \right)^2}{\sum_{i=1}^{n} (X_i - \bar{X})^2}\),
donde:
\(X_{(1)} \le X_{(2)} \le \cdots \le X_{(n)}\)
son los datos ordenados, y \((a_i)\) son coeficientes que dependen del tamaño muestral \((n)\) y de los cuantiles de la distribución normal.
La prueba se realiza mediante el comando:
##
## Shapiro-Wilk normality test
##
## data: altura_personas
## W = 0.99388, p-value = 0.9349
Con un nivel de significancia típico 𝛼=0.05
Compara: 𝑝=0.9349 vs 𝛼=0.05
Como 𝑝=0.9349 ≫ 0.05, NO rechazas \(H_0\)
En palabras:
No hay evidencia estadística para afirmar que los datos de altura_personas se desvían de una distribución normal.
Los datos son compatibles con la normalidad.
La prueba de Shapiro–Wilk para la variable altura ( 𝑊= 0.99388, 𝑝=0.9349) indica que no se rechaza la hipótesis de normalidad al nivel de significancia del 5%. Por lo tanto, los datos pueden considerarse aproximadamente normales.
El p-valor es lo que usamos para decidir si rechazamos o no la normalidad.
El W te da una idea de qué tan “normal-like” son los datos: cuanto más cerca de 1, mejor el ajuste.
Shapiro–Wilk es más sensible con muestras pequeñas. Con muestras muy grandes, casi cualquier desviación leve puede dar p-valores muy pequeños.
La prueba de Kolmogorov–Smirnov (K-S) puede usarse para comparar la distribución de los datos con una normal teórica. En R, podemos usar:
\(ks.test(x, "pnorm", mean(x), sd(x))\)
Aquí comparamos la distribución de altura_personas con una normal con media y desviación estándar iguales a las de la muestra. Es un enfoque ilustrativo (estrictamente, la prueba K-S estándar supone parámetros conocidos, no estimados).
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: altura_personas
## D = 0.058097, p-value = 0.8884
## alternative hypothesis: two-sided
Interpretación (a nivel 𝛼=0.05):
p-valor grande (>0.05): no hay evidencia fuerte contra la normalidad.
p-valor pequeño (≤0.05): evidencia para decir que los datos no siguen esa normal con los parámetros dados.
En este ejemplo, los datos fueron generados con rnorm(), por lo que esperamos que la normalidad sea razonable y podamos aplicar una prueba parametrica
| Método | Definición | Fórmula (estadístico / idea) | Código básico en R | ¿Cuándo usarla? |
|---|---|---|---|---|
| Histograma + curva normal teórica | Representa la distribución de frecuencias de los datos y la compara visualmente con una curva normal teórica con la misma media y desviación estándar. Permite ver asimetrías, colas pesadas y multimodalidad. | No tiene estadístico formal: se construyen intervalos en el eje de los datos y se cuentan frecuencias en cada clase. Sobre el histograma se puede superponer la densidad normal \((f(x) = \dfrac{1}{\sigma\sqrt{2\pi}} e^{-(x-\mu)^2/(2\sigma^2)})\) con \((\mu = \bar X)\), \((\sigma = S)\). | r\nhist(x, freq = FALSE)\ncurve(dnorm(x, mean(x), sd(x)), add = TRUE)\n |
Primer vistazo obligatorio para cualquier conjunto de datos. Especialmente útil para ver asimetría fuerte, colas pesadas o datos multimodales. Siempre conviene combinarlo con un Q–Q plot y/o pruebas formales. |
| Gráfico Q–Q (Quantile–Quantile plot) | Compara los cuantiles teóricos de una distribución normal con los cuantiles observados de los datos. Si los puntos se alinean aproximadamente sobre una recta diagonal, los datos son compatibles con la normalidad. | Se grafican pares \(((q_i^{(\text{teórico})}\), \(q_i^{(\text{muestral})}))\), donde \((q_i^{(\text{teórico})})\) son cuantiles de una normal \((\mathcal{N}(0,1))\) y \((q_i^{(\text{muestral})} = X_{(i)})\) son los datos ordenados. Si \((X_i \sim \mathcal{N}(\mu,\sigma^2))\), los puntos deben alinearse aproximadamente en una recta. | r\nqqnorm(x, main = \"Q-Q plot\")\nqqline(x, col = 2, lwd = 2)\n |
Siempre recomendable como primer paso. Útil en muestras pequeñas, medianas y grandes. Permite detectar asimetría, colas pesadas y outliers. Debe usarse siempre junto con alguna prueba formal. |
| Shapiro–Wilk | Prueba específica de normalidad para datos continuos. Contrasta \((H_0)\): “los datos provienen de una distribución normal” vs. \((H_1)\): “los datos no provienen de una distribución normal”. Es una de las pruebas más potentes para normalidad en muestras pequeñas y medianas. | El estadístico \((W)\) es:\(W = \frac{\left( \sum_{i=1}^{n} a_i X_{(i)} \right)^2}{\sum_{i=1}^{n} (X_i - \bar{X})^2}, donde (X_{(1)} \le \cdots \le X_{(n)})\) son los datos ordenados, \((\bar{X})\) es la media muestral y los coeficientes \((a_i)\) dependen de los cuantiles de la normal. Valores de \((W)\) cercanos a 1 indican compatibilidad con la normalidad. | r\nshapiro.test(x)\n |
Recomendable para muestras pequeñas o medianas (por ejemplo, \((n \lesssim 5000)\)). Muy usada en la práctica. Si el p-valor es grande (\((p > \alpha)\)), no se rechaza la normalidad. Con muestras muy grandes, casi cualquier desviación leve puede dar p-valores pequeños; por eso se debe mirar también el Q–Q plot. |
| Kolmogorov–Smirnov (K–S) contra normal | Compara la distribución empírica \((F_n(x))\) con una distribución teórica \((F_0(x))\) (por ejemplo, normal). Contrasta \((H_0)\): \((F(x) = F_0(x))\) vs. \((H_1)\): \((F(x) \neq F_0(x))\). Es una prueba general de bondad de ajuste. | El estadístico \((D)\) es: \(D = \sup_{x} \big\lvert F_n(x) - F_0(x) \big\rvert,\n\), donde \((F_n(x) = \dfrac{1}{n} \sum_{i=1}^n I(X_i \le x))\) es la distribución empírica e \((I(\cdot))\) es la función indicadora. Valores grandes de \((D)\) indican peor ajuste a \((F_0)\). | r\nks.test(x, \"pnorm\", mean(x), sd(x)) |
Útil como prueba general de bondad de ajuste para comparar datos con una distribución teórica (normal, exponencial, uniforme, etc.). Es menos específica/potente que Shapiro–Wilk para normalidad. Cuando se usan \((\bar{X})\) y \((S)\) en lugar de \((\mu)\) y \((\sigma)\) conocidos, la prueba es aproximada. Suele complementarse con el Q–Q plot. |
Anderson–Darling (paquete
nortest) |
Prueba de bondad de ajuste a la normal que da más peso a las colas de la distribución que K–S. Contrasta \((H_0)\): datos normales vs. \((H_1)\): no normales. | Una forma del estadístico es: \(nA^2 = -n - \frac{1}{n} \sum_{i=1}^{n} (2i-1)\big[ \ln F(X_{(i)}) + \ln(1 - F(X_{(n+1-i)}))\big],\n\) donde \((F)\) es la cdf teórica normal y \((X_{(i)})\) son los datos ordenados. Valores grandes de \((A^2)\) indican desviaciones de la normalidad, especialmente en las colas. | r\nlibrary(nortest)\nad.test(x)\n |
Útil cuando se sospecha que las colas pueden no ser normales (colas muy pesadas o muy ligeras). Adecuada para muestras pequeñas y medianas. Siempre interpretar junto a gráficos (histograma, Q–Q). |
Luego de validar el comportamiento de los datos se pasa a seleccionar prueba de hipótesis
| Normalidad | Tipo de prueba |
|---|---|
| Sí | Paramétrica |
| No | No paramétrica |
| Normalidad / supuestos | Tipo de prueba recomendada |
|---|---|
| Normalidad razonable y varianzas aproximadamente homogéneas, sin outliers extremos | Paramétrica |
| Normalidad razonable pero varianzas muy distintas o muchos outliers | Paramétrica robusta (transformaciones, Welch, etc.) o No paramétrica |
| No | No paramétrica |
Dentro de las pruebas mas usadas encontramos las siguientes:
| Prueba | Definición corta | Fórmula general (estadístico / modelo) | Código en R |
|---|---|---|---|
| t de Student (una muestra) | Compara la media muestral con una media poblacional \((\mu_0)\). | \(t = \dfrac{\bar{x} - \mu_0}{s / \sqrt{n}}\) con \((n-1)\) gl. | r\nt.test(x, mu = 50)\n |
| t de Student (dos muestras independientes) | Compara medias entre dos grupos independientes. | Con varianzas iguales: \(t=\dfrac{\bar{x}_1 - \bar{x}_2}{\sqrt{s_p^2\left(\frac{1}{n_1}+\frac{1}{n_2}\right)}},\quad s_p^2 = \frac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_2-2}\) | r\nt.test(x ~ grupo, var.equal = TRUE) # o FALSE para Welch\n |
| t pareada | Compara dos mediciones relacionadas (antes/después) en los mismos sujetos. | Sea \((d_i = X_{i,\text{antes}} - X_{i,\text{después}})\): \(t = \dfrac{\bar{d}}{s_d/\sqrt{n}},\) con \((n-1)\) gl. | r\nt.test(antes, despues, paired = TRUE)\n |
| ANOVA de un factor (una vía) | Compara la media entre más de dos grupos independientes. | \(F=\dfrac{MS_{\text{entre}}}{MS_{\text{dentro}}} =\dfrac{SC_{\text{entre}}/(k-1)}{SC_{\text{dentro}}/(N-k)}\) | r\nmodelo <- aov(y ~ grupo, data = datos)\nsummary(modelo)\n |
| ANOVA de dos factores (factorial) | Compara medias con dos factores categóricos (A y B) y permite evaluar efectos principales e interacción \((A \times B)\). | Se calculan tres estadísticos \((F):(F_A)\), \((F_B)\), \((F_{A:B})\), cada uno como cociente de su MS entre MS\((_\text{error})\). | r\nmodelo <- aov(y ~ A * B, data = datos)\nsummary(modelo)\n |
| ANCOVA (Análisis de covarianza) | Compara medias de grupos ajustando por una o más covariables cuantitativas (controla el efecto de variables de confusión continuas). | Modelo típico con una covariable $(X): \(Y_{ij} = \mu + \tau_i + \beta X_{ij} + \varepsilon_{ij},\) donde \((\tau_i)\) es el efecto del grupo y \((\beta)\) el efecto lineal de la covariable. Se usan \((F)\) para contrastar efecto de la covariable y del factor ajustado. | r\nmodelo <- aov(y ~ grupo + x, data = datos) # ANCOVA clásica\nanova(modelo)\n# Con interacción (pendientes diferentes):\nmodelo2 <- aov(y ~ grupo * x, data = datos)\n |
| Correlación de Pearson | Mide la fuerza de la relación lineal entre dos variables continuas. | \(r = \dfrac{\sum (x-\bar{x})(y-\bar{y})}{\sqrt{\sum(x-\bar{x})^2\sum(y-\bar{y})^2}}\). Para contraste \((H_0: \rho = 0\):\n\[\nt = r \sqrt{\dfrac{n-2}{1-r^2}}\) con \((n-2)\) gl. | r\ncor.test(x, y, method = \"pearson\")\n |
| Regresión lineal (simple o múltiple) | Modela la relación lineal entre una variable respuesta y una o varias explicativas. Permite inferir sobre pendientes, hacer predicción y construir intervalos. | Modelo general: \(Y = \beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p + \varepsilon,\quad \varepsilon \sim N(0,\sigma^2).\) Se usan test \((t)\) para cada \((\beta_j)\) y test \((F)\) para el modelo global. | r\nlm(y ~ x, data = datos) # simple\nlm(y ~ x1 + x2 + x3, data = datos) # múltiple\nsummary(modelo)\n |
| Prueba z para una proporción | Compara una proporción muestral \((\hat p)\) con una proporción poblacional \((p_0)\) (muestra grande). | \(z=\dfrac{\hat p - p_0}{\sqrt{\frac{p_0(1-p_0)}{n}}}\) | r\nprop.test(x, n, p = p0, correct = FALSE) # aproximación z\n |
| Prueba z para dos proporciones | Compara proporciones \((hat p_1)\) y \((\hat p_2)\) de dos grupos independientes (muestras grandes). | Sea \((\hat p = \dfrac{x_1 + x_2}{n_1 + n_2}):z = \dfrac{\hat p_1 - \hat p_2}{\sqrt{\hat p(1-\hat p)\left(\frac{1}{n_1}+\frac{1}{n_2}\right)}}\) | r\nprop.test(c(x1, x2), c(n1, n2), correct = FALSE)\n |
| Prueba F para comparar dos varianzas | Compara si las varianzas de dos poblaciones normales pueden considerarse iguales. Útil como test previo en ANOVA o t con varianzas iguales. | \(F = \dfrac{s_1^2}{s_2^2},]\) con gl \(((n_1-1, n_2-1))\). | r\nvar.test(x1, x2) # o var.test(x ~ grupo, data = datos)\n |
| Chi-cuadrado para la varianza de una población normal | Contrasta si la varianza poblacional \((\sigma^2)\) es igual a un valor dado \((\sigma_0^2)\) asumiendo normalidad. | \(\chi^2 = \dfrac{(n-1)S^2}{\sigma_0^2} \sim \chi^2_{(n-1)} \quad \text{bajo } H_0: \sigma^2 = \sigma_0^2\) | r\nn <- length(x)\nchi2 <- (n - 1) * var(x) / sigma0^2\npval <- pchisq(chi2, df = n - 1, lower.tail = FALSE)\n |
| Prueba | Definición corta | Fórmula general / idea | Código en R |
|---|---|---|---|
| Prueba de signo (una muestra / pareada) | Contrasta si la mediana de una población es igual a un valor \((\theta_0)\) (una muestra) o si la mediana de las diferencias (antes–después) es 0. Solo usa el signo de las diferencias. | Sea \((B)\) el número de diferencias positivas (ignorando las nulas). Bajo \((H_0)\), \((B \sim \text{Binomial}(n, 0.5))\). | r\n# requiere paquete DescTools\nlibrary(DescTools)\nSignTest(x, mu = theta0) # una muestra\nSignTest(antes - despues, mu = 0) # pareada\n |
| Wilcoxon (una muestra, rangos con signo) | Contrasta si la mediana de una población es igual a un valor \((\theta_0)\), pero usando la magnitud de las diferencias mediante rangos (más potente que la prueba de signo). | Se ordenan los \((|X_i - \theta_0|)\) y se asignan rangos. El estadístico \((W)\) es la suma de los rangos con signo positivo (o negativo). | r\nwilcox.test(x, mu = theta0, exact = TRUE)\n |
| Wilcoxon pareado (rangos con signo) | Compara dos mediciones relacionadas (antes/después) sin asumir normalidad de las diferencias. Equivalente no paramétrico del t pareado. | Sea \((d_i = X_{i,\text{antes}} - X_{i,\text{después}})\); se toman los \((|d_i|)\), se rankean y se suman con su signo. El estadístico \(W\) se compara con su distribución bajo \((H_0)\). | r\nwilcox.test(antes, despues, paired = TRUE)\n |
| Wilcoxon–Mann–Whitney (dos muestras independientes) | Compara dos grupos independientes sin asumir normalidad. Equivalente no paramétrico de la t de Student de dos muestras independientes. | Se rankean todos los datos juntos; se calcula la suma de rangos del grupo 1, \((R_1)\). El estadístico \((U)\) puede definirse como:\(U = n_1n_2 + \frac{n_1(n_1+1)}{2} - R_1\) | r\nwilcox.test(y ~ grupo, exact = FALSE)\n |
| Kruskal–Wallis | Equivalente no paramétrico del ANOVA de un factor. Compara \((k)\) grupos independientes usando rangos. | Sea \((R_j)\) la suma de rangos del grupo \(j\), \(n_j\) su tamaño y \((N)\) el tamaño total:\(H = \dfrac{12}{N(N+1)}\sum_{j=1}^k \dfrac{R_j^2}{n_j} - 3(N+1)\) Bajo \((H_0)\), \((H \approx \chi^2_{(k-1)})\). | r\nkruskal.test(y ~ grupo, data = datos)\n |
| Friedman | ANOVA no paramétrico para medidas repetidas (diseños en bloques). Compara tratamientos cuando los mismos sujetos reciben todos los tratamientos. | Se rankean observaciones dentro de cada bloque (sujeto) y se trabaja con las sumas de rangos por tratamiento. El estadístico \((Q)\) se compara con una \((\chi^2)\) aproximada. | r\nfriedman.test(y ~ tratamiento | sujeto, data = datos)\n |
| Correlación de Spearman (\((\rho_s)\)) | Mide la asociación monótona entre dos variables usando rangos. No requiere normalidad. | Para datos sin empates, si \(d_i\) es la diferencia entre los rangos de \((X_i)\) y \((Y_i):\rho_s = 1 - \dfrac{6\sum d_i^2}{n(n^2-1)}\) | r\ncor.test(x, y, method = \"spearman\")\n |
| Correlación de Kendall (\(\tau\)) | Mide asociación ordinal basándose en pares concordantes y discordantes. Más robusta en muestras pequeñas. | \((\tau = \dfrac{C - D}{C + D})\), donde \((C)\) es el número de pares concordantes y \((D)\) de pares discordantes (ajustada en presencia de empates). | r\ncor.test(x, y, method = \"kendall\")\n |
| Chi-cuadrado de bondad de ajuste | Compara frecuencias observadas en categorías con frecuencias esperadas bajo una distribución teórica (multinomial, Poisson, etc.). | \(\chi^2 = \sum_{i=1}^k \dfrac{(O_i - E_i)^2}{E_i}\) | r\nchisq.test(observadas, p = probs_esperadas)\n |
| Chi-cuadrado de independencia / homogeneidad | Evalúa si dos variables categóricas son independientes (una población) o si varias poblaciones tienen la misma distribución (homogeneidad). | En una tabla \((r \times c):\chi^2 = \sum_{i=1}^r \sum_{j=1}^c \dfrac{(O_{ij} - E_{ij})^2}{E_{ij}},\quad E_{ij} = \dfrac{(\text{total fila i})(\text{total columna j})}{\text{total general}}\) | r\ntabla <- table(x, y)\nchisq.test(tabla)\n |
| Prueba exacta de Fisher (tabla 2×2) | Evalúa asociación entre dos variables dicotómicas cuando los tamaños muestrales son pequeños o los \((E_{ij})\) son \(<5\). Usa la distribución hipergeométrica exacta. | Se calculan probabilidades hipergeométricas de tablas tan extremas o más que la observada bajo \((H_0)\). | r\nfisher.test(tabla_2x2)\n |
| Cochran–Mantel–Haenszel | Prueba de asociación entre dos variables dicotómicas estratificando por una tercera (control de confusión en tablas 2×2×k). | Combina información de varias tablas 2×2 (estratos) y contrasta un odds ratio común. El estadístico CMH se compara con una \((\chi^2_{(1)})\). | r\nmantelhaen.test(array_2x2xk)\n |
| Situación / Diseño | Prueba paramétrica | ¿Qué compara? (paramétrica) | Prueba no paramétrica (alternativa) | ¿Qué compara? (no paramétrica) |
|---|---|---|---|---|
| 1 muestra, variable cuantitativa | t de Student 1 muestra | Compara la media poblacional con un valor \((\mu_0)\). | Wilcoxon 1 muestra (rangos con signo) / Prueba de signo | Compara la mediana poblacional con un valor \((\theta_0)\), usando signos o rangos de las diferencias \((X_i - \theta_0)\). |
| 2 grupos independientes, variable cuantitativa | t de Student 2 muestras (o t de Welch si varianzas ≠) | Compara las medias poblacionales \((\mu_1)\) y \((\mu_2)\). | Mann–Whitney / Wilcoxon de rangos | Compara la posición de las distribuciones (medianas / orden de los valores). Evalúa si es igualmente probable que un valor del grupo 1 sea mayor que uno del grupo 2. |
| 2 mediciones en los mismos sujetos (antes/después) | t pareada | Compara la media de las diferencias \((\mu_d)\) con 0. | Wilcoxon pareado (rangos con signo) / prueba de signo sobre las diferencias | Compara la mediana de las diferencias con 0 usando rangos o solo signos de \((d_i = \text{antes} - \text{después})\). |
| k ≥ 3 grupos independientes, variable cuantitativa | ANOVA de un factor | Compara simultáneamente las medias de k poblaciones (\((\mu_1, \ldots, \mu_k)\)). | Kruskal–Wallis | Compara la posición de las distribuciones de los k grupos mediante rangos (medianas / orden global de los datos). |
| k ≥ 3 condiciones en los mismos sujetos (medidas repetidas) | ANOVA de medidas repetidas | Compara las medias de las condiciones (tratamientos) en los mismos sujetos, teniendo en cuenta la variabilidad intra-sujeto. | Friedman | Compara la posición relativa (rangos) de los tratamientos dentro de cada sujeto. Mira si algún tratamiento tiende a tener rangos sistemáticamente mayores/menores. |
| Relación entre dos variables cuantitativas | Correlación de Pearson | Mide la correlación lineal entre las variables (parámetro \((\rho)\)); compara si \((\rho = 0)\) o no. | Correlación de Spearman / Kendall | Miden la asociación monotónica / ordinal usando rangos (Spearman) o pares concordantes/discordantes (Kendall). Comparan si hay dependencia en el orden, no necesariamente lineal. |
| Relación Y continua vs varias X (modelo lineal) | Regresión lineal (simple/múltiple) | Modela y contrasta la relación entre la media de Y y una o más variables \(X:(E(Y|X) = \beta_0 + \beta_1X_1 + \dots)\). | Regresión sobre rangos / modelos no paramétricos (p.ej. LOESS, regresión cuantílica) | Estudian la relación entre Y y X sin asumir forma lineal normal clásica; comparan la asociación en términos de rangos, cuantiles o suavizados no paramétricos. No hay un único “análogo estándar”. |
| Comparar grupos controlando covariable(s) cuantitativa(s) | ANCOVA | Compara las medias ajustadas de los grupos (tratamientos) controlando el efecto lineal de una o más covariables (edad, nivel previo, etc.). | ANCOVA sobre rangos / modelos no paramétricos con covariables | Compara la posición ajustada de los grupos controlando covariables, usando rangos o modelos no paramétricos (no hay un análogo único tan estándar como ANCOVA). |
| Comparar una proporción con un valor \(p_0\) | Prueba z para 1 proporción | Compara la proporción poblacional \((p)\) con un valor \((p_0)\) usando aproximación normal. | Prueba binomial exacta | Compara la proporción observada con \((p_0)\) usando la distribución binomial exacta (sin aproximación normal). |
| Comparar dos proporciones (2 grupos) | Prueba z para 2 proporciones | Compara las proporciones poblacionales \((p_1)\) y \((p_2)\) usando aproximación normal (o chi-cuadrado 2×2). | Prueba exacta de Fisher (2×2) | Compara \((p_1)\) y \((p_2)\) mediante la distribución hipergeométrica exacta, sin aproximaciones, adecuada con conteos pequeños. |
| Asociación entre dos variables categóricas (tabla r×c) | Modelo de regresión logística / modelos lineales generalizados (enfoque paramétrico) | Compara parámetros de un modelo (odds ratios, log-odds) para evaluar asociación/cambio en probabilidades entre categorías. | Chi-cuadrado de independencia / homogeneidad | Compara las frecuencias observadas y esperadas en la tabla. Evalúa si la distribución conjunta = producto de marginales (independencia) o si las distribuciones por fila son iguales (homogeneidad). |
| Varianza de una población normal | Chi-cuadrado para la varianza / Prueba F para 2 varianzas | Compara la varianza poblacional \((\sigma^2)\) con un valor \((\sigma_0^2)\) o compara dos varianzas \((\sigma_1^2, \sigma_2^2)\) asumiendo normalidad. | Pruebas robustas tipo Levene / Brown–Forsythe | Comparan la igualdad de varianzas entre grupos usando transformaciones de los datos (desviaciones respecto a la mediana/media) y ANOVA sobre esos valores, menos sensibles a no normalidad y outliers. |
Definición Contrasta las medias de dos grupos independientes:
\(H_0:\mu_1 =\mu_2\)
\(H_1:\mu_1 \neq \mu_2 \quad\)
También puede plantearse unilateral \((> o <)\), pero aquí usamos la bilateral.
Fórmula (versión de Welch)
El estadístico de prueba es:
\(t \;=\; \frac{\bar{X}_1 - \bar{X}_2}{\sqrt{\dfrac{S_1^2}{n_1} + \dfrac{S_2^2}{n_2}}}\)
donde:
En R, t.test(x, y) usa por defecto esta versión (Welch),
que no asume igualdad de varianzas.
Grafico
par(mfrow = c(1, 2))
qqnorm(calificaciones_metodo_A);
qqline(calificaciones_metodo_A, col = 2)
qqnorm(calificaciones_metodo_B);
qqline(calificaciones_metodo_B, col = 2)prueba normalidad (Shapiro–Wilk)
resultado_A <- shapiro.test(calificaciones_metodo_A)
resultado_B <- shapiro.test(calificaciones_metodo_B)
resultado_A##
## Shapiro-Wilk normality test
##
## data: calificaciones_metodo_A
## W = 0.97523, p-value = 0.9347
##
## Shapiro-Wilk normality test
##
## data: calificaciones_metodo_B
## W = 0.96862, p-value = 0.8777
Como ambos p-valores son mayores que 0.05, los datos pueden considerarse aproximadamente normales → usamos prueba t paramétrica.
Planteamiento de hipótesis
\(H_0:𝜇_𝐴=𝜇_B\) (no hay diferencia en las medias)
\(H_1:𝜇_𝐴≠𝜇_𝐵\)(hay diferencia)
##
## Welch Two Sample t-test
##
## data: calificaciones_metodo_A and calificaciones_metodo_B
## t = 5.741, df = 17.856, p-value = 1.984e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 4.43689 9.56311
## sample estimates:
## mean of x mean of y
## 88.9 81.9
Interpretación
Concluimos que hay una diferencia significativa en las calificaciones medias entre los dos métodos.
\(H_0:\ \mu_1 = \mu_2 = \cdots = \mu_k\)
\(H_1:\ \text{al menos una media es diferente.}\)
Modelo
\(Y_{ij} = \mu + \alpha_i + \varepsilon_{ij}\)
donde:
\(Y_{ij}: \text{ observación } j \text{ del grupo } i\)
\(\mu: \text{ media global},\)
\(\alpha_i: \text{ efecto del grupo } i,\)
\(\varepsilon_{ij}: \text{ error aleatorio}.\)
El estadístico F es:
\(F = \frac{MS_{\text{entre}}}{MS_{\text{dentro}}}\)
Ejemplo en R: tres métodos de enseñanza
set.seed(123)
grupo_A <- rnorm(30, mean = 75, sd = 10)
grupo_B <- rnorm(30, mean = 80, sd = 12)
grupo_C <- rnorm(30, mean = 78, sd = 11)
datos_anova <- data.frame(
Metodo = rep(c("A", "B", "C"), each = 30),
Puntajes = c(grupo_A, grupo_B, grupo_C)
)
resultado_anova <- aov(Puntajes ~ Metodo, data = datos_anova)
summary(resultado_anova)## Df Sum Sq Mean Sq F value Pr(>F)
## Metodo 2 869 434.5 4.523 0.0135 *
## Residuals 87 8358 96.1
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Si el p-valor asociado al factor Metodo es menor que 0.05, se rechaza \(H_0\)
La correlación de Pearson mide la relación lineal entre dos variables cuantitativas.
El coeficiente se define como:
\(r =\frac{\sum_{i=1}^{n}(X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n} (X_i - \bar{X})^2}\,\sqrt{\sum_{i=1}^{n} (Y_i - \bar{Y})^2}}\)
Ejemplo Supongamos que queremos estudiar la relación entre horas de estudio y calificaciones.
# Crear datos ficticios
set.seed(123)
horas_estudio <- rnorm(50, mean = 20, sd = 5)
calificaciones <- 0.8 * horas_estudio + rnorm(50, mean = 0, sd = 2)
# Crear un data frame
datos_pearson <- data.frame(HorasEstudio = horas_estudio,
Calificaciones = calificaciones)
head(datos_pearson)Prueba
# Prueba de correlación de Pearson
resultado_correlacion <- cor.test(datos_pearson$HorasEstudio,
datos_pearson$Calificaciones,
method = "pearson")
resultado_correlacion##
## Pearson's product-moment correlation
##
## data: datos_pearson$HorasEstudio and datos_pearson$Calificaciones
## t = 13.929, df = 48, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.8218357 0.9395535
## sample estimates:
## cor
## 0.8953635
Analisis
if (resultado_correlacion$p.value < 0.05) {
cat("Hay una correlación lineal significativa entre las horas de estudio y las calificaciones.\n")
} else {
cat("No hay evidencia estadística suficiente para afirmar una correlación lineal significativa.\n")
}## Hay una correlación lineal significativa entre las horas de estudio y las calificaciones.
Un 𝑟 cercano a 1 o -1 y p-valor muy pequeño indica una relación lineal fuerte.
El signo de 𝑟indica si la relación es positiva (a más horas, más nota) o negativa (a más horas, menos nota, lo cual sería raro aquí).
El modelo lineal simple es:
\(Y = \beta_0 + \beta_1 X + \varepsilon,\)
donde \((\varepsilon)\) representa el error aleatorio.
Hipótesis sobre la pendiente:
\(H_0: \beta_1 = 0\) \(\qquad\text{vs}\qquad\) \(H_1: \beta_1 \ne 0.\)
Evalúa la independencia entre dos variables categóricas en una tabla de contingencia. Las hipótesis son:
\(H_0: \text{Las variables son independientes}\)
\(H_1: \text{Las variables están asociadas (no son independientes)}\)
Estadístico de prueba
El estadístico de la prueba ji-cuadrado se define como:
\(\chi^2 \;=\; \sum_{i} \sum_{j} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}\)
donde:
\(H_0\): Las dos variables categóricas son independientes (no existe asociación entre ellas). \(H_1\): Las dos variables categóricas no son independientes (es decir, sí existe asociación entre ellas).
Ejemplo
Tienes dos variables categóricas:
Nivel de educación: Secundaria, Universidad, Posgrado
Tipo de película preferida: Acción, Comedia, Drama
En una prueba Chi-cuadrado de independencia, las hipótesis son: \(H_0: \text{El nivel de educación y el tipo de película preferida son independientes.}\)
\(H_1: \text{El nivel de educación y el tipo de película preferida no son independientes.}\)
set.seed(123)
educacion <- rep(c("Secundaria", "Universidad", "Posgrado"), each = 50)
peliculas <- rep(c("Accion", "Drama", "Comedia"), times = 50)
tabla_contingencia <- table(educacion, peliculas)
tabla_contingencia## peliculas
## educacion Accion Comedia Drama
## Posgrado 16 17 17
## Secundaria 17 16 17
## Universidad 17 17 16
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia
## X-squared = 0.12, df = 4, p-value = 0.9983
En cada nivel educativo hay prácticamente la misma cantidad de respuestas para cada tipo de película.
No hay una fila que se “dispare” hacia un género en particular.
Eso ya suena muy compatible con la independencia.
En la prueba Chi-cuadrado de independencia entre nivel de educación y tipo de película preferida se obtuvo un estadístico \((\chi^2 = 0.12)\) con \((4)\) grados de libertad y un p-valor de \((p = 0.9983)\). Dado que \((p > 0.05)\), no se rechaza la hipótesis nula de independencia.
Con estos datos, no hay evidencia estadísticamente significativa de asociación entre el nivel de educación y la preferencia por tipo de película en la muestra analizada.
La prueba exacta de Fisher evalúa la asociación entre dos variables categóricas en una tabla de contingencia \((2 \times 2)\), especialmente cuando los tamaños de muestra son pequeños.
Hipótesis:
| Columna 1 | Columna 2 | Total | |
|---|---|---|---|
| Fila 1 | \((a)\) | \((b)\) | \((a+b)\) |
| Fila 2 | \((c)\) | \((d)\) | \((c+d)\) |
| Total | \((a+c)\) | \((b+d)\) | \((n)\) |
La probabilidad de observar la tabla exacta bajo \((H_0)\) es:
\(P(\text{tabla})= \frac{\binom{a+b}{a}\binom{c+d}{c}}{\binom{n}{a+c}}\)
tabla_contingencia <- matrix(c(10, 20,
15, 5),
nrow = 2, byrow = TRUE)
colnames(tabla_contingencia) <- c("Accion", "Drama")
rownames(tabla_contingencia) <- c("Hombres", "Mujeres")
tabla_contingencia## Accion Drama
## Hombres 10 20
## Mujeres 15 5
##
## Fisher's Exact Test for Count Data
##
## data: tabla_contingencia
## p-value = 0.008579
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
## 0.03759768 0.68195287
## sample estimates:
## odds ratio
## 0.1734609
Análisis de resultados
if (resultado_fisher$p.value < 0.05) {
cat("Hay evidencia estadística para afirmar que existe una asociación.\n")
} else {
cat("No hay evidencia estadística suficiente para afirmar asociación.\n")
}## Hay evidencia estadística para afirmar que existe una asociación.
La prueba de la suma de rangos de Wilcoxon, también conocida como la prueba de Mann–Whitney U, compara dos grupos independientes cuando la variable respuesta es ordinal o cuantitativa, pero no se asume normalidad. Es una alternativa no paramétrica a la prueba t de Student para dos muestras independientes.
\(H_0: \text{las distribuciones de ambos grupos son iguales}\)
\(H_1: \text{las distribuciones difieren (por ejemplo, una tiende a valores mayores)}\)
Estadístico U
Sean:
\(n_1 : \text{tamaño del grupo 1}, \qquad n_2 : \text{tamaño del grupo 2},\)
\(R_1 : \text{suma de rangos de las observaciones del grupo 1 en los datos combinados}.\)
El estadístico se define como:
\(U_1 = n_1 n_2 + \frac{n_1(n_1 + 1)}{2} - R_1.\)
Análogamente,
\(U_2 = n_1 n_2 - U_1,\)
y el estadístico final es:
\(U = \min(U_1, U_2).\)
Ejemplo
Supongamos dos grupos de estudiantes (A y B) y queremos comparar sus calificaciones finales:
set.seed(123)
A <- rnorm(30, mean = 75, sd = 10)
B <- rnorm(30, mean = 80, sd = 12)
datos_wilcox <- data.frame(
Grupo = rep(c("A", "B"), each = 30),
Calificaciones = c(A, B)
)
resultado_wilcoxon <- wilcox.test(Calificaciones ~ Grupo,
data = datos_wilcox)
resultado_wilcoxon##
## Wilcoxon rank sum exact test
##
## data: Calificaciones by Grupo
## W = 268, p-value = 0.00665
## alternative hypothesis: true location shift is not equal to 0
Interpretación de la Prueba de Mann–Whitney U
Una vez obtenido el valor del estadístico \(U\) y su correspondiente valor \(p\), la interpretación se realiza comparando dicho valor \(p\) con el nivel de significancia \(\alpha\) (comúnmente \(\alpha = 0.05\)).
\(\text{Si } p < \alpha \quad \Rightarrow \quad \text{se rechaza } H_0.\)
\(\text{Si } p \ge \alpha \quad \Rightarrow \quad \text{no se rechaza } H_0.\)
Si se rechaza \(H_0\): Existe
evidencia estadísticamente significativa de que las distribuciones de
los dos grupos son diferentes.
Esto indica que los valores de un grupo tienden a ser mayores (o
menores) que los del otro.
Si no se rechaza \(H_0\): No
existe evidencia suficiente para afirmar que las distribuciones de los
grupos difieren.
Los datos no muestran una diferencia clara en la localización (mediana)
entre los grupos.
Interpretación aplicada al ejemplo
Si al ejecutar la prueba en R obtenemos, por ejemplo:
\(p = 0.012 < 0.05,\)
entonces:
\(\text{Conclusión: se rechaza } H_0,\)
y por lo tanto existe evidencia estadística de que las calificaciones del grupo A y del grupo B son diferentes.
La prueba de Kruskal–Wallis es una extensión no paramétrica del ANOVA
de un factor.
Se utiliza cuando se desea comparar más de dos grupos independientes y
no se asume normalidad en los datos.
Estadístico de prueba:
\(H =\frac{12}{N(N+1)}\sum_{j=1}^{k}\frac{R_j^2}{n_j}\);\(-\;3(N+1)\)
donde:
El estadístico \(H\) sigue aproximadamente una distribución ji-cuadrado con \(k-1\) grados de libertad.
Ejemplo
set.seed(123)
A <- rnorm(30,75,10)
B <- rnorm(30,80,12)
C <- rnorm(30,78,11)
datos <- data.frame(
Grupo = rep(c("A","B","C"), each=30),
Calificaciones = c(A,B,C)
)
kruskal.test(Calificaciones ~ Grupo, data = datos)##
## Kruskal-Wallis rank sum test
##
## data: Calificaciones by Grupo
## Kruskal-Wallis chi-squared = 7.8788, df = 2, p-value = 0.01946
Si el valor \(p\) es menor que el nivel de significancia \(\alpha\) (usualmente 0.05), se rechaza la hipótesis nula y se concluye que al menos un grupo difiere de los demás.
births14.csvAsegúrate de que el archivo births14.csv esté en la misma carpeta donde guardas este archivo
.Rmd(o especifica la ruta completa).
La base births14.csv contiene información sobre
nacimientos: edades de los padres, semanas de gestación, peso del bebé,
hábito de fumar de la madre, entre otras.
Nos centraremos en la variable weight, que corresponde
al peso al nacer en libras.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.750 6.545 7.310 7.198 8.000 10.620
## [1] 1.306775
## [1] 1000
Con esto podemos:
Media muestral: \(\bar{x}\) Desviación estándar muestral: 𝑠 Tamaño de muestra: 𝑛
Planteamiento de la pregunta de investigación
Formulemos una pregunta típica de curso de estadística:
¿Es el peso promedio al nacer de los bebés en la base births14.csv igual a 7 libras?
Supongamos que 7 libras es el valor de referencia “oficial” o teórico (por ejemplo, un valor reportado por estudios previos).
Recordemos la pregunta:
¿Es el peso promedio al nacer de los bebés en la base
births14.csvigual a 7 libras?
Primero definimos el parámetro de interés:
Como queremos comparar con un valor de referencia (7 libras), planteamos:
Interpretación en palabras:
Si quisiéramos una prueba unilateral, los planteamientos serían:
“Validar si el peso promedio es menor a 7 libras”: \(H_0: \mu \ge 7,\quad H_1: \mu < 7\)
“Quiero ver si el peso promedio es mayor a 7 libras”: \(H_0: \mu \le 7,\quad H_1: \mu > 7\)
En este ejemplo seguiremos con la prueba bilateral, que es la más habitual cuando no se tiene un sentido claro del cambio.
Elegimos, por ejemplo:
\(\alpha = 0.05\)
Es decir, estamos dispuestos a aceptar un 5% de probabilidad de rechazar \((H_0)\) cuando, en realidad, \((H_0)\) es verdadera (error de Tipo I).
Lo podemos dejar indicado en el documento:
\((alpha = 0.05)\).
Antes de correr la prueba, es buena práctica mirar los datos:
## [1] 7.19816
## [1] 1.306775
## [1] 1000
También es útil ver la forma de la distribución:
hist(births$weight,
breaks = 20,
main = "Histograma del peso al nacer",
xlab = "Peso (libras)")
abline(v = 7, lwd = 2) # línea vertical en 7 librasboxplot(births$weight,
horizontal = TRUE,
main = "Boxplot del peso al nacer",
xlab = "Peso (libras)")
### Validar Normalidad
Y revisar aproximadamente la normalidad \(n\) es grande, pero es buena práctica):
¿Qué prueba usar?
Queremos contrastar una media poblacional con un valor fijo (7 libras), a partir de:
Una sola muestra.
Desconocemos la desviación estándar poblacional 𝜎.
En este contexto, la prueba adecuada es la prueba t de Student para una muestra.
El estadístico de prueba es:
\(t \;=\; \frac{\bar{x} - \mu_0}{s / \sqrt{n}}\)
donde:
Los grados de libertad son:
\(gl = n - 1\)
Podemos calcular el estadístico t “a mano” en R:
mu0 <- 7
xbar <- mean(births$weight, na.rm = TRUE)
s <- sd(births$weight, na.rm = TRUE)
n <- sum(!is.na(births$weight))
t_calc <- (xbar - mu0) / (s / sqrt(n))
gl <- n - 1
t_calc## [1] 4.795293
## [1] 999
Aunque podemos calcular el p-valor manualmente con funciones de distribución t, en la práctica usamos:
##
## One Sample t-test
##
## data: births$weight
## t = 4.7953, df = 999, p-value = 1.871e-06
## alternative hypothesis: true mean is not equal to 7
## 95 percent confidence interval:
## 7.117068 7.279252
## sample estimates:
## mean of x
## 7.19816
Inferencia: Se rechaza \(H_0\) de forma contundente y se concluye que la media poblacional es significativamente diferente de 7 (al 5% de significancia, e incluso al 1% o 0.1%).
Esta función nos entrega: t: valor del estadístico t calculado.
df: grados de libertad.
p-value: p-valor.
conf.int: intervalo de confianza al 95% para 𝜇
mean of x: la media muestral.
El p-valor obtenido en la prueba t es 1.87^{-6}.
Podemos estructurar la conclusión así:
Comparación p vs. 𝛼
Si r t.test(births\(weight, mu = 7)\)p.value ≤0.05:
Hay evidencia estadística suficiente, al 5% de significancia, para afirmar que el peso promedio al nacer es diferente de 7 libras.
Si r t.test(births\(weight, mu = 7)\)p.value >0.05:
No hay evidencia estadística suficiente, al 5% de significancia, para afirmar que el peso promedio al nacer sea diferente de 7 libras. Es decir, no rechazamos que sea 7 libras.
Caso de rechazar \(H_0\):
Con base en la muestra de r n bebés, y trabajando con un nivel de significancia del 5%, se concluye que el peso promedio al nacer de los bebés no es igual a 7 libras; es decir, difiere de la referencia “oficial”.
Caso de no rechazar \(H_0\):
Con base en la muestra de r n bebés, y trabajando con un nivel de significancia del 5%, no se encontró evidencia suficiente para afirmar que el peso promedio al nacer difiera de 7 libras. Los datos son compatibles con la referencia “oficial”.