Skip to content

feat: Etapa 3 — avaliar alarmes SMA10 com matriz de confusão condicionada a rótulos válidos - #12

Merged
dreyvinixz merged 5 commits into
mainfrom
feat/stage3-verified-confusion
Oct 30, 2026
Merged

dreyvinixz merged 5 commits into
mainfrom
feat/stage3-verified-confusion

Conversation

@dreyvinixz

Copy link
Copy Markdown
Owner

Etapa 3 — Implementação da avaliação

Esta entrega executa o SMA(10)/MAD da Parte B novamente sobre as 6.424 janelas reais e cruza alarmes com o registro auditável de intervalos da Etapa 2, sem presumir que minutos não rotulados são benignos.

Implementado

  • Verificação estrita de timestamps UTC, PPS, source_day, warmup, rótulos e status verificados.
  • Tabela 3×2 de cobertura de rótulos (verified_attack, verified_benign, unknown × alarme/não alarme), que não é apresentada como matriz 2×2.
  • Matriz de confusão TP/FP/FN/TN e precisão, recall, especificidade, acurácia e F1 somente quando 100% das janelas pontuadas têm classes reais verificadas. Qualquer subconjunto conhecido é identificado como amostra parcial, sem métricas globais.
  • Auditoria separada de proximidade temporal aos 43 inícios oficiais em ±0/1/5/10 min, por captura. Essas coincidências não são verdadeiros positivos comprovados.
  • evaluation.json, alarm_label_coverage.csv, official_onset_alert_audit.csv, onset_proximity_summary.csv, relatório README.md gerado com números da execução e confusion_matrix.csv condicionado à cobertura real.
  • Comando darpa-anomaly evaluate-confusion-week2, documentação, testes e workflow GitHub Actions.

Executar

python -m pip install -e .
darpa-anomaly evaluate-confusion-week2
python -m unittest discover -s tests -v

Ressalva científica fundamental

O registro data/ground_truth/week2_intervals_review.csv está vazio. Portanto ainda não existem rótulos binários suficientes para relatar valores reais de TP, FP, FN e TN: o programa reportará confusion_matrix: null, distinguindo alarmes sem rótulo de falsos positivos. O MIT confirma os inícios da semana de treinamento, não durações completas na lista pública detections_1999.html. A metodologia e os passos para obter rótulos verificáveis estão em docs/ETAPA_3_CONFUSION.md.

Não modificar os dados da Parte A nem os resultados históricos dos detectores existentes.

@dreyvinixz
dreyvinixz merged commit 4ab8acc into main Oct 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant