Estatística para Data Science em 2026: Probabilidade, Testes de Hipóteses e Perguntas de Entrevista

Guia completo sobre estatística para entrevistas de data science: distribuições de probabilidade, testes de hipóteses, p-values e perguntas frequentes dos recrutadores.

Estatística para Data Science em 2026: Probabilidade, Testes de Hipóteses e Perguntas de Entrevista

A estatística constitui a espinha dorsal matemática de toda posição em data science. Os recrutadores de empresas como Google, Meta ou Netflix avaliam o raciocínio estatístico porque ele distingue os candidatos capazes de construir modelos daqueles que compreendem por que esses modelos funcionam.

O que os recrutadores procuram

As perguntas de estatística avaliam três habilidades: traduzir problemas de negócio em frameworks estatísticos, escolher o teste adequado para os dados e interpretar resultados sem tirar conclusões precipitadas.

Distribuições de Probabilidade que Todo Data Scientist Deve Conhecer

As distribuições de probabilidade descrevem como os pontos de dados se espalham pelos valores possíveis. Os recrutadores esperam fluência com essas distribuições porque elas sustentam a amostragem, os testes A/B e as suposições dos modelos.

A distribuição normal (gaussiana) aparece em toda parte: erros de medição, altura, pontuações de testes. Sua curva de sino é centrada na média, com 68% dos dados dentro de um desvio padrão e 95% dentro de dois. Quando o tamanho da amostra excede 30, o Teorema Central do Limite garante que as médias amostrais seguem uma distribuição normal independentemente da forma da população original.

A distribuição binomial modela ensaios de sucesso/fracasso. As taxas de clique, eventos de conversão e controles de qualidade aprovado/reprovado seguem padrões binomiais. Para n ensaios com probabilidade p de sucesso, o valor esperado é np e a variância é np(1-p).

A distribuição de Poisson conta eventos raros em intervalos fixos: visitas ao site por minuto, defeitos por lote, chamadas por hora. Seu único parâmetro λ representa tanto a média quanto a variância. Quando os eventos ocorrem independentemente a uma taxa média constante, Poisson se aplica.

python
# distributions_demo.py
import numpy as np
from scipy import stats

# Normal: customer spend follows N(μ=50, σ=15)
normal_samples = stats.norm.rvs(loc=50, scale=15, size=1000)
prob_above_80 = 1 - stats.norm.cdf(80, loc=50, scale=15)  # P(X > 80)

# Binomial: 100 users, 5% conversion rate
binom_samples = stats.binom.rvs(n=100, p=0.05, size=1000)
prob_at_least_10 = 1 - stats.binom.cdf(9, n=100, p=0.05)  # P(X >= 10)

# Poisson: 3 support tickets per hour on average
poisson_samples = stats.poisson.rvs(mu=3, size=1000)
prob_zero_tickets = stats.poisson.pmf(0, mu=3)  # P(X = 0)

Essas três distribuições cobrem a maioria dos cenários práticos. Os recrutadores frequentemente perguntam qual distribuição se ajusta a um determinado contexto de negócio, então é importante praticar a associação de problemas reais com o modelo correto.

Testes de Hipóteses: O Framework Por Trás dos Testes A/B

Os testes de hipóteses fornecem uma estrutura formal para tomar decisões a partir de dados. O framework começa com uma hipótese nula (H₀) representando nenhum efeito ou diferença, e uma hipótese alternativa (H₁) representando o que o experimento busca detectar.

Uma hipótese nula típica de teste A/B afirma: «A nova funcionalidade não tem efeito sobre a taxa de conversão.» A alternativa afirma que um efeito existe. O teste calcula quão provável seria observar os dados se a hipótese nula fosse verdadeira.

O p-value quantifica essa probabilidade. Um p-value de 0.03 significa que há 3% de chance de ver resultados tão extremos se a hipótese nula for verdadeira. Quando o p-value cai abaixo do nível de significância (comumente α = 0.05), a hipótese nula é rejeitada.

python
# ab_test_analysis.py
import numpy as np
from scipy import stats

# A/B test data: control vs treatment conversion rates
control_conversions = 120
control_visitors = 2000
treatment_conversions = 145
treatment_visitors = 2000

# Proportions
p_control = control_conversions / control_visitors  # 0.060
p_treatment = treatment_conversions / treatment_visitors  # 0.0725

# Pooled proportion under null hypothesis
p_pooled = (control_conversions + treatment_conversions) / (control_visitors + treatment_visitors)

# Standard error
se = np.sqrt(p_pooled * (1 - p_pooled) * (1/control_visitors + 1/treatment_visitors))

# Z-statistic
z_stat = (p_treatment - p_control) / se

# Two-tailed p-value
p_value = 2 * (1 - stats.norm.cdf(abs(z_stat)))

print(f"Z-statistic: {z_stat:.3f}")  # Z-statistic: 1.681
print(f"P-value: {p_value:.4f}")  # P-value: 0.0928

Com um p-value de 0.0928, este teste não rejeita a hipótese nula a α = 0.05. A diferença observada pode ser variação aleatória. Mais dados ou um tamanho de efeito maior seriam necessários para alcançar significância estatística.

Erros Tipo I e Tipo II: Os Trade-offs que os Recrutadores Exploram

Os testes estatísticos equilibram dois tipos de erros. Um erro Tipo I (falso positivo) ocorre quando se rejeita uma hipótese nula verdadeira. Um erro Tipo II (falso negativo) ocorre quando não se rejeita uma hipótese nula falsa.

O nível de significância α controla diretamente a probabilidade de erro Tipo I. Definir α = 0.05 significa aceitar 5% de chance de falsos positivos. Reduzir α para 0.01 diminui os falsos positivos mas aumenta os falsos negativos.

O poder estatístico (1 - β) mede a probabilidade de rejeitar corretamente uma hipótese nula falsa. O poder depende do tamanho do efeito, do tamanho da amostra e do nível de significância. O padrão da indústria visa 80% de poder, significando 20% de chance de perder efeitos reais.

Armadilha de entrevista

Os candidatos frequentemente confundem «sem diferença significativa» com «nenhuma diferença existe». Não rejeitar a hipótese nula não prova que ela é verdadeira. O teste pode não ter poder para detectar um efeito pequeno mas real.

Os cálculos de tamanho de amostra equilibram essas preocupações. Para um teste A/B visando um aumento de 2% na conversão (de 5% para 7%) com 80% de poder e α = 0.05:

python
# sample_size_calculation.py
from statsmodels.stats.power import zt_ind_solve_power

# Baseline conversion: 5%, expected lift: 2 percentage points
baseline = 0.05
expected = 0.07
effect_size = (expected - baseline) / np.sqrt(baseline * (1 - baseline))  # Cohen's h

# Required sample size per group
n_per_group = zt_ind_solve_power(
    effect_size=effect_size,
    alpha=0.05,
    power=0.80,
    alternative='two-sided'
)

print(f"Sample size per group: {int(np.ceil(n_per_group))}")  # ~1,570 per group

Testes com poder insuficiente desperdiçam recursos ao executar experimentos incapazes de detectar efeitos realistas.

Intervalos de Confiança: Quantificando a Incerteza

Um intervalo de confiança de 95% significa: se o mesmo processo de amostragem fosse repetido muitas vezes, 95% dos intervalos construídos conteriam o parâmetro verdadeiro. Os intervalos de confiança comunicam a incerteza melhor do que estimativas pontuais sozinhas.

Para médias com variância populacional conhecida, o intervalo usa a distribuição z. Para amostras pequenas ou variância desconhecida, a distribuição t se aplica. A distribuição t tem caudas mais pesadas que a normal, produzindo intervalos mais amplos que consideram a incerteza adicional.

python
# confidence_intervals.py
import numpy as np
from scipy import stats

# Sample data: response times in milliseconds
response_times = np.array([245, 312, 278, 299, 256, 334, 287, 301, 265, 289])

n = len(response_times)
mean = np.mean(response_times)  # 286.6
std_err = stats.sem(response_times)  # Standard error of the mean

# 95% confidence interval using t-distribution (df = n-1)
t_critical = stats.t.ppf(0.975, df=n-1)
margin_of_error = t_critical * std_err

ci_lower = mean - margin_of_error
ci_upper = mean + margin_of_error

print(f"Mean: {mean:.1f}ms")  # Mean: 286.6ms
print(f"95% CI: [{ci_lower:.1f}, {ci_upper:.1f}]ms")  # 95% CI: [265.4, 307.8]ms

Intervalos mais estreitos indicam estimativas mais precisas. O tamanho da amostra determina a precisão: quadruplicar n reduz a margem de erro pela metade.

Pronto para mandar bem nas entrevistas de Data Science & ML?

Pratique com nossos simuladores interativos, flashcards e testes tecnicos.

Bayesiano vs Frequentista: Perguntas de Entrevista sobre Filosofia Estatística

Os recrutadores às vezes exploram a compreensão de paradigmas estatísticos concorrentes. A estatística frequentista trata a probabilidade como frequência a longo prazo: os parâmetros são fixos e os dados variam através de experimentos repetidos. Os p-values e intervalos de confiança vêm dessa tradição.

A estatística bayesiana trata a probabilidade como grau de crença: o conhecimento prévio se combina com os dados para produzir crenças posteriores. O framework permite incorporar expertise do domínio e produz diretamente declarações de probabilidade sobre os parâmetros.

Os testes A/B usam cada vez mais métodos bayesianos porque respondem à pergunta que os stakeholders realmente fazem: «Qual é a probabilidade de o tratamento B superar o tratamento A?» em vez de «Quão surpreendentes são esses dados se não houvesse diferença?»

python
# bayesian_ab_test.py
import numpy as np
from scipy import stats

# Prior: Beta(1, 1) = uniform prior for conversion rate
# Posterior: Beta(alpha + successes, beta + failures)

control_successes, control_failures = 120, 1880
treatment_successes, treatment_failures = 145, 1855

# Posterior distributions
posterior_control = stats.beta(1 + control_successes, 1 + control_failures)
posterior_treatment = stats.beta(1 + treatment_successes, 1 + treatment_failures)

# Monte Carlo estimation: P(treatment > control)
samples_control = posterior_control.rvs(100000)
samples_treatment = posterior_treatment.rvs(100000)
prob_treatment_better = np.mean(samples_treatment > samples_control)

print(f"P(treatment > control): {prob_treatment_better:.2%}")  # ~95%

Os resultados bayesianos comunicam diretamente: «Há 95% de probabilidade de que a taxa de conversão do tratamento supere a do controle.» Os resultados frequentistas requerem uma interpretação mais cuidadosa.

Perguntas de Entrevista Comuns sobre Inferência Estatística

Essas perguntas aparecem frequentemente em entrevistas de data science em empresas de tecnologia. Cada uma avalia um conceito estatístico específico.

«Explique o Teorema Central do Limite e por que ele é importante.»

O TCL afirma que as médias amostrais de qualquer população (com variância finita) se aproximam de uma distribuição normal à medida que o tamanho da amostra aumenta. Isso importa porque as suposições de normalidade nos testes de hipóteses se mantêm para amostras grandes independentemente da distribuição subjacente. Tamanhos de amostra de 30+ geralmente são suficientes.

«O que é p-hacking e como preveni-lo?»

O p-hacking infla as taxas de falsos positivos ao testar múltiplas hipóteses até encontrar significância, ou ao interromper a coleta de dados quando os resultados se tornam significativos. Estratégias de prevenção: pré-registrar planos de análise, aplicar correções para comparações múltiplas (Bonferroni, FDR) e definir tamanhos de amostra antes de coletar dados.

«Quando usar um teste t vs um teste de Mann-Whitney U?»

O teste t assume dados normalmente distribuídos (ou amostras grandes via TCL) e compara médias. Mann-Whitney U é uma alternativa não paramétrica que compara distribuições sem suposições de normalidade. Usar Mann-Whitney para amostras pequenas com dados claramente não normais ou ao comparar medições ordinais.

«Como lidar com comparações múltiplas em testes A/B?»

Testar múltiplas variantes infla o erro Tipo I. Com 20 comparações a α = 0.05, a probabilidade de pelo menos um falso positivo excede 60%. A correção de Bonferroni divide α pelo número de testes. O procedimento de Benjamini-Hochberg controla a taxa de descobertas falsas enquanto mantém mais poder que Bonferroni.

O Paradoxo de Simpson: Um Tema Favorito nas Entrevistas

O paradoxo de Simpson ocorre quando as tendências em dados agregados se revertem no nível dos subgrupos. Os recrutadores adoram esse tema porque ele testa o raciocínio causal, não apenas a mecânica estatística.

Um exemplo clássico: o Hospital A tem uma taxa de mortalidade geral mais alta que o Hospital B. Mas o Hospital A tem menor mortalidade tanto para casos leves quanto severos. O paradoxo surge porque o Hospital A trata mais casos severos, que têm maior mortalidade independentemente da qualidade do hospital.

python
# simpsons_paradox.py
import pandas as pd

# Hospital mortality data
data = {
    'Hospital': ['A', 'A', 'B', 'B'],
    'Severity': ['Mild', 'Severe', 'Mild', 'Severe'],
    'Patients': [200, 800, 800, 200],
    'Deaths': [10, 160, 48, 50]
}
df = pd.DataFrame(data)
df['Mortality'] = df['Deaths'] / df['Patients']

# Subgroup mortality
print(df[['Hospital', 'Severity', 'Mortality']])
# Hospital A: Mild 5%, Severe 20%
# Hospital B: Mild 6%, Severe 25%

# Aggregate mortality
agg = df.groupby('Hospital').agg({'Deaths': 'sum', 'Patients': 'sum'})
agg['Mortality'] = agg['Deaths'] / agg['Patients']
print(agg['Mortality'])
# Hospital A: 17%, Hospital B: 9.8%

A resolução requer identificar a variável de confusão (severidade) e analisar os subgrupos separadamente. A análise agregada é enganosa quando as proporções dos subgrupos diferem.

Conceitos Estatísticos para Feature Engineering

O conhecimento estatístico melhora diretamente o feature engineering. Compreender as distribuições guia as transformações; compreender os relacionamentos guia a criação de features.

A assimetria (skewness) mede a assimetria da distribuição. Dados assimétricos à direita (renda, preços) se beneficiam de transformações logarítmicas que normalizam a distribuição e melhoram o desempenho do modelo. Dados assimétricos à esquerda usam transformações quadráticas ou exponenciais.

A correlação quantifica relacionamentos lineares. A correlação de Pearson assume normalidade e linearidade. A correlação de Spearman lida com relacionamentos não lineares monotônicos. Features altamente correlacionadas causam multicolinearidade em modelos lineares, então geralmente uma é removida.

Os outliers afetam médias e desvios padrão de forma desproporcional. As estatísticas robustas (mediana, IQR) resistem à influência dos outliers. Decisão: remover, limitar ou transformar outliers dependendo se representam erros ou valores extremos genuínos.

Para mais informações sobre a aplicação desses conceitos a modelos de machine learning, consulte o guia de entrevista sobre feature engineering e explore o módulo de prática de estatística inferencial.

Comece a praticar!

Teste seus conhecimentos com nossos simuladores de entrevista e testes tecnicos.

O Que Distingue os Candidatos de Destaque em Perguntas de Estatística

A competência estatística em entrevistas de data science requer mais do que definições de livro-texto. Os candidatos de destaque demonstram essas habilidades:

  • Conectar estatística com resultados de negócio: formular resultados de testes A/B em termos de impacto na receita ou engajamento de usuários, não apenas em p-values
  • Conhecer as suposições: cada teste tem condições (independência, normalidade, variância igual) e os candidatos devem indicar quando essas condições podem falhar
  • Quantificar a incerteza: estimativas pontuais sem intervalos de confiança ou intervalos credíveis deixam os stakeholders adivinhando sobre a confiabilidade
  • Reconhecer os limites da causalidade: dados observacionais mostram correlação, e os candidatos devem articular qual design experimental estabeleceria causalidade
  • Escolher o teste certo: combinar o tipo de dados (contínuo vs categórico), tamanho da amostra e pergunta de pesquisa com o método estatístico apropriado
  • Comunicar resultados claramente: traduzir descobertas estatísticas em recomendações acionáveis que stakeholders não técnicos possam entender e agir
Desafio do dia

Você saberia encontrar o bug em Data Science & ML?

Um trecho real, um bug escondido, uma tentativa por dia. Sem conta para testar.

Anthony Fillion-Maillet

Escrito por

Anthony Fillion-Maillet

Fundador da SharpSkill

Desenvolvedor fullstack há mais de 10 anos. Dirige a SharpSkill e responde por tudo o que é publicado aqui.

Atualizado em 21 de agosto de 2026

Compartilhar

Artigos relacionados