Eenheid 6 / 10

Milieugegevens en monitoringanalyse

Winst:

  • Mogelijkheid om concepten voor tijdreeksen, drempeloverschrijdingen en sensorkwaliteitscontrole (QA/QC) toe te passen
  • Mogelijkheid om afwijkingen te scannen, trends samen te vatten en een strategie voor ontbrekende gegevens te creëren met AI
  • Mogelijkheid om overschrijdingen en afwijkingen die door AI worden opgemerkt te verifiëren met onbewerkte gegevens en kalibratie

Je bent ploegingenieur op de afvalwaterzuiveringsinstallatie van een georganiseerde industriële zone. Een continu meetstation bij de uitlaat registreert elke 15 minuten opgeloste zuurstof (DO), pH, geleidbaarheid en chemisch zuurstofverbruik (CZV). Om 03:40 uur in de ochtend springt de CZV-waarde op het SCADA-scherm naar 1.240 mg/L en slaat het systeem alarm. Lozingslimiet 250 mg/L. De vraag die u moet stellen voordat u in paniek raakt, is: is dit een echt vervuilingsincident of is het een sensoropname? In dit onderdeel leert u hoe u een taalmodel (LLM) kunt gebruiken als 'assistent voor eerste lezing' voor het scannen van tijdreeksgegevens, het markeren van afwijkingen en het genereren van trendsamenvattingen; Maar we bespreken waarom hij de uiteindelijke beslissing nooit aan haar zal overlaten.

Anatomie van continue monitoringgegevens

Milieumonitoringgegevens zijn tijdreeksen die met regelmatige tijdsintervallen worden verzameld. Elk meetpunt heeft een tijdstempel, een waarde en idealiter een kwaliteitsvlag. Om ruwe data betekenis te geven, moet je drie concepten onderscheiden:

  • Trend: langetermijntrend (bijvoorbeeld seizoensgebonden toename van de geleidbaarheid).
  • Seizoensgebondenheid/cyclus: Patronen die zich gedurende de dag of het jaar herhalen (bijvoorbeeld verhoging van DO door fotosynthese overdag).
  • Anomalie: enkelvoudige of kortetermijnwaarden die statistisch afwijken van het verwachte patroon.

Parameter

Typisch monitoringbereik

Monsterlimiet (afvoer)

Veelvoorkomend sensorprobleem

pH

1-5 minuten

6-9 (eenheidloos)

Referentie-elektrodeverschuiving

Opgeloste zuurstof (DO)

5-15 minuten

≥ 5 mg/L (ontvangend medium)

Membraanvervuiling (biofouling)

geleidbaarheid

5-15 minuten

Klasse-afhankelijk, µS/cm

Kalibratieafwijking

CZV (continue analysator)

15-60 minuten

250 mg/l

Uitputting van het reagens, verstopping

PM10 (lucht)

1 uur

50 µg/m³ (24 uur)

Vochtigheid/condensatie-effect

Waarom zijn QA/QC-vlaggen van cruciaal belang?

QA/QC (kwaliteitsborging/kwaliteitscontrole) gaat over het plakken van een vertrouwenslabel aan elke meting. Zelfs als een waarde statistisch gezien een "overschrijding" lijkt te zijn, is deze ongeldig als deze buiten het kalibratievenster is genomen of als er onderhoud aan de sensor plaatsvindt. Gemeenschappelijke vlagcodes:

Vlag Betekenis----- ----------------------------G Goed — geldige, geaccepteerde metingS Verdacht — twijfelachtig, verificatie vereistM Ontbrekend — ontbrekend/leeg recordC Kalibratie — kalibratie-/onderhoudsvenster, gegevens ongeldigE Geschat — toegerekende geschatte waarde

Tip: Open altijd de kalibratie- en onderhoudslogboeken voordat u een overschrijdingsanalyse start. Als de CZV-sprong om 03:40 uur samenvalt met automatische nachtelijke kalibratie of reagenswisseling, zijn dit een "C"-vlaggegevens; Het is geen onderwerp om alarm te slaan, maar om gegevens op te schonen.

Afwijkingen scannen en trendsamenvatting met AI

U kunt LLM gebruiken om snel tabelgegevens te bekijken, patronen te markeren die het menselijk oog mogelijk over het hoofd ziet, en initiële hypothesen op te lossen. Het kritische punt: het model de ruwe gegevens, eenheden en limieten bij elkaar geven en er verifieerbare observaties uit vragen.

ZWAKKE PROMPT: "Is er een probleem met deze waterkwaliteitsgegevens?" STERKE VRAAG: "Hieronder vindt u 15 minuten aan monitoringgegevens van een lozingspunt voor afvalwater (kolommen: tijd, CZV [mg/L], geleidbaarheid [μS/cm], pH, QA-vlag). De limiet voor het lozen van CZV is 250 mg/L, pH-bereik 6-9. Uw taak: 1) Lijst van tijdstempels met limietoverschrijdingen. 2) Evalueer alleen lijnen met 'G'-vlaggen (goed); scheid die met C/M/S-vlaggen in een aparte 'verificatie vereist'-lijst. 3) Geef voor elke overschrijding aan of het een enkele sprong is (enkele lijn) of een continue stijging (>= 3 opeenvolgende lijnen). 4) Noteer of de geleidbaarheid en de pH tegelijkertijd veranderen (gelijktijdige verandering is bewijs in het voordeel van de feitelijke gebeurtenis).

De krachtige prompt bindt het model aan een concrete procedure, ontleedt de vlaggen en bevat een expliciete 'als je het niet zeker weet, zeg het dan niet'-instructie om hallucinaties te beperken (verzonnen interpretatie).

Let op: LLM kan fouten maken bij numerieke drempelvergelijkingen; Kan 248 mg/l verkeerd labelen als ‘overschrijding’ of 252 mg/l als ‘binnen de limiet’. Controleer ELKE overschrijding opnieuw die in de modellijsten staat, hetzij visueel vanuit de onbewerkte tabel, hetzij met een formule (bijvoorbeeld waarde > 250). Het model scant; Jij bepaalt de limiet.

Ontbrekende datastrategie (imputatie)

Sensoren raken verstopt, de stroom valt uit, de communicatie valt weg. De manier waarop u ontbrekende gegevens invult, heeft rechtstreeks invloed op uw trend- en overschrijdingsanalyse. Valse toerekening kan een overschrijding 'creëren' die niet bestaat, of een echte overschrijding verbergen.

importeer panda's als pdimporteer numpy als np# 15 minuten COD-serie; -999 apparaatcode "geen gegevens" "flag": ["G", "G", "M", "M", "G", "S", "G", "G"],})# 1) Converteer apparaatcodes naar daadwerkelijk ontbrekende waardendf.loc[df["koi"] == -999, "koi"] = np.nan# 2) Lineaire interpolatie voor KORTE opening (<= 2 stappen); flag imputationgap = df["koi"].isna()df["koi_full"] = df["koi"].interpolate(limit=2)df.loc[gap & df["koi_full"].notna(), "flag"] = "E" # Estimated# 3) Scannen van grensoverschrijdingen — Toewijzingen voor beslissingen over ALLEEN gemeten (G)-waarden = df[(df["koi_full"] > 250) & (df["vlag"] == "G")]print(asyms[["ts", "koi_full", "vlag"]])

Bij deze benadering worden korte gaten opgevuld, maar worden de gevulde waarden gemarkeerd met E en wordt de overschrijdingsbeslissing alleen genomen op basis van de daadwerkelijke meting (G). Omdat de waarde van 1240 mg/L als S (verdacht) is gemarkeerd, wordt deze niet opgenomen in de automatische overschrijdingslijst; wordt eerst geverifieerd.

Verificatie door sensordrift en kalibratie

De gouden standaard om te bepalen of een overshoot reëel is of dat er sprake is van sensordrift, is het laboratoriumresultaat van een gelijktijdig genomen monster. Als de continue analysator bijvoorbeeld om 03:40 uur 1240 mg/l aangeeft en de laboratoriumwaarde van het op dat moment genomen monster 205 mg/l is, zit het probleem in de sensor; niet ontladen. Dit is triangulatie van de AI-output of SCADA-alarm met het veld en het laboratorium.

mini-hoesje

De troebelheidssensor in een drinkwaterbassin vertoonde al drie dagen een geleidelijk stijgende trend. Het ploegenteam gaf wekelijkse gegevens aan LLM; "Een echte toename van de troebelheid als gevolg van afvoer na regenval is mogelijk", aldus het model. Toen de ingenieur echter naar de meteorologische gegevens keek, zag hij dat er die week geen regen in de regio was. Tijdens de veldinspectie werd duidelijk dat zich biofouling had gevormd op het optische sensorvenster; Na reiniging en kalibratie keerden de waarden terug naar normaal. LLM's interpretatie van de "mogelijke feitelijke gebeurtenis" werd weerlegd door externe gegevens (registratie van regenval) en veldcontroles. Les: Het model kan een plausibel maar vals verhaal opleveren; de verificatieketen vangt het op.

Veel voorkomende fouten

  • Het verwarren van de gegevens in het kalibratie-/onderhoudsvenster (vlag C) voor een werkelijke overschrijding.
  • Ontbrekende gegevens geruisloos invullen en toegerekende waarden rapporteren als echte metingen.
  • Een enkelvoudig stuiteren (enkele lijn, mogelijk elektrische ruis) verwarren met een aanhoudende gebeurtenis.
  • Blindelings vertrouwend op de breekpuntvergelijkingen van LLM (248 versus 250).
  • Beslissingen nemen op basis van een enkele parameter zonder gelijktijdige parameters te kruisen (pH + geleidbaarheid + CZV).
  • Het alarm "echt" verklaren zonder sensordrift uit te sluiten met monstername/laboratoriumbevestiging.
  • Het negeren van lokale tijd/UTC- en zomertijdverschuivingen en het toeschrijven van gebeurtenissen aan de verkeerde tijd.

Samengevat

  • Gegevens over milieumonitoring zijn een tijdreeks; Het kan niet worden geïnterpreteerd zonder onderscheid te maken tussen trend, seizoensinvloeden en anomalie.
  • QA/QC-vlaggen zijn de vertrouwenstag van de gegevens; beslissingen worden alleen genomen op basis van geldige (G) gegevens.
  • LLM is een snelle eerste leesassistent voor het scannen van afwijkingen, het opsommen van overschrijdingen en het samenvatten van trends, en is geen beslisser.
  • De ontbrekende datastrategie (imputatie) moet transparant zijn; De ingevulde waarden worden gemarkeerd en vormen geen basis voor de overschrijdingsbeslissing.
  • Sensordrift, biofouling en kalibratiedrift veroorzaken “valse overshoot”; maakt onderscheid tussen monstername en laboratoriumbevestiging.
  • AI-output is een hypothese; Ruwe gegevens komen niet in het officiële rapport terecht zonder verificatie door kalibratierecord en veldcontrole.

Applicatie taak

Neem een monitoringdataset van 24 uur en 15 minuten die u heeft (of synthetisch gegenereerd) (minstens één parameter: CZV, pH of PM10) en maak een run die QA/QC-vlaggen toevoegt en limietoverschrijdingen opsomt. Schrijf eerst een krachtige prompt en vraag LLM om scans van afwijkingen en overschrijdingen; Controleer vervolgens onafhankelijk dezelfde overschrijdingen met de waarde > limietfilter in Python. Maak minimaal één imputatievoorbeeld en markeer de ingevulde waarden met E. Bij elke ‘overshoot’ staat ‘hoe verifieer ik dit met het steekmonster/kalibratierecord?’ Beantwoord de vraag in één zin. Geef uiteindelijk in tabelvorm weer hoeveel van de door LLM gemarkeerde afwijkingen echte gebeurtenissen zijn en hoeveel sensor-/dataproblemen zijn, met onderbouwing.