Skip to content

Include NNV method for diagnosis#76

Open
tkanzai wants to merge 1 commit intopetrobras:mainfrom
tkanzai:feature/nnv-diagnostic
Open

Include NNV method for diagnosis#76
tkanzai wants to merge 1 commit intopetrobras:mainfrom
tkanzai:feature/nnv-diagnostic

Conversation

@tkanzai
Copy link
Copy Markdown

@tkanzai tkanzai commented Mar 27, 2026

Resumo

Este PR adiciona o método Nearest Normal Value (NNV) como opção de
diagnóstico de falhas na BibMon, complementando a decomposição parcial
já existente para contribuições ao SPE.

O que foi adicionado

  • bibmon/_nnv.py — novo módulo contendo:

    • compute_nnv_contributions: calcula as contribuições NNV via análise
      contrafactual — para cada variável, substitui seu valor pelo valor de
      referência (normal) e mede a variação resultante no SPE
    • run_nnv_analysis: análise batch com atualização adaptativa da
      referência por média móvel exponencial (alpha fixo), com detecção de
      drift via ADWIN para resetar a referência quando a distribuição do
      SPE muda
    • ADWIN: implementação pura em Python do detector de drift ADWIN
      (Bifet & Gavalda, 2007), sem dependências externas
  • bibmon/_generic_model.py:

    • compute_SPE_contributions agora aceita method='nnv' além do
      method='classic' já existente
    • novo método nnv_analysis() em GenericModel para diagnóstico
      com atualização adaptativa da referência
    • novo método plot_NNV_contributions() para visualização em heatmap
  • bibmon/__init__.py: compute_nnv_contributions e run_nnv_analysis
    exportados para o namespace da biblioteca

Referências

  • Alcala, C. F., & Qin, S. J. (2010). Reconstruction-based contribution
    for process monitoring with kernel principal component analysis.
    Industrial & Engineering Chemistry Research, 49(17), 7849–7857.
  • Bifet, A., & Gavalda, R. (2007). Learning from time-changing data with
    adaptive windowing. Proceedings of the 2007 SIAM International
    Conference on Data Mining
    .
  • Anzai, T. K., Pinto, J. C. C. S. (2026). Distinguishing process faults from model drift through variable
    contribution analysis: a novel perspective on anomaly diagnosis.
    Processes, 14(5), 859. https://doi.org/10.3390/pr14050859.

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