Enhed 12 / 12

Minedataanalyse med Python and the Frontiers of AI

Gevinster:

  • Evne til at producere scripts, der renser og visualiserer bore-, produktions- og overvågningsdata med Python, med AI-understøttelse
  • Evne til at genkende datakvalitet, overlæring og ekstrapolationsrisici, når man bygger simple forudsigelses- og anomalimodeller
  • Evne til at verificere AI-genereret kode og resultat med enhedskontrol, uafhængig beregning og teknisk plausibilitet

I hver enhed af dette modul har du set AI er kraftfuld i kodning: borehulsrensning, massebalance, kriging-skelet, flådeoversigt, vibrationsanalyse, miljøscanning. Denne sidste enhed fokuserer på Python, det konkrete værktøj til den kode, og den korrekte disciplin til at generere kode med AI. Python er blevet de facto-standarden inden for minedriftsdataanalyse, fordi det er gratis, har kraftfulde biblioteker (pandaer: tabeldatamanipulation; numpy: numerisk beregning; matplotlib: plotning; scikit-learn: maskinlæring) og automatiserer gentagne opgaver. AI multiplicerer hastigheden, hvormed du skriver den kode; men koden den producerer er ikke altid korrekt. Det centrale princip for denne enhed: Kør aldrig koden, som AI skriver uden først at læse den, validere dens enhed og teste den med en lille mængde kendte data. Koden kan lydløst producere det forkerte resultat, hvilket kan blive til en dårlig ingeniørbeslutning i minedrift.

Grundlæggende flow af generering af kode med AI

At få kode fra AI er en ingeniørcyklus, ikke en samtale:

  1. Beskriv opgaven tydeligt. Input (kolonner, enheder, prøverække), ønsket output og begrænsninger. Tvetydig anmodning producerer tvetydig kode.
  2. Bed om, at den er lille og læsbar. Bed om trin-for-trin, kommenteret kode i stedet for én kæmpe funktion.
  3. Læs og forstå. Forstå, hvad hver linje gør; Kør ikke kode, du ikke forstår.
  4. Test med små data. Kør det manuelt med 5-10 linjer, hvis resultater du kender, og verificere det forventede output.
  5. Spørgsmålskantsager. Tom celle, negativ værdi, enhedsblanding, gentagelse af post Hvordan opfører koden sig?
  6. Skaler og kontroller logik. Kør på alle data; Er resultatet ingeniørmæssigt rimeligt?
Tip: De mest almindelige fejl, der indtaster AI-kode, er tavse: forkert kolonnenavn, enhedsblanding (m vs ft, g/t vs ppm), lydløst tabte rækker (som dropna), forkert gennemsnit (almindeligt gennemsnit, når det skal vægtes). Disse forårsager ikke fejl; Det giver bare det forkerte tal. Så "fik ikke en fejl" betyder aldrig "korrekt".

Typiske Python-opgaver i minedrift

  • Datarensning: Sammenlægning af bore-/produktions-/overvågningstabeller, inkonsistensmarkering, enhedsnormalisering.
  • Sammenfatning og visualisering: Histogram, tidsserier, karaktertonnagekurve, OEE-grafer.
  • Statistik og geostatistik: Sammenfattende statistik, korrelation, variogram/kriging (med specialbiblioteker).
  • Anomalidetektion: Tærskelbaseret eller simpel modelbaseret driftfangst.
  • Simple forudsigelsesmodeller: For eksempel slibestørrelse-udbytteforhold med regression.

Til de fleste af disse opgaver giver AI fremragende startkode. Men der er to faldgruber: datakvalitet og modelgrænser. At kende begge dele er nøglen til at bruge AI-kode sikkert.

Modelgrænser: overlæring og ekstrapolering

De simple prædiktive modeller, som AI nemt bygger, er sårbare over for to store risici. Overfitting: Modellen husker træningsdata, men klarer sig dårligt på nye data; Opbygning af komplekse modeller med få data inviterer til dette. Ekstrapolering: Modellen bliver upålidelig, når den er tvunget til at lave en forudsigelse over et interval uden for træningsdataene; For eksempel kan en model lært i området 0,3-0,8 g/t give meningsløse resultater for 5 g/t. AI håndterer ikke "spontant" disse risici for dig; Det er op til dig at læse modellen kritisk, foretage trænings-/testforskellen, se på konfidensintervallet og tjekke, om forudsigelsen er fysisk plausibel. Uanset hvor nøjagtigt et modelnummer fremstår, kan det ikke være grundlaget for en ingeniørbeslutning uden for dataområdet.

tre minisager

Tilfælde 1 — Tavs lydstyrkefejl. En ingeniør vil have kode, der får AI til at beregne den gennemsnitlige karakter ud fra analysedata. Koden virker, resultatet er 2,1 g/t. Ingeniøren læser koden; Bemærk, at gennemsnittet ikke vægtes efter intervallængde, men tages som et lige gennemsnit. Høje karakterer i korte intervaller tog uretfærdigt på i vægt. Når man går til det vægtede gennemsnit, falder værdien til 1,7 g/t. Koden gav ingen fejl; læsning fangede fejlen.

Tilfælde 2 — Lydløs linjefald. I en produktionsoversigtskode ryddede AI op i rækker med manglende værdier med dropna. Koden kører problemfrit, men den samlede tonnage er undervurderet, fordi nogle gyldige rækker blev slettet helt på grund af en enkelt tom kolonne. Når ingeniøren sammenligner antallet af linjer mellem input og output, ser han forskellen og retter renselogikken. Lektion: Sammenlign altid antallet af input- og outputlinjer.

Tilfælde 3 — Ekstrapolationsfælde. Et team anvender en regressionsmodel, som er indlært i lavgradsintervallet, til et højgradsområde; Modellen giver et absurd højt udbytteestimat. Heldigvis afviser ingeniøren resultatet og siger "dette område er langt uden for det område, som modellen ses" og anmoder om metallurgisk test. Lektion: kende rækken af ​​data, som modellen er gyldig til; Brug ikke et out-of-state-estimat.

Kopierbare promptskabeloner

SIKKER DATA RENSNINGSKODE "Rolle: Du er en Python-dataanalytikerassistent. Skriv kode med pandaer, der renser følgende tabel. Kolonner og enheder: [liste]. Regler: (1) udskriv antallet af rækker FØR og EFTER, at rækker slettes; (2) rapporter, hvilke rækker der blev slettet, og hvorfor; (3) brug i stedet for et trin for en enhedsvægt med et gennemsnit; kommentarlinje."

CODE REVIEW REQUEST"Forklar følgende Python-kode linje for linje, og påpeg følgende risikopunkter: forkert kolonnenavnsantagelse, enhedsforvirring, tavs rowdrop, flad/vægtet gennemsnitsfejl, kant-case (nul/negativ) adfærd. LØS IKKE koden; bare angiv risiciene. Kode: [indsæt]."

TESTOPSÆTNING MED SMÅ DATA "Til denne funktion skal du manuelt producere et lille testdata (5-6 linjer), som jeg kender resultatet og det forventede output af; skriv en testblok, der tjekker om funktionen fungerer korrekt på disse data. Test også ekstreme tilfælde (tom celle, negativ, enheds ekstremværdi). Funktion: [indsæt]."

ENKEL MODEL + GRÆNSEADVARSEL"Opsæt en simpel regression for [x -> y] med følgende data. Differentier mellem træning/testning, rapporter fejlmålingen, og angiv tydeligt det interval af x, som modellen er GYLDIG over. Advar hvis forudsigelser er lavet UDEN FOR dette interval. Kommenter risikoen for overtræning]." Data sparsomhed.

Svag prompt / Stærk prompt

SVAG PROMPT: "Beregn den gennemsnitlige karakter ud fra disse data."

STÆRK PROMPT:"Rolle: Du er en Python-assistent. Kolonner: HoleID, From(m), To(m),Au(g/t). Beregn VÆGTET gennemsnitskarakter med intervallængde. Kode: (1) udskriv antallet af input/output rækker; (2) rapporter null/negative værdier, før du dropper dem. manuelt. Data: [indsæt]."

Sammenligningstabel: risiko og forholdsregler

Risiko

symptom

forholdsregler

Enhedsinterferens

Rimeligt men forkert nummer

Kommenter enheden i kode, tjek den

Silent line drop

Total mangler

Sammenlign antallet af input/output linjer

Almindelig vs vægtet gennemsnit

forkert gennemsnit

Bekræft vægtning

overlæring

Dårligt med testdata

Trænings-/testadskillelse, hold det enkelt

ekstrapolering

Nonsens gæt uden for rækkevidde

Begræns gyldigt interval

Almindelige fejl

  • Kører koden uden at læse den. "Den fik ingen fejl" betyder ikke, at det er sandt.
  • Tester ikke med små data. Tillid uden et verificerbart eksempel er falsk.
  • Ikke at sammenligne antallet af input/output linjer. Sådan undslipper tavse tab.
  • Ignorerer modeludvalget. Ekstrapolationsestimater er upålidelige.
  • Stol på skønheden i diagrammet. Et stilfuldt diagram kan skjule det forkerte tal.
Bemærk: Hvis AI-koden går ind på en ingeniørkonto, er denne kode lige så ansvarlig som en konto. Hvor end resultatet bliver en minebeslutning, kør koden og dens output gennem en uafhængig logisk kontrol og sammenligning med en anden metode, hvis det er muligt.

Sammenfattende

Python er de facto-værktøjet til analyse af minedata, og AI øger i høj grad hastigheden, hvormed du skriver det. Men AI-kode kan rumme tavse fejl (enhedsforvirring, rækkefald, forkert gennemsnit) og modelfælder (overlæring, ekstrapolering). Sikkert flow: beskriv tydeligt, ønsker små og læsbare, læs og forstå, test med små kendte data, query edge cases, skala og logik check. Et modeloutput kan ikke være grundlaget for en beslutning uden for dataområdet; og hver kode bærer lige så meget ansvar som en konto, hvis det bliver til en minebeslutning.

Ansøgningsopgave

Brug skabelonen "Sikker datasaneringskode" med en karaktergennemsnits- eller produktionsoversigtsopgave for at få koden fra AI'en; Få koden fjernet med skabelonen "Anmodning om kodegennemgang". Derefter, med skabelonen "Testopsætning med små data", skal du manuelt oprette et datasæt, hvis resultater du kender, og verificere koden. Til sidst, for et simpelt forhold, opsæt en model med skabelonen "Simpel model + grænseadvarsel" og test, at den giver en advarsel, når den går uden for det gyldige område.

tjekliste

  • [ ] Jeg læste AI-koden og forstod hver linje, jeg kørte den ikke blindt.
  • [ ] Jeg testede det med små, manuelt verificerbare data.
  • [ ] Jeg sammenlignede antallet af input- og outputlinjer.
  • [ ] Jeg verificerede enhedskonsistens og vægtning.
  • [ ] Jeg begrænsede modellens gyldige dataområde og undgår ekstrapolering.
  • [ ] Jeg tjekkede resultatet, som blev til en beslutning, med uafhængig logik/sekund metode.

Modul eksamen

1. En praktikant spørger AI-chatværktøjet om den gennemsnitlige karakter af malmlegemet og skriver den resulterende værdi af '1,8 g/t guld' direkte ind i reserverapporten. Hvad er den grundlæggende fejl i denne tilgang?

  • A) Karakterværdien skal komme fra projektets egne bore-/analysedata og verificerede prognose; Antallet, der genereres af AI'en, kan være en fabrikation uden kilde ✔
  • B) Der skulle være blevet spurgt om AI i ounces i stedet for gram
  • C) Værdien er korrekt, kun et punktum skulle have været brugt i stedet for et komma
  • D) Det er nok at stille AI det samme spørgsmål tre gange og tage gennemsnittet

Forklaring: Sprogmodellen kender ikke dit projekts boredata; producerer et tal, der virker mest sandsynligt (hallucination). Karakteren kommer kun fra projektets egne sammensatte boredata og geostatistiske skøn; AI-output kan ikke inkluderes i rapporten uden godkendelse fra en kompetent person.

2. Hvad muliggør 'risikobaseret klassificering' i brugen af ​​kunstig intelligens i minedrift?

  • A) Sænk prisen på AI-værktøjet
  • B) Bestem rollen for AI og den obligatoriske verifikationsdybde i henhold til opgavens risikoniveau ✔
  • C) Spørgsmål skal skrives kortere
  • D) Uddeleger automatisk alle beslutninger til AI

Forklaring: Ikke alle missioner er på samme risikoniveau. At klassificere opgaven som lav/middel/høj/kritisk afgør, hvilket output der frit kan bruges, og hvilket kræver standard- og feltverifikation og kompetent ingeniørgodkendelse.

3. Hvad modellerer 'variogram' i geostatistik?

  • A) Udstyrets brændstofforbrug
  • B) Ændring af metalpris over tid
  • C) Rumlig kontinuitet afhængig af afstand; ✔ hvordan ligheden aftager, når punkterne kommer længere væk
  • D) Vibrationsfrekvensen skabt ved sprængning

Beskrivelse: Variogram beskriver, hvordan ligheden af prøver med hinanden aftager (rumlig kontinuitet), når afstanden mellem to punkter øges. Kriging bruger denne model til at estimere umålte punkter med en usikkerhedsmargin.

4. Hvad er den bedste tilgang, når AI skal forudklassificere litologi fra borekernefotografering?

  • A) Bearbejdning af stentypen givet af AI direkte ind i boreloggen
  • B) Kopiering af AI's tekst ind i rapporten uden overhovedet at undersøge billedet
  • C) Annullering af geologens observation og udelukkende stole på AI
  • D) Betragt outputtet som en foreløbig forudsigelse/hypotese og bekræft det med geologobservation og laboratorieanalyse ✔

Beskrivelse: AI kan generere en forudsigelses- og opmærksomhedsliste fra billedet; Den endelige litologi/ændringsbeslutning træffes dog af geologens observation og laboratorieanalyse. AI-output er en start, en hypotese, der skal verificeres.

5. Hvad betyder "stripping ratio" i dagbruddsplanlægning?

  • A) Mængden af rust (affaldssten), der skal fjernes for at nå en enhed malm ✔
  • B) Procent af metal i malmen
  • C) Dagligt antal ture med lastbiler
  • D) Mængden af sprængstof brugt ved sprængning

Beskrivelse: Stripningshastighed er mængden af affald (strimmel/affald), der skal fjernes for at opnå en malmenhed. Den endelige pitgrænse og økonomi afhænger i høj grad af dette forhold; Selvom AI genererer scenarier, er grænsebeslutningen op til den kompetente ingeniør.

6. Hvad betyder det i prædiktiv vedligeholdelse, når AI finder 'uregelmæssigheder' i vibrations- og temperaturdata?

  • A) Bevis på, at udstyret definitivt har fejlet
  • B) En advarsel om, at data afviger fra det normale; Det er ikke en endelig diagnose af funktionsfejl, men et tegn, der skal bekræftes ved fysisk undersøgelse ✔
  • C) Beordre, at udstyret skal standses automatisk
  • D) Garantere, at data blev registreret forkert

Forklaring: En anomali er en afvigelse af data fra normal adfærd og kan indikere en funktionsfejl; men det er ikke en endelig diagnose. Beslutningen om at standse udstyret eller udskifte dele træffes med den fysiske undersøgelse af vedligeholdelsesteamet og godkendelse fra driftslederen.

7. Hvad er afgørende for sikkerheden, når man bruger kunstig intelligens i bor-blæst design?

  • A) Implementering af AI-anbefalingen direkte i marken
  • B) Spring vibrationsmåling over
  • C) Verifikation af AI's foreslåede design med feltmåling, regulatorisk grænse og godkendelse af autoriseret sprængningsekspert ✔
  • D) Fastsættelse af mængden af eksplosivstoffer med det maksimale givet af AI

Beskrivelse: Sprængning; Det indebærer alvorlige sikkerheds- og regulatoriske risici såsom vibrationer, luftchok og flyvende sten. AI kan producere en designskitse og parameteranbefaling; Det endelige design skal dog bestå feltmåling, regulatoriske grænser og godkendelse af den autoriserede sprængningsekspert (detonator/ansvarlig).

8. Hvad er det typiske forhold mellem 'genvinding' og 'koncentratkvalitet' i mineralforarbejdning, og hvad skal AI huske, når dette tolkes?

  • A) De to stiger altid sammen
  • B) Der er ingen sammenhæng mellem dem
  • C) Forholdet er konstant og det samme i alle faciliteter
  • D) Der er normalt en omvendt balance (udbyttet falder, når karakteren stiger); faktiske værdier skal verificeres ved metallurgisk testning og massebalance ✔

Forklaring: Generelt, når vi forsøger at opnå en højere koncentreret kvalitet, falder udbyttet (kvalitets-udbyttebalance). AI kan forklare denne tendens, men faktiske driftsværdier skal bekræftes ved metallurgisk testning og massebalance; den generelle tendens er ikke en erstatning for den stedspecifikke virkelighed.

9. Hvad er den mest hensigtsmæssige anvendelse af at analysere nærved-ulykkes-/ulykkesdata med AI inden for arbejdssikkerhed?

  • A) Klassificer fritekstposter og udtræk tilbagevendende risikomønstre; Overlad beslutningen til arbejdsmiljøeksperten ✔
  • B) Bestem automatisk synderen bag ulykker
  • C) Uddelegering af arbejdsstandsningsordrer til AI
  • D) Arkivering af nærved-optegnelser uden at gennemgå dem

Beskrivelse: AI kan klassificere store mængder fritekstposter og hurtigt udtrække gentagne mønstre og risikable forhold. Beslutningen om at standse et arbejde, evakuere et område eller en grundlæggende årsag træffes dog inden for rammerne af arbejdsmiljøeksperten og lovgivningen; AI-output er input, ikke beslutning.

10. Hvorfor er 'acceleration af deformationshastighed' et kritisk tegn i radar/prismedata ved hældningsovervågning?

  • A) Det indikerer helt sikkert, at måleapparatet er i stykker.
  • B) Det kan varsle et progressivt nederlag; Beslutning om tidlig varsling og evakuering tilhører den geotekniske ingeniør ✔
  • C) Det viser, at skråningen er helt sikker
  • D) Det er kun signifikant, når der er nedbør og kan ignoreres

Forklaring: Før skråningsfejl observeres generelt en gradvis stigning i deformationshastigheden (acceleration); Dette kan være et tegn på progressiv fiasko. AI kan fremhæve tendensen, men beslutningen om evakuering/tidlig varsling træffes af den geotekniske ingeniørs analyse og protokol.

11. Hvad er i miljøovervågning den mest nøjagtige reaktion på et 'overskridelse'-tegn, som AI finder i en tidsserie for vandkvalitet?

  • A) Rapportering af AI-output direkte til den offentlige myndighed
  • B) Ignorer advarslen og fortsæt med at se
  • C) Bekræft med akkrediteret laboratorieresultat, regulatorisk grænse og miljøingeniørevaluering ✔
  • D) Kun stole på AI og annullere laboratorieanalyse

Beskrivelse: AI kan signalere et muligt brud tidligt; Den officielle overensstemmelsesbeslutning træffes dog ved akkrediteret laboratorieanalyse, grænseværdier i lovgivningen og evaluering af miljøingeniøren. AI-output er en screeningsadvarsel, ikke en juridisk/teknisk beslutning.

12. Hvad er den mest pålidelige måde at undgå at få en opdigtet (hallucinatorisk) reference, når du beder AI om klausulnummeret på en standard som JORC eller NI 43-101?

  • A) Stoler på varenummeret givet af AI
  • B) At stille det samme spørgsmål igen med forskellige ord
  • C) Ser på et blogindlæg i stedet for standarden
  • D) Åbning og bekræftelse af hver artikelhenvisning fra den aktuelle officielle tekst til standarden og opnåelse af godkendelse fra en kompetent person ✔

Forklaring: Selvom sprogmodellen kender navnet på standarden korrekt, kan den hallucinere artikelnummer og tekst. Hver stofreference skal åbnes og bekræftes fra den aktuelle officielle tekst til standarden, og endelig overensstemmelse skal bekræftes af den kompetente person (CP/QP).

13. Hvad er det mest kritiske tjek, før du kører et AI-skrevet Python-analysescript?

  • A) Læsning af koden og verifikation af enheds/kolonnematchning, test med små kendte data og kontrol af plausibiliteten af resultatet ✔
  • B) Kørsel af koden direkte på hele datasættet uden at læse det
  • C) Bare at se, at der ikke er nogen fejl og acceptere resultatet
  • D) At stole på, at grafikken i outputtet ser pæn ud.

Beskrivelse: AI-kode kan blande enheder, antage forkerte kolonnenavne eller uden at miste rækker. Det er vigtigt at læse koden, kontrollere volumen og kolonnematchning, teste med en lille mængde kendte data og kontrollere, om resultatet er teknisk rimeligt.

14. Hvad er den bedste adfærd med hensyn til privatliv, når jeg giver minedata til et cloud-baseret AI-værktøj?

  • A) Indsæt alle rådata, som de er
  • B) Anonymiser kontekst og rens følsomme reserve-/koordinerings-/produktionsdata og brug virksomhedens, politik-kompatible værktøj ✔
  • C) At antage, at tilvejebringelse af faktiske koordinater er afgørende for resultatkvaliteten
  • D) Ignorerer privatlivspolitikken overhovedet

Forklaring: Reservetal, licens/koordinatoplysninger og produktionsdata er følsomme i forhold til forretningshemmeligheder og lovgivning. Det er nødvendigt at anonymisere konteksten, rydde de rigtige koordinater og navne, vælge virksomhedens/privatlivsgarantiværktøjet og overholde virksomhedens politik.