Eenheid 12 / 12

Mijnbouwgegevensanalyse met Python en de grenzen van AI

Winst:

  • Mogelijkheid om scripts te produceren die boor-, productie- en monitoringgegevens opschonen en visualiseren met Python, met AI-ondersteuning
  • Vermogen om datakwaliteit, overlearning en extrapolatierisico's te herkennen bij het bouwen van eenvoudige voorspellings- en anomaliemodellen
  • Mogelijkheid om door AI gegenereerde code en resultaten te verifiëren met eenheidscontrole, onafhankelijke berekeningen en technische plausibiliteit

In elke eenheid van deze module die je hebt gezien, is AI krachtig in het coderen: boorgatreiniging, massabalans, krigingskelet, vlootsamenvatting, trillingsanalyse, omgevingsscannen. Deze laatste unit richt zich op Python, het concrete hulpmiddel voor die code, en de juiste discipline voor het genereren van code met AI. Python is de de facto standaard geworden in de analyse van mijndata omdat het gratis is, krachtige bibliotheken heeft (panda's: datamanipulatie in tabelvorm; numpy: numerieke calculus; matplotlib: plotten; scikit-learn: machinaal leren) en repetitieve taken automatiseert. AI vermenigvuldigt de snelheid waarmee je die code schrijft; maar de code die het produceert is niet altijd correct. Het centrale principe van deze eenheid: Voer nooit de code uit die de AI schrijft zonder deze eerst te lezen, de eenheid te valideren en te testen met een kleine hoeveelheid bekende gegevens. De code kan stilletjes het verkeerde resultaat opleveren, wat kan uitmonden in een slechte technische beslissing in de mijnbouw.

Basisstroom voor het genereren van code met AI

Code uit AI halen is een technische cyclus, geen gesprek:

  1. Beschrijf de taak duidelijk. Invoer (kolommen, eenheden, voorbeeldrij), gewenste uitvoer en beperkingen. Een dubbelzinnig verzoek levert dubbelzinnige code op.
  2. Vraag of het klein en leesbaar is. Vraag om stapsgewijze code met commentaar in plaats van één gigantische functie.
  3. Lees en begrijp. Begrijp wat elke regel doet; Voer geen code uit die u niet begrijpt.
  4. Test met kleine gegevens. Voer het handmatig uit met 5-10 regels waarvan u de resultaten kent en verifieer de verwachte output.
  5. Vraagrandgevallen. Lege cel, negatieve waarde, schuifelen van eenheden, herhalend record Hoe gedraagt ​​de code zich?
  6. Schaal en controleer logica. Draai op alle data; Is het resultaat technisch redelijk?
Tip: De meest voorkomende fouten bij het invoeren van AI-code zijn stil: verkeerde kolomnaam, eenheidsmenging (m versus ft, g/t versus ppm), stilletjes weggelaten rijen (zoals dropna), verkeerd gemiddelde (gewoon gemiddelde wanneer het moet worden gewogen). Deze veroorzaken geen fouten; Het levert gewoon het verkeerde nummer op. Dus "geen foutmelding gekregen" betekent nooit "correct".

Typische Python-taken in de mijnbouw

  • Opschonen van gegevens: samenvoegen van boor-/productie-/monitoringtabellen, markeren van inconsistenties, normaliseren van eenheden.
  • Samenvatting en visualisatie: histogram, tijdreeksen, klasse-tonnagecurve, OEE-grafieken.
  • Statistiek en geostatistiek: samenvattende statistieken, correlatie, variogram/kriging (met speciale bibliotheken).
  • Anomaliedetectie: op drempels gebaseerde of eenvoudige modelgebaseerde driftregistratie.
  • Eenvoudige voorspellingsmodellen: bijvoorbeeld de relatie tussen grootte en opbrengst met regressie.

Voor de meeste van deze taken biedt AI uitstekende startcode. Maar er zijn twee valkuilen: datakwaliteit en modellimieten. Het kennen van beide is de sleutel tot een veilig gebruik van AI-code.

Modellimieten: overleren en extrapolatie

De eenvoudige voorspellende modellen die AI gemakkelijk bouwt, zijn kwetsbaar voor twee grote risico’s. Overfitting: het model onthoudt trainingsgegevens, maar presteert slecht op nieuwe gegevens; Het bouwen van complexe modellen met weinig data nodigt daartoe uit. Extrapolatie: Het model wordt onbetrouwbaar als het gedwongen wordt een voorspelling te doen over een bereik buiten de trainingsgegevens; Een model dat is geleerd in het bereik van 0,3-0,8 g/t kan bijvoorbeeld betekenisloze resultaten opleveren voor 5 g/t. AI beheert deze risico’s niet “spontaan” voor u; Het is aan jou om het model kritisch te lezen, het training/test onderscheid te maken, naar het betrouwbaarheidsinterval te kijken en te controleren of de voorspelling fysiek plausibel is. Hoe nauwkeurig een modelnummer ook lijkt, het kan niet de basis vormen voor een technische beslissing die buiten het gegevensbereik ligt.

drie minikoffers

Geval 1 — Stille volumefout. Een ingenieur wil code waarmee de AI het gemiddelde cijfer kan berekenen op basis van testgegevens. De code werkt, het resultaat is 2,1 g/t. De ingenieur leest de code; Merk op dat het gemiddelde niet wordt gewogen op basis van de intervallengte, maar wordt beschouwd als een recht gemiddelde. Hoge cijfers in korte tussenpozen werden onterecht zwaarder. Wanneer we naar het gewogen gemiddelde gaan, daalt de waarde naar 1,7 g/ton. De code gaf geen fouten; lezen ontdekte de fout.

Geval 2 — Stille lijnuitval. In een productiesamenvattingscode ruimde AI rijen met ontbrekende waarden op met dropna. De code werkt soepel, maar het totale tonnage wordt onderschat omdat sommige geldige rijen geheel zijn verwijderd vanwege een enkele lege kolom. Wanneer de engineer het aantal lijnen tussen input en output vergelijkt, ziet hij het verschil en corrigeert hij de schoonmaaklogica. Les: vergelijk altijd het aantal invoer- en uitvoerregels.

Geval 3 — Extrapolatieval. Een team past een regressiemodel toe dat is geleerd in het lage bereik op een hoog niveau; Het model geeft een absurd hoge opbrengstschatting. Gelukkig verwerpt de ingenieur het resultaat en zegt: "Dit gebied ligt ver buiten het bereik van het model" en vraagt ​​om metallurgisch onderzoek. Les: ken het gegevensbereik waarvoor het model geldig is; Gebruik geen schatting buiten de staat.

Kopieerbare promptsjablonen

SECURE DATA CLEANING CODE "Rol: Je bent een Python data-analist-assistent. Schrijf code met panda's die de volgende tabel opschoont. Kolommen en eenheden: [lijst]. Regels: (1) druk het aantal rijen af VOOR en NA het verwijderen van rijen; (2) rapporteer welke rijen zijn verwijderd en waarom; (3) conversies van commentaareenheden; (4) gebruik waar nodig een gewogen gemiddelde in plaats van gewoon. Leg elke stap uit met een commentaarregel. "

CODE-REVIEWVERZOEK "Leg de volgende Python-code regel voor regel uit en wijs op de volgende risicopunten: onjuiste aanname van de kolomnaam, eenheidsverwarring, stille rowdrop, platte/gewogen gemiddelde fout, edge case (null/negatief) gedrag. FIX de code NIET; vermeld alleen de risico's. Code: [plakken]."

TESTOPSTELLING MET KLEINE DATA "Maak voor deze functie handmatig een kleine testdata (5-6 regels) waarvan ik het resultaat en de verwachte output weet; schrijf een testblok dat controleert of de functie correct werkt op deze data. Test ook de extreme gevallen (lege cel, negatief, extreme eenheidswaarde). Functie: [plakken]."

EENVOUDIG MODEL + GRENSWAARSCHUWING "Stel een eenvoudige regressie op voor [x -> y] met de volgende gegevens. Maak onderscheid tussen training/testen, rapporteer de foutmetriek en vermeld duidelijk het bereik van x waarover het model GELDIG is. Waarschuw als voorspellingen BUITEN dit bereik worden gedaan. Geef commentaar op het risico van overtraining en schaarse gegevens. Gegevens: [plakken]."

Zwakke prompt/sterke prompt

ZWAKKE PROMPT: "Bereken het gemiddelde cijfer op basis van deze gegevens."

STERKE VRAAG: "Rol: Je bent een Python-assistent. Kolommen: HoleID, From(m), To(m),Au(g/t). Bereken GEWICHT gemiddelde cijfer met intervallengte. Code: (1) druk het aantal invoer-/uitvoerrijen af; (2) rapporteer null/negatieve waarden voordat je ze laat vallen; (3) bevestig de eenheidsaanname. Toon ook subtotalen zodat ik het resultaat handmatig kan verifiëren. Gegevens: [plakken]."

Vergelijkingstabel: risico en voorzorg

Risico

symptoom

voorzorg

Eenheidsinterferentie

Redelijk maar verkeerd nummer

Commentaar op de eenheid in code, controleer het

Stille lijndaling

Totaal ontbreekt

Vergelijk het aantal invoer-/uitvoerlijnen

Gewoon versus gewogen gemiddelde

verkeerd gemiddelde

Controleer de weging

overleren

Slecht voor testgegevens

Scheiding van training/testen, houd het simpel

extrapolatie

Onzin gok buiten bereik

Beperk geldig bereik

Veel voorkomende fouten

  • Voer de code uit zonder deze te lezen. "Er zijn geen fouten opgetreden" betekent niet dat het waar is.
  • Niet testen met kleine data. Vertrouwen zonder een verifieerbaar voorbeeld is vals.
  • Het aantal invoer-/uitvoerlijnen niet vergelijken. Dit is hoe stille verliezen ontsnappen.
  • Het modellengamma negeren. Extrapolatieschattingen zijn onbetrouwbaar.
  • Vertrouwend op de schoonheid van de kaart. Een stijlvolle grafiek kan het verkeerde nummer verbergen.
Let op: Als de AI-code in een engineeringaccount terechtkomt, is die code net zo verantwoordelijk als een account. Wanneer de uitkomst een mining-beslissing wordt, voer dan de code en de uitvoer ervan door een onafhankelijke logische controle en vergelijk deze indien mogelijk met een tweede methode.

Samengevat

Python is de de facto tool voor het analyseren van data, en AI verhoogt de snelheid waarmee je het schrijft aanzienlijk. Maar AI-code kan stille bugs bevatten (eenheidsverwarring, rij laten vallen, verkeerde middeling) en modelvallen (overleren, extrapolatie). Veilige stroom: duidelijk beschrijven, klein en leesbaar willen, lezen en begrijpen, testen met kleine bekende gegevens, randgevallen opvragen, schaal- en logicacontrole. Een modeluitvoer kan niet de basis zijn voor een beslissing buiten het databereik; en elke code draagt ​​evenveel verantwoordelijkheid als een account als deze verandert in een mining-beslissing.

Applicatie taak

Gebruik de sjabloon 'Beveiligde code voor het opschonen van gegevens' met een taak voor het middelen van cijfers of een productiesamenvatting om de code van de AI te krijgen; Laat het risico van de code afnemen met de sjabloon 'Codebeoordelingsverzoek'. Maak vervolgens met de sjabloon 'Testopstelling met kleine gegevens' handmatig een dataset aan waarvan u de resultaten kent en verifieer de code. Tenslotte kunt u voor een eenvoudige relatie een model opzetten met de sjabloon "Eenvoudig model + limietwaarschuwing" en testen of deze een waarschuwing geeft wanneer deze buiten het geldige bereik komt.

controlelijst

  • [ ] Ik las de AI-code en begreep elke regel, ik heb hem niet blindelings uitgevoerd.
  • [ ] Ik heb het getest met kleine, handmatig verifieerbare gegevens.
  • [ ] Ik heb het aantal invoer- en uitvoerlijnen vergeleken.
  • [ ] Ik heb de consistentie en weging van de eenheden geverifieerd.
  • [ ] Ik heb het geldige gegevensbereik van het model beperkt en extrapolatie vermeden.
  • [ ] Ik controleerde het resultaat, dat in een beslissing veranderde, met onafhankelijke logica/tweede methode.

Module-examen

1. Een stagiair vraagt de AI-chattool naar de gemiddelde kwaliteit van het ertslichaam en schrijft de resulterende waarde van '1,8 g/t goud' rechtstreeks in het reserverapport. Wat is de fundamentele fout in deze aanpak?

  • A) De waarde van het cijfer moet afkomstig zijn uit de eigen boor-/analysegegevens en geverifieerde prognoses van het project; Het door de AI gegenereerde getal kan een verzinsel zonder bron zijn ✔
  • B) Er had om AI gevraagd moeten worden in ounces in plaats van grammen
  • C) De waarde is correct, er had alleen een punt moeten worden gebruikt in plaats van een komma
  • D) Het is voldoende om de AI drie keer dezelfde vraag te stellen en het gemiddelde te nemen

Toelichting: Het taalmodel kent de boorgegevens van uw project niet; produceert een getal dat het meest waarschijnlijk lijkt (hallucinatie). Het cijfer is uitsluitend afkomstig van de eigen samengestelde boorgegevens en geostatistische schattingen van het project; AI-output kan niet in het rapport worden opgenomen zonder toestemming van een bevoegd persoon.

2. Wat maakt ‘risicogebaseerde classificatie’ mogelijk bij het gebruik van AI in de mijnbouw?

  • A) Verlaag de prijs van de AI-tool
  • B) Bepaal de rol van AI en de verplichte verificatiediepte op basis van het risiconiveau van de taak ✔
  • C) Prompts moeten korter worden geschreven
  • D) Delegeer automatisch alle beslissingen aan AI

Uitleg: Niet elke missie kent hetzelfde risiconiveau. Het classificeren van de taak als laag/gemiddeld/hoog/kritisch bepaalt welke output vrijelijk kan worden gebruikt en waarvoor standaard- en veldverificatie en goedkeuring van een competente ingenieur vereist zijn.

3. Wat modelleert 'variogram' in de geostatistiek?

  • A) Brandstofverbruik van de apparatuur
  • B) Verandering van de metaalprijs in de loop van de tijd
  • C) Ruimtelijke continuïteit afhankelijk van de afstand; ✔ hoe de gelijkenis afneemt naarmate de punten verder weg komen
  • D) De trillingsfrequentie die ontstaat door het stralen

Beschrijving: Variogram beschrijft hoe de gelijkenis van monsters met elkaar afneemt (ruimtelijke continuïteit) naarmate de afstand tussen twee punten groter wordt. Kriging gebruikt dit model om niet-gemeten punten te schatten met een onzekerheidsmarge.

4. Wat is de beste aanpak als AI de lithologie vooraf laat classificeren op basis van boorkernfotografie?

  • A) Het door AI opgegeven gesteentetype rechtstreeks verwerken in het boorlogboek
  • B) Het kopiëren van de tekst van AI naar het rapport zonder de foto überhaupt te onderzoeken
  • C) Het annuleren van de observatie van de geoloog en uitsluitend vertrouwen op AI
  • D) Beschouw de uitkomst als een voorlopige voorspelling/hypothese en verifieer deze met geologische observatie en laboratoriumanalyse ✔

Beschrijving: AI kan uit de afbeelding een voorspelling en attentielijst genereren; De uiteindelijke beslissing over lithologie/wijziging wordt echter genomen door de observatie en laboratoriumanalyse van de geoloog. AI-output is een begin, een hypothese die moet worden geverifieerd.

5. Wat betekent 'stripverhouding' bij dagbouwplanning?

  • A) De hoeveelheid roest (afvalgesteente) die moet worden verwijderd om één eenheid erts te bereiken ✔
  • B) Percentage metaal in het erts
  • C) Dagelijks aantal ritten van vrachtwagens
  • D) De hoeveelheid explosief die bij explosies wordt gebruikt

Omschrijving: Het strippercentage is de hoeveelheid afval (strip/afval) die moet worden verwijderd om één eenheid erts te verkrijgen. De uiteindelijke putlimiet en de economie zijn grotendeels afhankelijk van deze verhouding; Ook al genereert AI scenario’s, de grensbeslissing is aan de bevoegde ingenieur.

6. Wat betekent het bij voorspellend onderhoud als AI ‘afwijkingen’ vindt in trillings- en temperatuurgegevens?

  • A) Bewijs dat de apparatuur definitief heeft gefaald
  • B) Een waarschuwing dat de gegevens afwijken van normaal; Het is geen definitieve diagnose van een defect, maar een teken dat moet worden bevestigd door lichamelijk onderzoek ✔
  • C) Beveel dat de apparatuur automatisch moet worden stopgezet
  • D) Garantie dat gegevens onjuist zijn vastgelegd

Toelichting: Een anomalie is een afwijking van gegevens van normaal gedrag en kan duiden op een storing; maar het is geen definitieve diagnose. De beslissing om de apparatuur stop te zetten of onderdelen te vervangen wordt genomen na lichamelijk onderzoek van het onderhoudsteam en de goedkeuring van de operations manager.

7. Wat is essentieel voor de veiligheid bij het gebruik van AI bij boorstraalontwerp?

  • A) Implementatie van de AI-aanbeveling direct in het veld
  • B) Trillingsmeting overslaan
  • C) Verificatie van het voorgestelde ontwerp van AI met veldmeting, wettelijke limiet en goedkeuring van een geautoriseerde explosiedeskundige ✔
  • D) Vaststellen van de hoeveelheid explosieven met het maximum gegeven door de AI

Omschrijving: Stralen; Het brengt ernstige veiligheids- en regelgevingsrisico's met zich mee, zoals trillingen, luchtschokken en rondvliegende stenen. AI kan een ontwerpschets en parameteraanbeveling maken; Het definitieve ontwerp moet echter voldoen aan veldmetingen, wettelijke limieten en goedkeuring van de geautoriseerde explosiedeskundige (detonator/verantwoordelijke).

8. Wat is de typische relatie tussen ‘terugwinning’ en ‘concentraatkwaliteit’ bij de verwerking van mineralen en waar moet AI rekening mee houden bij de interpretatie hiervan?

  • A) De twee nemen altijd samen toe
  • B) Er is geen relatie tussen hen
  • C) De relatie is constant en hetzelfde in alle faciliteiten
  • D) Er is doorgaans sprake van een omgekeerd saldo (de rente neemt af naarmate de kwaliteit toeneemt); werkelijke waarden moeten worden geverifieerd door metallurgische tests en massabalans ✔

Uitleg: Over het algemeen neemt het rendement af als we proberen een hoger geconcentreerde kwaliteit te verkrijgen (balans tussen kwaliteit en rendement). AI kan deze trend verklaren, maar de werkelijke bedrijfswaarden moeten worden bevestigd door metallurgische tests en massabalans; de algemene trend is geen vervanging voor de locatiespecifieke realiteit.

9. Wat is het meest geschikte gebruik van het analyseren van gegevens over bijna-ongevallen/ongevallen met AI op het gebied van arbeidsveiligheid?

  • A) Classificeer vrije tekstrecords en extraheer terugkerende risicopatronen; Laat de beslissing over aan de arbo-expert ✔
  • B) Bepaal automatisch de dader van ongevallen
  • C) Het delegeren van werkonderbrekingsbevelen aan AI
  • D) Archiveren van bijna-ongevallenrecords zonder ze te beoordelen

Beschrijving: AI kan grote hoeveelheden vrije tekstrecords classificeren en snel repetitieve patronen en risicovolle omstandigheden extraheren. De beslissing om een ​​werk stop te zetten, een gebied of de hoofdoorzaak te evacueren, wordt echter genomen binnen het kader van de arbodeskundige en de wetgeving; AI-output is input, geen beslissing.

10. Waarom is 'versnelling van de vervormingssnelheid' een cruciaal teken in radar-/prismagegevens bij hellingmonitoring?

  • A) Het geeft zeker aan dat het meetapparaat kapot is.
  • B) Het kan een progressieve nederlaag inluiden; Vroegtijdige waarschuwing en evacuatiebeslissing is de verantwoordelijkheid van de geotechnisch ingenieur ✔
  • C) Het laat zien dat de helling volkomen veilig is
  • D) Het is alleen significant als er neerslag valt en kan worden genegeerd

Uitleg: Voordat de helling bezwijkt, wordt doorgaans een geleidelijke toename van de vervormingssnelheid (versnelling) waargenomen; Dit kan een teken zijn van progressief falen. AI kan de trend benadrukken, maar de beslissing over evacuatie/vroege waarschuwing wordt genomen op basis van de analyse en het protocol van de geotechnisch ingenieur.

11. Wat is bij milieumonitoring de meest nauwkeurige reactie op een 'overschrijding'-signaal dat AI vindt in een tijdreeks van waterkwaliteit?

  • A) AI-output rechtstreeks rapporteren aan de overheidsinstantie
  • B) Negeer de waarschuwing en blijf kijken
  • C) Verifiëren met geaccrediteerd laboratoriumresultaat, wettelijke limiet en evaluatie van milieu-ingenieurs ✔
  • D) Alleen vertrouwen op AI en laboratoriumanalyses annuleren

Beschrijving: AI kan een mogelijke inbreuk vroegtijdig signaleren; De officiële conformiteitsbeslissing wordt echter genomen door geaccrediteerde laboratoriumanalyse, grenswaarden in de wetgeving en de evaluatie van de milieu-ingenieur. De AI-output is een screeningwaarschuwing, geen juridisch/technisch besluit.

12. Wat is de meest betrouwbare manier om te voorkomen dat je een verzonnen (hallucinerende) referentie krijgt als je de AI vraagt ​​naar het clausulenummer van een standaard zoals JORC of NI 43-101?

  • A) Vertrouwend op het artikelnummer gegeven door de AI
  • B) Dezelfde vraag opnieuw stellen met andere woorden
  • C) Kijken naar een blogpost in plaats van de standaard
  • D) Het openen en bevestigen van elke artikelreferentie uit de huidige officiële tekst van de norm en het verkrijgen van goedkeuring van een bevoegd persoon ✔

Toelichting: Hoewel het taalmodel de naam van de standaard correct kent, kan het artikelnummer en de tekst hallucineren. Elke stofreferentie moet worden geopend en bevestigd vanuit de huidige officiële tekst van de norm en de definitieve conformiteit moet worden bevestigd door de bevoegde persoon (CP/QP).

13. Wat is de meest kritische controle voordat een door AI geschreven Python-analysescript wordt uitgevoerd?

  • A) De code lezen en de overeenstemming tussen eenheden en kolommen verifiëren, testen met kleine bekende gegevens en de plausibiliteit van het resultaat controleren ✔
  • B) Voer de code rechtstreeks uit op de volledige dataset zonder deze te lezen
  • C) Gewoon zien dat er geen fout is en het resultaat accepteren
  • D) Erop vertrouwen dat de grafische weergave er mooi uitziet.

Beschrijving: AI-code kan eenheden vermengen, kolomnamen verkeerd aannemen of stilletjes rijen laten vallen. Het is essentieel om de code te lezen, de matching van volumes en kolommen te verifiëren, te testen met een kleine hoeveelheid bekende gegevens en te controleren of het resultaat technisch redelijk is.

14. Wat is het beste gedrag op het gebied van privacy bij het geven van mijngegevens aan een cloudgebaseerde AI-tool?

  • A) Alle onbewerkte gegevens plakken zoals ze zijn
  • B) Anonimiseer de context en schoon gevoelige reserve-/coördinatie-/productiegegevens op en gebruik een zakelijke, beleidsconforme tool ✔
  • C) Ervan uitgaande dat het verstrekken van feitelijke coördinaten essentieel is voor de resultaatkwaliteit
  • D) Het privacybeleid überhaupt negeren

Toelichting: Reservecijfers, licentie-/coördinaatinformatie en productiegegevens zijn gevoelig in termen van bedrijfsgeheimen en wetgeving. Het is noodzakelijk om de context te anonimiseren, de echte coördinaten en namen te wissen, het bedrijfs-/privacygarantie-instrument te kiezen en te voldoen aan het bedrijfsbeleid.