Papers › Are we certain it's anomalous?

Are we certain it's anomalous?

16 Nov 2022arXiv:2211.09224archive 2025-07-28

Alessandro Flaborea, Bardh Prenkaj, Bharti Munjal, Marco Aurelio Sterpa, Dario Aragona, Luca Podo, Fabio Galasso

The progress in modelling time series and, more generally, sequences of structured data has recently revamped research in anomaly detection. The task stands for identifying abnormal behaviors in financial series, IT systems, aerospace measurements, and the medical domain, where anomaly detection may aid in isolating cases of depression and attend the elderly. Anomaly detection in time series is a complex task since anomalies are rare due to highly non-linear temporal correlations and since the definition of anomalous is sometimes subjective. Here we propose the novel use of Hyperbolic uncertainty for Anomaly Detection (HypAD). HypAD learns self-supervisedly to reconstruct the input signal. We adopt best practices from the state-of-the-art to encode the sequence by an LSTM, jointly learned with a decoder to reconstruct the signal, with the aid of GAN critics. Uncertainty is estimated end-to-end by means of a hyperbolic neural network. By using uncertainty, HypAD may assess whether it is certain about the input signal but it fails to reconstruct it because this is anomalous; or whether the reconstruction error does not necessarily imply anomaly, as the model is uncertain, e.g. a complex but regular input signal. The novel key idea is that a detectable anomaly is one where the model is certain but it predicts wrongly. HypAD outperforms the current state-of-the-art for univariate anomaly detection on established benchmarks based on data from NASA, Yahoo, Numenta, Amazon, and Twitter. It also yields state-of-the-art performance on a multivariate dataset of anomaly activities in elderly home residences, and it outperforms the baseline on SWaT. Overall, HypAD yields the lowest false alarms at the best performance rate, thanks to successfully identifying detectable anomalies.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2211.09224")

Code

Syntology Ran 0 of 24 code samples harvested from 1 repository linked to this paper; 24 have no recorded run.

By repository: official repository: 24 samples from 1 repository, 0 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

aleflabo/HypAD officialmentioned on GitHubpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

24 samples harvested; 0 ran; 0 honoured the contract we drafted; 24 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

24unverified

Licence: 0 of the 24 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from aleflabo/HypAD. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

arsinh aleflabo/HypAD/math_.py official repository unverified MIT (permissive) · edde7ea27b3af6d7 · report
artanh aleflabo/HypAD/math_.py official repository unverified MIT (permissive) · 00f30c4d850a7768 · report
calc_accuracy aleflabo/HypAD/hyperspace/utils.py official repository unverified MIT (permissive) · d09bfd0a1223d58a · report
calc_accuracy_binary aleflabo/HypAD/hyperspace/utils.py official repository unverified MIT (permissive) · 8e8878e3cc683e8d · report
calc_topk_accuracy aleflabo/HypAD/hyperspace/utils.py official repository unverified MIT (permissive) · fa47a4519d4ef5c1 · report
casas_anomalies aleflabo/HypAD/utils/anomaly_detection_utils.py official repository unverified MIT (permissive) · 1acd35953c608551 · report
compute_critic_scores aleflabo/HypAD/utils/anomaly_detection_utils.py official repository unverified MIT (permissive) · 289f57bf7e900dab · report
compute_supervised_loss aleflabo/HypAD/hyperspace/losses.py official repository unverified MIT (permissive) · 3b4149036dae58ef · report
convert_date aleflabo/HypAD/utils/utils.py official repository unverified MIT (permissive) · e6ee59bdde3e7f5d · report
convert_date_single aleflabo/HypAD/utils/anomaly_detection_utils.py official repository unverified MIT (permissive) · 6c0b8fb7e97280e9 · report
download aleflabo/HypAD/utils/data.py official repository unverified MIT (permissive) · 8cd82307c19e9ebc · report
load_csv aleflabo/HypAD/utils/data.py official repository unverified MIT (permissive) · 7996920fef9af9d0 · report
load_signal aleflabo/HypAD/utils/data.py official repository unverified MIT (permissive) · 068dd3957754e24a · report
mobius_linear aleflabo/HypAD/hyperspace/hyrnn_nets.py official repository unverified MIT (permissive) · a4ee074610449d21 · report
mobius_matvec aleflabo/HypAD/hyperspace/hyrnn_nets.py official repository unverified MIT (permissive) · 9dffae8f52f9f0a0 · report
one_rnn_transform aleflabo/HypAD/hyperspace/hyrnn_nets.py official repository unverified MIT (permissive) · 9f339b3c440a606a · report
pairwise_distances aleflabo/HypAD/hyperspace/poincare_distance.py official repository unverified MIT (permissive) · cd051a881427eb3f · report
poincare_distance aleflabo/HypAD/hyperspace/poincare_distance.py official repository unverified MIT (permissive) · 5c19852209e2c5fe · report
save_known_anomalies aleflabo/HypAD/utils/dataloader.py official repository unverified MIT (permissive) · 00241d35d68123e3 · report
square_norm aleflabo/HypAD/hyperspace/poincare_distance.py official repository unverified MIT (permissive) · 3f7e8409c9f2f2ba · report
tanh aleflabo/HypAD/math_.py official repository unverified MIT (permissive) · c33c4cbe2f422504 · report
unroll_signal aleflabo/HypAD/models/tadgan.py official repository unverified MIT (permissive) · f8165a0a30ee6414 · report
unroll_ts aleflabo/HypAD/utils/utils.py official repository unverified MIT (permissive) · 7c00efad4a3148c1 · report
yahoo_preprocess aleflabo/HypAD/utils/dataloader.py official repository unverified MIT (permissive) · 3e220c20c168a267 · report

Tasks

Anomaly DetectionTime SeriesTime Series Analysis

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

LSTMSigmoid ActivationTanh Activation

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections