ADRI Project

Miguel Moura

UNDERVOLTAGE ALARM VALIDATION
in Low Voltage Grids

Press F for fullscreen

Problem Statement

Undervoltage alarms should not be trusted automatically.

Smart meters report undervoltage alarms in low-voltage grids, but are all these recorded alarms valid?

01

Some alarms correspond to real voltage events in the measured signal.

02

But some may be 'dummy' and unsupported by the behavior of the voltage in the grid.

03

The goal is to validate the alarms through data analytics and grid analysis.

Project 1 Overview

Project 1 approaches alarm validation through temporal analysis.

The idea is to build a validation model based on the behaviour of the voltage on a time window around the event.

Data Generation and Synthetic Scenario

Synthetic, but coherent, operating conditions drive the full validation pipeline.

010203

Clean Voltage Profiles

Anomalous Voltage Profiles

Alarm Log

AlarmTimestampClientDurationType
A001Day 14, 17:45client_01245 minUNDERVOLTAGE
A002Day 14, 18:00client_01230 minUNDERVOLTAGE
A003Day 14, 18:15client_02715 minUNDERVOLTAGE

Program Logic, Inputs, and Outputs

Each alarm is transformed into a vector of temporal features, then validated by a simple interpretable model.

Alarm Log
Voltage Profile
Extract time window
Time Analysis
Extract validation metrics
Validation Model
Inputs
  • clients voltage profiles
  • alarm log
Outputs
  • true/false value for each alarm

Temporal Metrics Used

Threshold Margin

threshold_margin_min

Minimum distance to the alarm trigger threshold inside the temporal inspection window.

Threshold Margin

threshold_margin_mean

Mean threshold margin across the alarm-centered segment.

Threshold Occupancy

fraction_below_threshold

Fraction of samples that stay below threshold around the alarm.

Threshold Occupancy

event_energy_below_threshold

Integrated magnitude of the voltage deficit below the threshold.

Temporal Drop

pre_to_during_mean_drop

Average drop between the pre-alarm baseline and the alarm-centered window.

Residual Dynamics

ar1_residual_mean_during

Mean AR(1) residual during the event window.

Residual Dynamics

ar1_residual_max_abs_during

Maximum absolute AR(1) residual, highlighting unusual local structure.

Residual Dynamics

ar1_residual_std_during

Residual volatility during the alarm-centered window.

Simulation

Project 1 Simulator

Simulation Controls

Feature Selection

Results

Run a simulation to generate anomalous voltage profiles, alarm predictions, and feature-weight output.

Offline Benchmark

Experimental Results

Experimental benchmark sweep precomputed offline and independent from the previous simulation.

Scenarios Generated900

N = 900 scenarios · 900 total model runs

Factors fixed30 d / 20 c

0.500 real alarm ratio

Factors sweepedalarms, noise, random seed

24, 50, 100 alarms · 0.2, 0.5, 0.8 noise

0.905Average Accuracy
0.745Average F1Std. 0.291
0.796Precision (mean)
0.734Recall (mean)

Offline Benchmark

Performance Across the Sweep

The chart below shows all 900 offline runs, with one curve per alarm-count setting and optional noise-window filtering.

Accuracy Across the Sweep

All 900 experiments are shown.

Offline Benchmark

Project 1 Takeaways

Takeaway

Temporal analysis help solving the alarm validation problem.

Takeaway

The more alarms the better the model gets.

Takeaway

Works only with historical data...

Project 2 Statement

Project 2 aproaches the same problem through feeder state estimation.

The idea now is to estimate the state of the grid at the time of the event, and verify if the estimated state supports the claimed alarm.

Data Generated

6 Bus LV Radial Feeder

  • phase ID is known apriori
  • PMU on terminal bus 6
  • pseudo-meassurments for buses 1 to 5 loads
  • one alarm inserted randomly at a time

Program Logic

Estimate the feeder state around the suspicious client.

PMU Phasors
Pseudo Measurements
STATE ESTIMATION
Alarm Validation
Inputs
  • one random grid anomaly inserted by the backend
  • terminal-bus PMU phasors at bus 6
  • feeder topology and phase assignment
  • pseudo-measurements from the last four synthetic timestamps
Outputs
  • estimated feeder injection state
  • predicted alarmed-bus voltage
  • residual diagnostics
  • real or dummy decision

Simulation

Project 2 Interactive Snapshot

Run one random grid anomaly at a time on the 6-client lecture feeder and compare the returned alarm location against the reconstructed feeder response.

Threshold0.92 pu

Real and dummy alarms are judged against the same undervoltage limit.

Results

Project 2 Estimation Output

The snapshot output is shown separately so the simulation interaction and the estimation results read as two consecutive slides in the presentation.

Run the Project 2 snapshot on the previous slide to generate metered voltages, the estimated feeder state, and the predicted real or dummy alarm decision.

State Details

Project 2 State Reconstruction Tables

Run the Project 2 snapshot first to populate the terminal-bus metering table and the two state reconstruction tables.

Project 2 Statistics

Experimental Results

Experimental benchmark sweep precomputed offline and independent from the previous simulation.

Sweep Size

48 runs

Seeds 1 to 48, generated on 07/04/2026.

Scenario Mix

26 true / 22 dummy

Each run inserts one random anomaly in the grid and then validates the returned alarm location.

Core Validation Metrics

0.958Accuracy
0.929Precision
1.000True Recall
0.909False Recall
0.955Balanced Accuracy
0.963F1 Score

Project 2 Statistics

Residual Histogram

Alarm-Bus Breakdown

Alarm BusPhaseRunsTrueDummyAccuracyTrue RecallFalse Recall
1a2021.0000.0001.000
2b5231.0001.0001.000
3c10460.8001.0000.667
4a201641.0001.0001.000
5b11471.0001.0001.000

Phase Breakdown

PhaseRunsTrueDummyAccuracyTrue RecallFalse Recall
a221661.0001.0001.000
b166101.0001.0001.000
c10460.8001.0000.667

Project 2

Project 2 Takeaways

Takeaway

State estimation is a very promissing tool to solve the alarm validation problem.

Takeaway

SE let's us estimate the state in real time even with limited measurements.

Takeaway

What if we combine the temporal analysis from project 1 with the state estimation approach from project 2 to solve the problem?

Thank you.

made by: