Bootstrap para un intervalo de confianza en Python
Remuestrear da un intervalo para cualquier estadístico, sin fórmula de por medio.
import numpy as np
from scipy import stats
rng = np.random.default_rng(5)
muestra = rng.normal(95, 12, size=60)
resultado = stats.bootstrap((muestra,), np.median, n_resamples=2000,
confidence_level=0.95, random_state=rng)
bajo, alto = resultado.confidence_interval
print(round(np.median(muestra), 2), round(bajo, 2), round(alto, 2))
print(round(resultado.standard_error, 3))
perm = stats.permutation_test((muestra, muestra + 3),
lambda a, b: np.mean(a) - np.mean(b),
n_resamples=500, random_state=rng)
print(round(perm.pvalue, 4))
Cómo funciona
- Los datos entran como una tupla de un elemento con las muestras.
statistices cualquier función que reduce una muestra a un número.confidence_levelyn_resamplescontrolan el resultado.
Palabras clave y builtins usados aquí
aslambdaprintround
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 533
- Tokens
- 157
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 90 segundos.
Paso 2 de 2 en Correlación y remuestreo; paso 9 de 23 en Computación científica con SciPy.