Amostra ou população?
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 4 de 64.
Um apicultor pesou o mel de 5 colmeias, em kg. NumPy e pandas discordam quanto ao desvio padrão:
values = [18, 22, 25, 19, 26]
print(np.round(np.std(values), 2))
print(np.round(pd.Series(values).std(), 2))Isso imprime:
3.16
3.54Ambos somam os mesmos desvios ao quadrado e, em seguida, dividem:
Dividir por n é adequado para uma população, que inclui todos os valores. Uma amostra fica próxima da própria média, então sua dispersão parece pequena; n - 1 compensa isso.
ddof=1 fornece ao NumPy a fórmula amostral: np.std(a, ddof=1) corresponde ao pandas. Os dados do modelo são uma amostra: uma divergência no desvio padrão entre ferramentas se deve a ddof, não a um bug.
Desafio
FácilUm biólogo obteve dois desvios padrão diferentes para as envergaduras das asas de alguns morcegos, em cm. O código inicial lê os valores no array spans e na Series column; a verificação imprime False.
- Os morcegos são uma amostra: corrija a linha do NumPy para que as duas ferramentas forneçam o desvio padrão amostral.
- Abaixo dela, imprima quanto o padrão do NumPy
np.std(spans)fica abaixo decolumn.std(), com 2 casas decimais.
Para as envergaduras 33, 27, 30, 35 e 29:
Sample std: 3.19 cm, tools agree: True
Dividing by n underestimated it by 0.34 cmExperimente você mesmo
import numpy as np
import pandas as pd
n = int(input())
values = []
for i in range(n):
values.append(int(input()))
spans = np.array(values)
column = pd.Series(values)
# Esta verificação imprime False: corrija a linha do NumPy para que ambas as ferramentas forneçam o desvio padrão amostral
numpy_std = np.round(np.std(spans), 2)
pandas_std = np.round(column.std(), 2)
print(f"Sample std: {numpy_std} cm, tools agree: {numpy_std == pandas_std}")
# 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