¿Podría ser azar?
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 43 de 64.
Cinco lectores de una fuente sans vencieron a cinco lectores de una fuente serif por 6.6 segundos. Si la fuente no cambiara nada, cualquier tiempo podría quedar en cualquiera de los dos grupos. Baraja para representar eso:
rng.permutation(a) devuelve una copia mezclada. Repítelo 1000 veces y conserva cada diferencia simulada:
serif = np.array([52, 47, 58, 50, 55])
sans = np.array([45, 49, 41, 50, 44])
pooled = np.concatenate([serif, sans])
rng = np.random.default_rng(4)
diffs = []
for i in range(1000):
shuffled = rng.permutation(pooled)
diffs.append(shuffled[5:].mean() - shuffled[:5].mean())Las diferencias aleatorias se acumulan alrededor de 0; la real se sitúa cerca del extremo. Esta es una prueba de permutación.
Antes de confiar en que un modelo supera a otro, comprueba que al barajar rara vez se produce una diferencia tan grande.
Desafío
IntermedioLos perros aprendieron a sentarse de dos maneras: clicker y treats contienen las sesiones de cada perro. El código inicial crea rng y shuffles.
- Calcula la diferencia real: media de treats menos media de clicker.
- Agrupa
clickery despuéstreats; barajashufflesveces, divide enlen(clicker), conserva cada diferencia simulada en el mismo orden; no hagas ninguna otra extracción. - Imprime la diferencia real, la primera diferencia simulada, la menor y la mayor, con 2 decimales.
Para otros perros:
Real difference: 3.0
First shuffle: -1.0
Smallest shuffled: -3.33
Largest shuffled: 3.67Pruébalo tú mismo
import numpy as np
# Sesiones de entrenamiento que necesitó cada perro para aprender "sit"
clicker = np.array([9, 12, 8, 11, 10, 7, 13])
treats = np.array([14, 11, 15, 12, 16, 13])
# No cambies las líneas de abajo
rng = np.random.default_rng(12)
shuffles = 1000
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Estadística para ML
1Centro y dispersión
Media y medianaPercentiles y cuartilesVarianza y desviación estándar¿Muestra o población?El valor más frecuenteRepaso: tiempos de entrega4Muestras y poblaciones
Población y muestraLas medias muestrales varíanLa distribución muestralMuestras más grandes, menos ruidoRepaso: Encuestar a un pueblo7Líneas de tendencia
ResiduosAjuste por mínimos cuadradosTrazar el ajustePredecir con una línea¿Qué tan bueno es el ajuste?Repaso: horas de práctica10Codificación de categorías
Categorías como númerosCodificación one-hotAgrupación de números en intervalosRepaso: anuncios de autos2Distribuciones
Histogramas de densidadFormas de los datosCurva normalRegla del 68-95-99,7Puntuaciones zRepaso: duración de la batería5Valores atípicos
Diagramas de cajaLa regla del RICLa regla del valor ZTratamiento de valores atípicosRepaso: fallos de los sensores8Comparación de grupos
Diagramas de caja por grupoDiferencia de medias¿Podría ser azar?Valores pLa prueba tRepaso: prueba A/B3Probabilidad mediante simulación
La probabilidad como frecuenciaLa ley de los grandes númerosSuma de dadosValor esperadoProbabilidad condicionalRepaso: probabilidades del puesto de dados6Relaciones
Lectura de diagramas de dispersiónCorrelaciónMatriz de correlaciónMapas de calor de correlaciónCorrelación no es causalidadRepaso: helado y sol9Escalado de características
Por qué escalar las característicasEscalado mín-máxEstandarizaciónStandardScalerRepaso: compañeros de escaladaPractica por tu cuenta: Compilador de Python online