---
title: "Detectorul care se declanșează pe nimic"
description: "Un declanșator de evenimente pus la 2,5 sigma a produs 166 de evenimente pe un dispozitiv nemișcat și 151 în timp ce chiar se întâmpla ceva. Reparația cere trei condiții, nu una."
date: 2026-08-18
lang: ro
canonical: https://goingstellar.ro/ro/cercetare/detectorul-care-se-declanseaza-pe-nimic/
author: Going Stellar
publisher: GOING STELLAR S.R.L.
topic: Inginerie de detecție
license: CC BY 4.0
alternate_en: https://goingstellar.ro/research/detector-that-fires-on-nothing/
---

# Detectorul care se declanșează pe nimic

*Un declanșator de evenimente pus la 2,5 sigma a produs 166 de evenimente pe un dispozitiv nemișcat și 151 în timp ce chiar se întâmpla ceva. Reparația cere trei condiții, nu una.*

> Inginerie de detecție · 2026-08-18 · https://goingstellar.ro/ro/cercetare/detectorul-care-se-declanseaza-pe-nimic/

## Pe scurt

- Scorul z e invariant la scară, așa că un dispozitiv în repaus produce abateri care par neobișnuite raportat la propriul zgomot minuscul.
- Un detector de evenimente are nevoie de un prag fizic minim, în unitățile măsurătorii, pe lângă pragul statistic, iar ambele condiții trebuie cerute pe același canal.
- Pragul de detecție se deduce dintr-un buget de alarme false și din rata de eșantionare, nu se ghicește.
- Cerința ca mai multe eșantioane consecutive să îndeplinească condiția protejează de cozile grele create de împărțirea la o împrăștiere estimată.
- Un test instabil pe un detector este detectorul care îți spune că pragul e arbitrar.

## Ce am măsurat

Am construit un declanșator de evenimente pe un scor z, cu pragul la 2,5 sigma. Pe un dispozitiv simulat, nemișcat și neatins, a produs 166 de evenimente în cinci minute. Când chiar se întâmpla ceva, a produs 151. Repausul a scos mai multe evenimente decât mișcarea reală.

Cauza nu e o problemă de reglaj. Scorul z e **invariant la scară**. Împarte reziduul la împrăștierea pe care tocmai a măsurat-o. Un dispozitiv în repaus are abateri minuscule, dar ele rămân 2,5 sigma raportat la ele însele. Senzorul vorbea singur.

Tiparul depășește un singur senzor: apare oriunde o alertă e definită drept „neobișnuit față de istoricul recent”. Neobișnuit nu înseamnă *mare*, iar un detector care știe doar prima parte va raporta liniștit a doua când nu e nimic acolo. Mai jos sunt cele trei defecte pe care le-am găsit, toate reale și toate prezente în același timp.

## Un prag absolut, în unitățile măsurătorii

Primul defect e că pragul statistic era singurul prag. Scorul z răspunde la întrebarea cât de neobișnuită e o citire față de zgomotul recent. Nu răspunde dacă citirea e *mare*. Un detector de „s-a întâmplat ceva” are nevoie de ambele răspunsuri, iar al doilea trebuie exprimat în unități fizice.

Așadar, pune statistica alături de un prag fizic minim: reziduul trebuie să depășească și o magnitudine reală, mult peste pasul de cuantizare al hardware-ului. Sub acel pas nu mai măsori lumea, ci granularitatea conversiei — iar statistica acelei granularități trece fără efort peste orice prag invariant la scară.

Partea subtilă e unde se evaluează cele două condiții. **Amândouă trebuie cerute pe ACELAȘI canal.** Dacă un canal dă statistica și alt canal dă magnitudinea, două non-evenimente se combină într-un eveniment. Se scrie ușor din greșeală și anulează pragul minim fără să pară că o face.

## Un prag dedus dintr-un buget de alarme false

Al doilea defect e că 2,5 a fost ghicit. Pare sever. Nu e, odată ce numeri câte ocazii primește zgomotul. La 100 de eșantioane pe secundă, treizeci de minute înseamnă 180.000 de ocazii. Un scor z peste 2,5 apare în aproximativ 1,2% din cazuri, adică vreo 2.200 de treceri în fereastra aceea în care nu se întâmplă nimic.

E o problemă de comparații multiple și are un răspuns aritmetic. Decizi cât de des accepți să greșești, apoi rezolvi pragul: **erfc(z / sqrt(2)) = buget / (rată × 3600)**. La o alarmă falsă la fiecare zece ore, iese 5,14 sigma, nu 2,5.

Uită-te la ce conține formula. Pragul cerut depinde de rata de eșantionare. O probabilitate pe eșantion nu e o probabilitate pe oră, iar experiența utilizatorului se măsoară în ore.

## Persistență, fiindcă și împrăștierea e estimată

Al treilea defect supraviețuiește primelor două. Împrăștierea de la numitor e ea însăși estimată, pe o fereastră glisantă, deci fluctuează. Un reziduu împărțit la o estimare care fluctuează are cozi mai grele decât distribuția normală, ceea ce sparge bugetul nominal chiar după ce ai dedus corect pragul din el.

Poți modela cozile. Reparația mai ieftină, și cea care nu depinde de cât de bine nimerești modelul, e **persistența**: ceri mai multe eșantioane consecutive care îndeplinesc condiția înainte să emiți un eveniment. Are motivație fizică, nu contabilitate statistică. Un obiect real menține abaterea sute de milisecunde, adică zeci de eșantioane. La un vârf de zgomot, abaterea durează un singur eșantion.

Împreună, cele trei condiții — prag fizic minim, prag dedus, persistență — sunt ceea ce înseamnă în cod „s-a întâmplat ceva”.

## Unde ne-am înșelat: testul „instabil”

Am greșit testul înainte să reparăm detectorul. Prima versiune trecea și pica alternativ în aceeași rulare, fiindcă folosea prea puține seed-uri.

**Un test instabil pe un detector nu e un test instabil.** E detectorul care îți spune că pragul e arbitrar: rezultatul depindea de realizarea zgomotului pe care a nimerit-o rularea.

Corecția a fost să folosim mai multe seed-uri. Cu destule, 166 de evenimente în repaus față de 151 în activitate reală n-a mai fost o surpriză, ci consecința așteptată a împărțirii la o împrăștiere care se micșorează odată cu semnalul.

## Cum verifici același lucru la tine

Verifici EFECTUL, nu codul. Funcția de analiză era aritmetic corectă tot timpul; greșit era ce făcea. Așadar, verificarea e comportamentală: rulezi o perioadă lungă de repaus simulat și numeri evenimentele emise. Un număr care depășește perioada activă e exact bug-ul pe care l-am avut.

Variezi nivelul de zgomot și sămânța generatorului (seed-ul), cu mai multe valori pentru fiecare. Un număr de evenimente în repaus care se schimbă cu seed-ul îți spune că pragul e arbitrar.

Apoi testezi separat cele trei condiții. Confirmi că pragul minim stă peste pasul de cuantizare, în unitățile senzorului. Recalculezi pragul din rata ta și din bugetul tău de alarme false, în loc să-l moștenești. Și dai un caz în care statistica vine de pe un canal și magnitudinea de pe altul: dacă detectorul se declanșează acolo, cele două condiții nu sunt pe același canal.

## Limitări

Exemplul lucrat e un singur senzor, la o singură rată de eșantionare. Aritmetica bugetului de alarme false e generală; pragurile concrete nu sunt. 5,14 sigma e răspunsul pentru un buget și o rată, nu o constantă de copiat.

Repausul a fost simulat. Un repaus simulat e un model de repaus, nu hardware real în repaus.

Persistența presupune că evenimentul care te interesează durează mai mult decât zgomotul. Aici s-a verificat, fiindcă un obiect real menține citirea deviată sute de milisecunde, față de un singur eșantion al unui vârf. Unde nu e valabil — evenimente scurte, sau eșantionare prea lentă ca să le vadă — reparația asta nu se aplică și trebuie modelate cozile.

## Întrebări și răspunsuri

### De ce se declanșează un detector pe scor z când nu se întâmplă nimic?

Un detector pe scor z se declanșează când nu se întâmplă nimic pentru că scorul z e invariant la scară: împarte reziduul la împrăștierea pe care tocmai a măsurat-o. Un dispozitiv în repaus are abateri minuscule, dar ele par tot neobișnuite raportat la propriul zgomot. Neobișnuit nu înseamnă mare, deci un detector care măsoară doar neobișnuitul raportează evenimente acolo unde nu e nimic.

### Cum aleg pragul unui scor z pentru alerte?

Pragul unui scor z pentru alerte se alege decizând cât de des accepți să greșești și rezolvând pragul, nu ghicindu-l. Relația este erfc(z / sqrt(2)) = buget / (rată × 3600). Pragul cerut depinde de rata de eșantionare, pentru că o probabilitate pe eșantion nu e o probabilitate pe oră, iar experiența utilizatorului unui detector se măsoară în ore.

### De ce e prea mic un prag de 2,5 sigma pentru un senzor cu rată mare?

Un prag de 2,5 sigma e prea mic pentru un senzor cu rată mare fiindcă zgomotul primește foarte multe ocazii să-l treacă. La 100 de eșantioane pe secundă, treizeci de minute înseamnă 180.000 de ocazii, iar un scor z peste 2,5 apare în aproximativ 1,2% din cazuri. Asta dă vreo 2.200 de treceri într-o fereastră în care nu se întâmplă nimic.

### Ce este pragul fizic minim într-un detector de evenimente?

Pragul fizic minim într-un detector de evenimente este o magnitudine, în unitățile reale ale măsurătorii, pe care reziduul trebuie s-o depășească pe lângă pragul statistic. Pragul fizic trebuie pus mult peste pasul de cuantizare al hardware-ului, pentru că sub acel pas detectorul măsoară granularitatea conversiei, nu lumea. Pragul fizic și statistica se evaluează pe același canal.

### De ce are nevoie un detector de evenimente de persistență?

Un detector de evenimente are nevoie de persistență pentru că împrăștierea de la numitorul scorului z e estimată pe o fereastră glisantă și fluctuează, ceea ce dă cozi mai grele decât distribuția normală. Cerința ca mai multe eșantioane consecutive să îndeplinească condiția e o reparație ieftină, care nu depinde de modelarea cozilor. Un obiect real menține abaterea zeci de eșantioane, un vârf de zgomot doar unul.

### Cum testez dacă un detector de evenimente are prea multe alarme false?

Un detector de evenimente se testează rulând o perioadă lungă de repaus simulat și numărând evenimentele emise. Dacă numărul din repaus depășește perioada activă, ai exact acest bug. Variezi nivelul de zgomot și seed-ul; un număr din repaus care se schimbă cu seed-ul arată că pragul e arbitrar. Apoi testezi separat pragul fizic, pragul dedus și evaluarea pe același canal.

## Cum se citează

**Citare:** Going Stellar (2026). *Detectorul care se declanșează pe nimic*. GOING STELLAR S.R.L.. https://goingstellar.ro/ro/cercetare/detectorul-care-se-declanseaza-pe-nimic/

```bibtex
@misc{goingstellar2026detector,
  title  = {Detectorul care se declanșează pe nimic},
  author = {{Going Stellar}},
  year   = {2026},
  url    = {https://goingstellar.ro/ro/cercetare/detectorul-care-se-declanseaza-pe-nimic/},
  note   = {2026-08-18}
}
```

Licență. Se poate cita liber, cu atribuire.

## Mai există și

- Pagina în HTML: https://goingstellar.ro/ro/cercetare/detectorul-care-se-declanseaza-pe-nimic/
- Același articol în engleză: https://goingstellar.ro/research/detector-that-fires-on-nothing/
