typestar

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

  1. f_oneway toma un arreglo por grupo.
  2. Una F significativa dice que los grupos difieren, no cuál par.
  3. levene revisa primero el supuesto de varianzas iguales.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 4 de 4 en Pruebas de hipótesis; paso 7 de 23 en Computación científica con SciPy.

← Anterior Siguiente →