Skip to content

Statistical Model

Tiago Silvestrini edited this page Oct 7, 2026 · 2 revisions

Modelo estatístico

Contagens

Para cada fonte ou bin $i$:

$$ N_i\sim\operatorname{Poisson}(\mu_i) $$

com

$$ \mu_i=b_i+A,s_i,\eta_{\mathrm{eff}}\exp(-\kappa\eta_p C_{p,i}). $$

Parâmetro Descrição
$N_i$ contagem observada
$b_i$ fundo previsto
$s_i$ sinal previsto
$A$ normalização global
$\kappa$ coeficiente de atenuação
$\eta_{\mathrm{eff}}$ nuisance de eficiência
$\eta_p$ nuisance da escala de plasma

Restrições sistemáticas

Os parâmetros nuisance podem receber penalizações gaussianas:

$$ -2\ln L_{\mathrm{sist}}= \left(\frac{\eta_{\mathrm{eff}}-1}{\sigma_{\mathrm{eff}}}\right)^2+ \left(\frac{\eta_p-1}{\sigma_p}\right)^2. $$

Razão de verossimilhanças

$$ TS=2\left[\ln L(\widehat{\kappa},\widehat{\theta})-\ln L(\kappa=0,\widehat{\widehat{\theta}})\right]. $$

Como $\kappa\ge0$ está na fronteira, a calibração assintótica deve considerar a mistura de Chernoff; simulações Monte Carlo são preferíveis em amostras pequenas.

Critérios usuais

  • $3\sigma$: evidência indicativa;
  • $5\sigma$: limiar convencional de descoberta;
  • sempre reportar intervalo de confiança ou limite superior.

Validação formal de calibrate_null() (2026-10-07)

calibrate_null() deixou de ser só um utilitário de apoio e passou por validação estatística formal (real_data_pipeline/scripts/validate_calibrate_null.py), com 6 critérios:

Validation of calibrate_null()

- Uniformity test: PASS   (KS p=1.000)
- FPR test: PASS          (FPR=0.0495, esperado 0.05±0.0049)
- Coverage test: PASS     (11 valores de κ, mínimo 0.90; ver [[Results]])
- Convergence test: PASS  (p empírico estável com Nsim crescente)
- Seed stability test: PASS
- Independent MC cross-check: PASS (KS p=0.459)

P-P plot mostrando os quantis empíricos do p-value perfeitamente alinhados com a diagonal uniforme

Uniformidade do p-value sob H0 (n=2000, leave-one-out): os quantis empíricos caem exatamente sobre a diagonal uniforme — sem viés sistemático na calibração nula.

Gráfico log-log da convergência do p-value empírico conforme Nsim aumenta de 100 para 3000

Convergência com Nsim: o p-value empírico cai de forma consistente com $1/(N_{\rm sim}+1)$ conforme o número de pseudo-experimentos aumenta — comportamento esperado quando o verdadeiro p-value está abaixo da resolução empírica disponível.

Relatório completo (JSON) em real_data_pipeline/results/validation_calibrate_null.json. Dois bugs foram encontrados e corrigidos no script de validação (não no calibrate_null()): tolerância de cobertura precisava ser unilateral (sobrecobertura não é defeito), e o cross-check de MC independente usava $\mu=b$ em vez de expected_under_null() (comparava duas hipóteses nulas diferentes).

Clone this wiki locally