TRV-2026-2084Certified recordPeer-reviewed

Data-driven machine learning approach for water quality anomaly detection and NPS-FM non-compliance risk prediction: A study with five New Zealand rivers

The National Policy Statement for Freshwater Management (NPS-FM) 2020 sets national water quality objectives for New Zealand's freshwater, but compliance is mostly assessed after the fact, and tools for anticipating which sites may be at greatest risk of future non-compliance remain limited. This study presents a machine learning pipeline that detects abnormal water quality events and quantifies NPS-FM non-compliance risk, applied to five South Island rivers of New Zealand spanning four land cover types. Anomaly…

Policy · Good Space — documented gain · certified 2026-10-21 · v1 · article view · machine-readable

Current reading — gain

A machine learning pipeline gave interpretable risk scores that separated one-off pollution events from persistent contamination and ranked five rivers by likelihood of failing national freshwater limits.

What this doesn’t fix

Temporal hold-out validation passed at only four of five sites, and the study covers just five South Island rivers, which limits how far the results generalise.

Evidence

Reader signal

How should this claim be treated?

Cite this record

Truvace Impact Record TRV-2026-2084, v1: “Data-driven machine learning approach for water quality anomaly detection and NPS-FM non-compliance risk prediction: A study with five New Zealand rivers.” Truvace, 2026-10-21. /record/TRV-2026-2084 (accessed at citation time). sha256 5f32096a5ca269a1…

Calibration history

Every change to this record since certification, in the open. None yet — the reading has held since it entered the record.

  1. Certifiedv15f32096a5ca2…

    Certified into the record

Verify this record
How to verify without trusting this page

Fetch the canonical text of any version from /api/record/TRV-2026-2084 and hash it yourself — for example shasum -a 256 on the saved canonical field. The result must equal content_hash, and each version’s text ends with prev:followed by the prior version’s hash (version 1 chains to 64 zeros). If a single character of any version had been altered since certification, the chain would not reproduce.