Tukey HSD post-hoc
Descubra qué medias de grupo difieren después de un ANOVA: con grupos cuyas medias son 2, 6 y 4, la prueba de Tukey marca los tres pares como distintos al nivel 0,05. Verá las medias, el valor crítico y una tabla con cada par. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Etiquetas
- A, B, C
- Alfa
- 0,05
- K
- 3
- N total
- 12
- Gl error
- 9
- MSE
- 0,6666666667
Cuando un ANOVA de un factor rechaza la hipótesis nula global de que todas las medias de grupo son iguales, el investigador todavía necesita saber qué pares difieren. La diferencia honestamente significativa (HSD) de Tukey y su forma de Tukey–Kramer para tamaños de muestra desiguales responden esa pregunta con una única tasa de error por familia: cada diferencia de medias por pares se compara con un valor crítico construido a partir del cuadrado medio residual, los tamaños de grupo y el cuantil del rango estudentizado para el número de grupos y los grados de libertad del error. Esta capacidad admite dos o más arreglos numéricos de grupos, más etiquetas y alfa opcionales, y luego devuelve las medias de grupo, el MSE residual, el q crítico, la HSD común cuando los tamaños coinciden y una tabla completa por pares con indicadores de significación.
Qué significa Tukey HSD tras un ANOVA significativo
El análisis de varianza comprueba si al menos una media entre k grupos difiere, pero no nombra los pares. Ejecutar pruebas t ordinarias de dos muestras en cada par infla la probabilidad de un falso positivo a medida que crece el número de comparaciones.
El procedimiento de Tukey controla la tasa de error por familia para todos los contrastes por pares de manera simultánea usando la distribución del rango estudentizado: la distancia crítica depende de cuán grande parecería la mayor brecha entre k medias bajo la nula al escalarla por el error estándar residual.
Cuando cada grupo tiene el mismo tamaño de muestra n, esa distancia se suele escribir como una única diferencia honestamente significativa HSD igual a q-alfa de k y los grados de libertad residuales por la raíz cuadrada de MSE sobre n. Toda diferencia absoluta de medias mayor que HSD se declara significativa al alfa elegido.
Cuando los tamaños de muestra difieren, el ajuste de Tukey–Kramer reemplaza el n común por un error estándar específico del par usando uno sobre n-i más uno sobre n-j, de modo que cada comparación tiene su propia diferencia crítica y aun así comparte el mismo valor q crítico. Los libros de texto introducen la HSD justo después del ANOVA de un factor en psicología, biología, agricultura y experimentos de producto A/B.
El cálculo a mano falla cuando el MSE se copia mal de la tabla del ANOVA, cuando el df del error queda desviado en uno, cuando se intercambian las etiquetas o cuando se ignora el n desigual. Automatizar la ruta desde las observaciones crudas pasando por el MSE hasta los indicadores por pares elimina esos descuidos y sigue exponiendo las cantidades intermedias que espera la redacción de una solución.
Cómo calcula la respuesta esta capacidad
Las etiquetas opcionales nombran los grupos cuando usted pasa un arreglo simple de arreglos; el alfa opcional fija el nivel por familia y toma por defecto cero coma cero cinco. Calcula la media de cada grupo y la suma de cuadrados dentro del grupo, agrupa el SSE residual en MSE igual a SSE sobre N menos k, aproxima el valor crítico q del rango estudentizado para alfa, k y df del error, y luego forma cada par no ordenado.
Para tamaños de muestra iguales también informa el único valor HSD; para tamaños desiguales usa las diferencias críticas específicas del par de Tukey–Kramer. Cada comparación indica ambas medias, la diferencia con signo y absoluta, los tamaños de muestra, el error estándar de escala del rango, la diferencia crítica, el estadístico q observado cuando está definido y un indicador booleano de significación.
La respuesta también devuelve el nombre del método, k, n-total, df del error, mse, sse, q-crítico, si los tamaños de muestra son iguales, un resumen de grupos con medias y varianzas muestrales, y un recuento de pares significativos.
Dónde usarla y cuánto cuesta
Los usos típicos incluyen confirmar qué medias de dieta, fertilizante o variante de interfaz se separan tras un ANOVA de un factor significativo, generar claves de solución que enumeran cada par junto a su diferencia crítica, enseñar la diferencia entre una prueba F global y las decisiones HSD por pares, y alimentar los indicadores de pares significativos hacia informes que ya almacenan los vectores de grupo crudos. La ruta del navegador se ejecuta localmente y no necesita cuenta.
Mantenga al menos dos grupos con suficiente replicación dentro del grupo para un df residual de al menos uno, prefiera el mse y las comparaciones calculadas en el servidor antes que rederivar rutas de punto flotante en hojas de cálculo improvisadas, y trate el resultado como un paso post-hoc tras el ANOVA y no como sustituto de comprobar supuestos como la independencia y una varianza residual aproximadamente comparable.
Como el algoritmo es matemática pura determinista, usted puede hacer pruebas de oro de sus tuberías contra arreglos de grupo fijos sin umbrales inestables de Monte Carlo ni ruido dependiente del tiempo.
Qué puede hacer con ella
Claves de tareas y exámenes
Después de que los estudiantes ejecutan un ANOVA de un factor, verifique qué pares de grupos superan la HSD de Tukey usando una tabla canónica por pares y un valor HSD.
Experimentos de laboratorio y campo
Pase arreglos de réplicas de tratamiento de ensayos de biología o agricultura y almacene los indicadores significativos por pares junto al MSE residual.
Preguntas frecuentes
¿Por qué no basta con hacer una prueba t para cada par de grupos?
Porque cada prueba adicional suma otra oportunidad de un falso positivo, y con muchos pares los errores se acumulan. La HSD de Tukey compara todos los pares a la vez manteniendo una sola tasa de error global.
¿Puedo usar Tukey si los grupos tienen tamaños distintos?
Sí. Con tamaños desiguales la calculadora pasa a la versión de Tukey-Kramer, que da a cada par su propia diferencia crítica según el tamaño de los dos grupos y conserva el mismo valor q crítico.
¿Cómo se lee la tabla de comparaciones por pares?
Cada fila compara dos grupos. Si la diferencia absoluta entre sus medias supera la diferencia crítica, el par se marca como significativo. Con medias de 2, 6 y 4, las diferencias de 4, 2 y 2 superan todas ese umbral.
¿Qué nivel de significación usa la prueba?
Usa 0,05 salvo que usted elija otro, como 0,01 o 0,10. Ese nivel se aplica al conjunto completo de comparaciones, no a cada par por separado.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/stat/tukey-hsd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"groups":[[1,2,3,2],[5,6,7,6],[3,4,5,4]]}'const res = await fetch("https://api.kit.forhosting.com/stat/tukey-hsd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"groups": [
[
1,
2,
3,
2
],
[
5,
6,
7,
6
],
[
3,
4,
5,
4
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/tukey-hsd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"groups": [
[
1,
2,
3,
2
],
[
5,
6,
7,
6
],
[
3,
4,
5,
4
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/tukey-hsd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"groups":[[1,2,3,2],[5,6,7,6],[3,4,5,4]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"groups":[[1,2,3,2],[5,6,7,6],[3,4,5,4]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/tukey-hsd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"groups": [
[
1,
2,
3,
2
],
[
5,
6,
7,
6
],
[
3,
4,
5,
4
]
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.tukey_hsd",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cómo calcula la respuesta esta capacidad
Usted envía un cuerpo JSON con un campo groups obligatorio: o bien un arreglo de al menos dos arreglos numéricos, o bien un objeto que asocia etiquetas de texto a arreglos numéricos. El motor analiza números finitos a partir de números JSON o de cadenas numéricas simples, rechaza menos de dos grupos, grupos vacíos, celdas no numéricas, alfa fuera del intervalo unitario abierto y diseños con grados de libertad residuales por debajo de uno, todo con invalid_input y sin cobro. No hay azar, ni reloj, ni red; entradas idénticas siempre producen el mismo JSON. El trabajo es validación más O de las observaciones totales más O de k al cuadrado de aritmética por pares, que cabe dentro del modelo de coste analítico de esta capacidad parse de tier A, con precio de $0.002 por solicitud exitosa.
Dónde usarla y cuánto cuesta
Use la herramienta gratuita del navegador para revisar una tarea o para un post-hoc rápido sobre un experimento pequeño, o llame a la API cuando un cuaderno, una libreta de calificaciones, una tubería de laboratorio o un trabajo de analítica de producto deban resolver muchas comparaciones multigrupo de la misma manera cada vez. El uso de la API se descuenta del saldo prepago del KIT al precio base publicado de $0.002 por solicitud exitosa; una validación fallida no consume saldo.
Casos de integración
Analítica de producto A/B/n
Procese por lotes muestras de métricas de varias variantes por la API e informe qué variantes difieren bajo un alfa por familia compartido.
Preguntas técnicas
¿Cómo ejecuto una calculadora de Tukey HSD con esta API?
Haga POST de un JSON con groups como arreglo de arreglos numéricos (o un mapa de etiquetas), y de forma opcional alpha y labels. La respuesta incluye mse, q_crit, hsd cuando los tamaños coinciden y una tabla de comparaciones con indicadores de significación.
¿Qué pasa si mis grupos tienen tamaños de muestra distintos?
El motor usa la forma de Tukey–Kramer: cada par obtiene su propia diferencia crítica a partir del MSE y los dos tamaños de muestra, y aun así comparte un único q_crit del rango estudentizado para k y df_error.
¿Qué error obtengo con menos de dos grupos?
La validación falla con invalid_input indicando que Tukey HSD requiere al menos dos grupos. Ese fallo no se cobra.
¿Es gratis la calculadora de Tukey HSD?
El widget del navegador es gratuito y se ejecuta localmente. Las llamadas a la API usan el saldo prepago del KIT al precio base publicado de $0.002; una entrada inválida no se cobra.
¿El resultado es siempre el mismo para las mismas entradas?
Sí. El algoritmo es aritmética analítica pura con una aproximación fija del valor crítico y sin azar ni marcas de tiempo, de modo que grupos y alfa idénticos producen un JSON idéntico.