Proporciones y potencia en Python
Una prueba z para proporciones, y el tamaño de muestra que detectaría un efecto.
import numpy as np
from statsmodels.stats.multitest import multipletests
from statsmodels.stats.power import TTestIndPower
from statsmodels.stats.proportion import proportions_ztest
estadistico, valor_p = proportions_ztest(count=np.array([62, 45]),
nobs=np.array([120, 120]))
print(round(estadistico, 3), round(valor_p, 5))
crudos = [0.001, 0.012, 0.03, 0.2, 0.6]
rechaza, ajustados, _, _ = multipletests(crudos, alpha=0.05, method="holm")
print(rechaza.tolist())
print([round(p, 4) for p in ajustados])
minimo = TTestIndPower().solve_power(effect_size=0.4, power=0.8, alpha=0.05)
print(f"{minimo:.0f} por grupo")
Cómo funciona
proportions_ztesttoma éxitos y totales.multipletestscorrige una familia de valores p.TTestIndPower.solve_powerresponde cuántas filas necesitas.
Palabras clave y builtins usados aquí
asforprintround
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 616
- Tokens
- 166
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 91 segundos.
Paso 4 de 4 en Más allá de mínimos cuadrados; paso 12 de 19 en Estadística con statsmodels.