Pode ser acaso?
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 43 de 64.
Cinco leitores de uma fonte sem serifa superaram cinco leitores de uma fonte com serifa por 6,6 segundos. Se a fonte não tivesse mudado nada, qualquer tempo poderia estar em qualquer grupo. Embaralhe para representar isso:
rng.permutation(a) retorna uma cópia embaralhada. Repita 1000 vezes e mantenha cada diferença 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())As diferenças aleatórias se acumulam em torno de 0; a diferença real fica perto da extremidade. Este é um teste de permutação.
Antes de confiar que um modelo supera outro, verifique se a aleatorização raramente produz uma diferença tão grande.
Desafio
MédioOs cães aprenderam a sentar de duas maneiras: clicker e treats armazenam as sessões de cada cão. O código inicial cria rng e shuffles.
- Calcule a diferença real: média de treats menos média de clicker.
- Junte
clickere depoistreats; embaralheshufflesvezes, divida emlen(clicker), mantenha cada diferença simulada na mesma ordem; não faça outras extrações. - Imprima a diferença real, a primeira diferença simulada, a menor e a maior, com 2 casas decimais.
Para outros cães:
Real difference: 3.0
First shuffle: -1.0
Smallest shuffled: -3.33
Largest shuffled: 3.67Experimente você mesmo
import numpy as np
# Sessões de treinamento de que cada cão precisou para aprender "sit"
clicker = np.array([9, 12, 8, 11, 10, 7, 13])
treats = np.array([14, 11, 15, 12, 16, 13])
# Não altere as linhas abaixo
rng = np.random.default_rng(12)
shuffles = 1000
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Estatística para ML
1Centro e dispersão
Média e medianaPercentis e quartisVariância e desvio padrãoAmostra ou população?O valor mais frequenteRevisão: tempos de entrega4Amostras e Populações
População e AmostraAs médias amostrais variamA distribuição amostralAmostras maiores, menos ruídoRevisão: pesquisa de opinião em uma cidade7Linhas de tendência
ResíduosAjuste por mínimos quadradosTraçando o ajusteFazendo previsões com uma linhaQuão bom é o ajuste?Revisão: horas de prática10Codificação de Categorias
Categorias como NúmerosCodificação One-HotAgrupamento de Números em FaixasRecapitulação: Anúncios de Carros2Distribuições
Histogramas de densidadeFormatos dos dadosA curva normalA regra 68-95-99,7Escores ZRecapitulando: duração da bateria5Valores atípicos
Diagramas de caixaA regra do IQRA regra do Z-scoreComo lidar com valores atípicosRevisão: falhas nos sensores8Comparando grupos
Gráficos de caixa por grupoDiferença entre médiasPode ser acaso?Valores-pO teste tRevisão: teste A/B11Explorando um conjunto de dados
Um primeiro olharTodos os atributos de uma vezAtributos em relação ao rótuloOs dois melhores atributosRevisão: dados de diabetes3Probabilidade por Simulação
Probabilidade como frequênciaA Lei dos Grandes NúmerosSomas de dadosValor esperadoProbabilidade condicionalRevisão: chances na barraca de dados6Relações
Lendo gráficos de dispersãoCorrelaçãoMatriz de correlaçãoMapas de calor de correlaçãoCorrelação não é causalidadeRevisão: sorvete e sol9Escalonamento de Recursos
Por que escalar os recursosEscalonamento Min-MaxPadronizaçãoStandardScalerRevisão: Parceiros de escaladaPratique por conta própria: Compilador de Python online