Comparar varios grupos en Python
ANOVA de una vía, y la alternativa por rangos cuando las varianzas difieren.
import numpy as np
from scipy import stats
rng = np.random.default_rng(3)
python = rng.normal(100, 10, 30)
rust = rng.normal(95, 10, 30)
css = rng.normal(80, 10, 30)
print(round(stats.levene(python, rust, css).pvalue, 4))
anova = stats.f_oneway(python, rust, css)
print(round(anova.statistic, 3), f"{anova.pvalue:.2e}")
pares = [("py-rust", python, rust), ("py-css", python, css)]
for nombre, a, b in pares:
print(nombre, f"{stats.ttest_ind(a, b).pvalue:.4f}")
Cómo funciona
f_onewaytoma un arreglo por grupo.- Una F significativa dice que los grupos difieren, no cuál par.
levenerevisa primero el supuesto de varianzas iguales.
Palabras clave y builtins usados aquí
asforprintround
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 464
- Tokens
- 162
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 93 segundos.
Paso 4 de 4 en Pruebas de hipótesis; paso 7 de 23 en Computación científica con SciPy.