Enhet 12 / 12

Gruvedataanalyse med Python and the Frontiers of AI

Gevinster:

  • Evne til å produsere skript som renser og visualiserer bore-, produksjons- og overvåkingsdata med Python, med AI-støtte
  • Evne til å gjenkjenne datakvalitet, overlæring og ekstrapolasjonsrisiko når du bygger enkle prediksjons- og anomalimodeller
  • Evne til å verifisere AI-generert kode og resultat med enhetskontroll, uavhengig beregning og teknisk plausibilitet

I hver enhet av denne modulen har du sett AI er kraftig i koding: borehullsrensing, massebalanse, kriging-skjelett, flåtesammendrag, vibrasjonsanalyse, miljøskanning. Denne siste enheten fokuserer på Python, det konkrete verktøyet for den koden, og den riktige disiplinen for å generere kode med AI. Python har blitt de facto-standarden for analyse av gruvedata fordi den er gratis, har kraftige biblioteker (pandaer: manipulering av tabelldata; numpy: numerisk kalkulus; matplotlib: plotting; scikit-learn: maskinlæring), og automatiserer repeterende oppgaver. AI multipliserer hastigheten du skriver den koden med; men koden den produserer er ikke alltid riktig. Det sentrale prinsippet for denne enheten: Kjør aldri koden AI skriver uten først å lese den, validere enheten og teste den med en liten mengde kjente data. Koden kan i det stille produsere feil resultat, noe som kan bli en dårlig ingeniørbeslutning i gruvedrift.

Grunnleggende flyt for å generere kode med AI

Å få kode fra AI er en ingeniørsyklus, ikke en samtale:

  1. Beskriv oppgaven tydelig. Inndata (kolonner, enheter, prøverad), ønsket utgang og begrensninger. Tvetydig forespørsel produserer tvetydig kode.
  2. Be om at den skal være liten og lesbar. Be om steg-for-steg, kommentert kode i stedet for én gigantisk funksjon.
  3. Les og forstå. Forstå hva hver linje gjør; Ikke kjør kode du ikke forstår.
  4. Test med små data. Kjør den manuelt med 5-10 linjer hvis resultater du kjenner og verifiser forventet utgang.
  5. Spørsmålskantsaker. Tom celle, negativ verdi, enhetsstokking, repeterende post Hvordan oppfører koden seg?
  6. Skaler og kontroller logikk. Kjør på alle data; Er resultatet teknisk rimelig?
Tips: De vanligste feilene som angir AI-kode er tause: feil kolonnenavn, enhetsblanding (m vs ft, g/t vs ppm), stille droppede rader (som dropna), feil gjennomsnitt (vanlig gjennomsnitt når det skal vektes). Disse forårsaker ikke feil; Det gir bare feil tall. Så "fikk ikke en feil" betyr aldri "riktig".

Typiske Python-oppgaver i gruvedrift

  • Datarensing: Sammenslåing av bore-/produksjons-/overvåkingstabeller, inkonsistensflagging, enhetsnormalisering.
  • Oppsummering og visualisering: Histogram, tidsserier, karaktertonnasjekurve, OEE-grafer.
  • Statistikk og geostatistikk: Sammendragsstatistikk, korrelasjon, variogram/kriging (med spesialbibliotek).
  • Anomalideteksjon: Terskelbasert eller enkel modellbasert driftfangst.
  • Enkle prediksjonsmodeller: For eksempel sliping size-yield-forhold med regresjon.

For de fleste av disse oppgavene gir AI utmerket startkode. Men det er to fallgruver: datakvalitet og modellgrenser. Å kjenne begge deler er nøkkelen til å bruke AI-kode på en sikker måte.

Modellgrenser: overlæring og ekstrapolering

De enkle prediktive modellene som AI enkelt bygger er sårbare for to store risikoer. Overtilpasning: Modellen husker treningsdata, men presterer dårlig på nye data; Å bygge komplekse modeller med lite data inviterer til dette. Ekstrapolering: Modellen blir upålitelig når den blir tvunget til å gjøre en prediksjon over et område utenfor treningsdataene; For eksempel kan en modell lært i området 0,3-0,8 g/t gi meningsløse resultater for 5 g/t. AI håndterer ikke "spontant" disse risikoene for deg; Det er opp til deg å lese modellen kritisk, gjøre forskjellen mellom trening/test, se på konfidensintervallet og sjekke om prediksjonen er fysisk plausibel. Uansett hvor nøyaktig et modellnummer fremstår, kan det ikke være grunnlaget for en ingeniørbeslutning utenfor dataområdet.

tre minisaker

Tilfelle 1 — Stille volumfeil. En ingeniør vil ha kode som får AI til å beregne gjennomsnittskarakteren fra analysedata. Koden fungerer, resultatet er 2,1 g/t. Ingeniøren leser koden; Legg merke til at gjennomsnittet ikke vektes etter intervalllengde, men tas som et rett gjennomsnitt. Høye karakterer i korte intervaller var urettferdig å gå opp i vekt. Når du går til det vektede gjennomsnittet, synker verdien til 1,7 g/t. Koden ga ingen feil; lesing fanget opp feilen.

Tilfelle 2 — Stille linjefall. I en produksjonssammendragskode ryddet AI opp rader med manglende verdier med dropna. Koden går problemfritt, men den totale tonnasjen er undervurdert fordi noen gyldige rader ble droppet helt på grunn av en enkelt tom kolonne. Når ingeniøren sammenligner antall linjer mellom input og output, ser han forskjellen og korrigerer renselogikken. Leksjon: sammenlign alltid antall inn- og utgangslinjer.

Tilfelle 3 — Ekstrapolasjonsfelle. Et team bruker en regresjonsmodell lært i lavgradsområdet til et høygradsområde; Modellen gir et absurd høyt avkastningsestimat. Heldigvis avviser ingeniøren resultatet og sier "dette området er langt utenfor rekkevidden modellen ser" og ber om metallurgisk testing. Leksjon: vite omfanget av data som modellen er gyldig for; Ikke bruk et out-of-state-estimat.

Kopierbare spørsmålsmaler

SIKKER DATARENGJØRINGSKODE "Rolle: Du er en Python-dataanalytikerassistent. Skriv kode med pandaer som renser følgende tabell. Kolonner og enheter: [liste]. Regler: (1) skriv ut antall rader FØR og ETTER slipp av rader; (2) rapporter hvilke rader som ble droppet og hvorfor; (3) forklar istedenfor nødvendig trinnvekt for hver enhet; kommentarlinje."

FORESPØRSEL FOR KODEGJENNOMGANG"Forklar følgende Python-kode linje for linje og pek på følgende risikopunkter: feil kolonnenavnantagelse, enhetsforvirring, stille raddrop, flat/vektet gjennomsnittsfeil, kantsak (null/negativ) oppførsel. IKKE FIKS koden; bare oppgi risikoene. Kode: [lim inn]."

TESTOPPSETT MED SMÅ DATA "For denne funksjonen produserer du manuelt en liten testdata (5-6 linjer) som jeg kjenner resultatet og forventet utgang av; skriv en testblokk som sjekker om funksjonen fungerer riktig på disse dataene. Test også ekstremtilfellene (tom celle, negativ, enhets ekstremverdi). Funksjon: [lim inn]."

ENKEL MODELL + GRENSEADVARSEL"Sett opp en enkel regresjon for [x -> y] med følgende data. Skille mellom trening/testing, rapporter feilmålet, og oppgi tydelig rekkevidden av x som modellen er GYLDIG over. Varsle hvis spådommer gjøres UTENFOR dette området. Kommenter risikoen for overtrening]." Datasparhet.

Svak forespørsel / Sterk forespørsel

SVAK SPØRSMÅL: "Beregn gjennomsnittskarakteren fra disse dataene."

STERK SPØRSMÅL:"Rolle: Du er en Python-assistent. Kolonner: HoleID, From(m), To(m),Au(g/t). Beregn VEIKTET gjennomsnittskarakter med intervalllengde. Kode: (1) skriv ut antall input/output-rader; (2) rapporter null/negative verdier før du dropper dem. manuelt. Data: [lim inn]."

Sammenligningstabell: risiko og forholdsregler

Risiko

symptom

forholdsregel

Enhetsinterferens

Rimelig men feil nummer

Kommenter enheten i kode, sjekk den

Stille linjefall

Totalt mangler

Sammenlign antall input/output linjer

Vanlig vs vektet gjennomsnitt

feil gjennomsnitt

Bekreft vekting

overlæring

Dårlig på testdata

Trening/testing separasjon, hold det enkelt

ekstrapolering

Tull gjetning utenfor rekkevidde

Begrens gyldig område

Vanlige feil

  • Kjøre koden uten å lese den. "Den fikk ingen feil" betyr ikke at det er sant.
  • Ikke testing med små data. Tillit uten et verifiserbart eksempel er falsk.
  • Ikke sammenligne antall input/output linjer. Slik slipper stille tap unna.
  • Ignorerer modellutvalget. Ekstrapoleringsestimater er upålitelige.
  • Stoler på skjønnheten i diagrammet. Et stilig diagram kan skjule feil nummer.
Merk: Hvis AI-koden går inn på en ingeniørkonto, er den koden like ansvarlig som en konto. Uansett hvor resultatet blir en gruvebeslutning, kjør koden og dens utdata gjennom en uavhengig logikksjekk og sammenligning med en annen metode hvis mulig.

Oppsummert

Python er de facto-verktøyet for gruvedataanalyse, og AI øker hastigheten du skriver det med. Men AI-kode kan inneholde tause feil (enhetsforvirring, radfall, feil gjennomsnittsberegning) og modellfeller (overlæring, ekstrapolering). Sikker flyt: beskriv tydelig, vil ha liten og lesbar, les og forstå, test med små kjente data, spørrekanttilfeller, skala og logikksjekk. En modellutgang kan ikke være grunnlag for en beslutning utenfor dataområdet; og hver kode bærer like mye ansvar som en konto hvis den blir til en gruvebeslutning.

Søknadsoppgave

Bruk malen "Sikker datasaneringskode" med en karaktergjennomsnitt eller produksjonsoppsummeringsoppgave for å hente koden fra AI; Få koden fjernet med malen "Forespørsel om kodegjennomgang". Deretter, med "Testoppsett med små data"-malen, oppretter du manuelt et datasett hvis resultater du kjenner og bekrefter koden. Til slutt, for et enkelt forhold, sett opp en modell med malen "Enkel modell + grensevarsel" og test at den gir en advarsel når den går utenfor det gyldige området.

sjekkliste

  • [ ] Jeg leste AI-koden og forsto hver linje, jeg kjørte den ikke blindt.
  • [ ] Jeg testet det med små, manuelt verifiserbare data.
  • [ ] Jeg sammenlignet antall inngangs- og utgangslinjer.
  • [ ] Jeg bekreftet enhetskonsistens og vekting.
  • [ ] Jeg begrenset det gyldige dataområdet til modellen, og unngikk ekstrapolering.
  • [ ] Jeg sjekket resultatet, som ble til en avgjørelse, med uavhengig logikk/sekund-metode.

Moduleksamen

1. En praktikant spør AI-chatverktøyet om gjennomsnittlig karakter for malmkroppen og skriver den resulterende verdien på '1,8 g/t gull' direkte inn i reserverapporten. Hva er den grunnleggende feilen i denne tilnærmingen?

  • A) Karakterverdien skal komme fra prosjektets egne bore-/analysedata og verifiserte prognose; Tallet generert av AI kan være en fabrikasjon uten kilde ✔
  • B) Det burde vært spurt om AI i unser i stedet for gram
  • C) Verdien er riktig, kun et punktum skulle vært brukt i stedet for komma
  • D) Det er nok å stille AI det samme spørsmålet tre ganger og ta gjennomsnittet

Forklaring: Språkmodellen kjenner ikke boredataene til prosjektet ditt; produserer et tall som virker mest sannsynlig (hallusinasjon). Karakteren kommer kun fra prosjektets egne sammensatte boredata og geostatistiske estimat; AI-utdata kan ikke inkluderes i rapporten uten godkjenning fra en kompetent person.

2. Hva muliggjør 'risikobasert klassifisering' ved bruk av kunstig intelligens i gruveteknikk?

  • A) Senk prisen på AI-verktøyet
  • B) Bestem rollen til AI og den obligatoriske verifiseringsdybden i henhold til oppgavens risikonivå ✔
  • C) Forespørsler bør skrives kortere
  • D) Deleger automatisk alle beslutninger til AI

Forklaring: Ikke alle oppdrag er på samme risikonivå. Klassifisering av oppgaven som lav/middels/høy/kritisk avgjør hvilken utgang som kan brukes fritt og som krever standard- og feltverifisering og kompetent ingeniørgodkjenning.

3. Hva modellerer 'variogram' i geostatistikk?

  • A) Drivstofforbruk på utstyret
  • B) Endring av metallpris over tid
  • C) Romlig kontinuitet avhengig av avstand; ✔ hvordan likheten avtar etter hvert som punktene kommer lenger unna
  • D) Vibrasjonsfrekvensen som skapes ved sprengning

Beskrivelse: Variogram beskriver hvordan likheten mellom prøver med hverandre avtar (romlig kontinuitet) når avstanden mellom to punkter øker. Kriging bruker denne modellen til å estimere umålte punkter med en usikkerhetsmargin.

4. Hva er den beste tilnærmingen når AI forhåndsklassifiserer litologi fra borekjernefotografering?

  • A) Bearbeiding av bergarten gitt av AI direkte inn i boreloggen
  • B) Kopiere AIs tekst inn i rapporten uten å undersøke bildet i det hele tatt
  • C) Avbryte geologens observasjon og kun stole på AI
  • D) Betrakt resultatet som en foreløpig prediksjon/hypotese og verifiser den med geologobservasjon og laboratorieanalyse ✔

Beskrivelse: AI kan generere en prediksjons- og oppmerksomhetsliste fra bildet; Den endelige litologi/endringsbeslutningen tas imidlertid av geologens observasjon og laboratorieanalyse. AI-utgang er en start, en hypotese som skal verifiseres.

5. Hva betyr "stripping ratio" i dagbruddsplanlegging?

  • A) Mengden rust (avfallsstein) som må fjernes for å nå en malmenhet ✔
  • B) Andel metall i malmen
  • C) Daglig antall turer med lastebiler
  • D) Mengden eksplosiv som brukes ved sprengning

Beskrivelse: Strippingshastighet er mengden avfall (strimmel/avfall) som må fjernes for å oppnå én malmenhet. Den endelige gropgrensen og økonomien avhenger i stor grad av dette forholdet; Selv om AI genererer scenarier, er grenseavgjørelsen opp til den kompetente ingeniøren.

6. Hva betyr det i prediktivt vedlikehold når AI finner "avvik" i vibrasjons- og temperaturdata?

  • A) Bevis på at utstyret definitivt har feilet
  • B) En advarsel om at dataene avviker fra det normale; Det er ikke en definitiv diagnose av funksjonsfeil, men et tegn som må bekreftes ved fysisk undersøkelse ✔
  • C) Beordre at utstyret skal stoppes automatisk
  • D) Garantere at data ble registrert feil

Forklaring: En anomali er et avvik i data fra normal oppførsel og kan indikere en funksjonsfeil; men det er ikke en definitiv diagnose. Beslutningen om å stoppe utstyret eller erstatte deler tas med fysisk undersøkelse av vedlikeholdsteamet og godkjenning fra driftslederen.

7. Hva er avgjørende for sikkerheten ved bruk av AI i drill-blast design?

  • A) Implementering av AI-anbefalingen direkte i felt
  • B) Hopp over vibrasjonsmåling
  • C) Verifikasjon av AIs foreslåtte design med feltmåling, regulatorisk grense og godkjenning av autorisert sprengningsekspert ✔
  • D) Fastsette mengden eksplosiver med det maksimale gitt av AI

Beskrivelse : Blasting; Den har alvorlige sikkerhets- og regulatoriske risikoer som vibrasjoner, luftsjokk og flygende steiner. AI kan produsere en designskisse og parameteranbefaling; Den endelige utformingen må imidlertid bestå feltmåling, regulatoriske grenser og godkjenning av autorisert sprengningsekspert (detonator/ansvarlig).

8. Hva er det typiske forholdet mellom 'recovery' og 'concentrate grade' i mineralbearbeiding og hva bør AI huske når du tolker dette?

  • A) De to øker alltid sammen
  • B) Det er ingen sammenheng mellom dem
  • C) Forholdet er konstant og likt i alle anlegg
  • D) Det er vanligvis en omvendt balanse (utbyttet avtar når karakteren øker); faktiske verdier må verifiseres ved metallurgisk testing og massebalanse ✔

Forklaring: Generelt, når vi prøver å oppnå en høyere konsentrert karakter, synker utbyttet (karakter-avlingsbalanse). AI kan forklare denne trenden, men faktiske driftsverdier må bekreftes ved metallurgisk testing og massebalanse; den generelle trenden er ikke en erstatning for stedsspesifikk virkelighet.

9. Hva er den mest hensiktsmessige bruken av å analysere nestenulykker/ulykkesdata med AI i arbeidssikkerhet?

  • A) Klassifisere fritekstposter og trekke ut tilbakevendende risikomønstre; Overlat avgjørelsen til HMS-eksperten ✔
  • B) Bestem automatisk årsaken til ulykkene
  • C) Delegere ordre om arbeidsstans til AI
  • D) Arkivering av nestenulykkede poster uten å gå gjennom dem

Beskrivelse: AI kan klassifisere store mengder fritekstposter og raskt trekke ut repeterende mønstre og risikable forhold. Beslutningen om å stanse et arbeid, evakuere et område eller en rotårsak tas imidlertid innenfor rammen av HMS-eksperten og lovverket; AI-utgang er input, ikke beslutning.

10. Hvorfor er 'akselerasjon av deformasjonshastighet' et kritisk tegn i radar/prismedata ved skråningsovervåking?

  • A) Det indikerer definitivt at måleapparatet er ødelagt.
  • B) Det kan varsle et progressivt nederlag; Beslutning om tidlig varsling og evakuering tilhører geoteknisk ingeniør ✔
  • C) Den viser at skråningen er helt sikker
  • D) Det er bare signifikant når det er nedbør og kan ignoreres

Forklaring: Før skråningsfeil observeres generelt en gradvis økning i deformasjonshastigheten (akselerasjonen); Dette kan være et tegn på progressiv svikt. AI kan markere trenden, men beslutningen om evakuering/tidlig varsling tas av geoteknisk ingeniørs analyse og protokoll.

11. I miljøovervåking, hva er den mest nøyaktige responsen på et "overskridelse"-tegn som AI finner i en tidsserie for vannkvalitet?

  • A) Rapportering av AI-utgang direkte til myndighetene
  • B) Ignorer advarselen og fortsett å se
  • C) Verifiser med akkreditert laboratorieresultat, regulatorisk grense og miljøingeniørevaluering ✔
  • D) Stoler kun på AI og kansellerer laboratorieanalyse

Beskrivelse: AI kan signalisere et mulig brudd tidlig; Den offisielle samsvarsbeslutningen tas imidlertid av akkreditert laboratorieanalyse, grenseverdier i lovgivningen og evaluering av miljøingeniøren. AI-utgangen er et screeningvarsel, ikke en juridisk/teknisk beslutning.

12. Hva er den mest pålitelige måten å unngå å få en oppdiktet (hallusinatorisk) referanse når du spør AI om klausulnummeret til en standard som JORC eller NI 43-101?

  • A) Stole på varenummeret gitt av AI
  • B) Stille det samme spørsmålet igjen med forskjellige ord
  • C) Ser på et blogginnlegg i stedet for standarden
  • D) Åpne og bekrefte hver artikkelreferanse fra gjeldende offisielle tekst til standarden og innhente godkjenning fra en kompetent person ✔

Forklaring: Selv om språkmodellen kjenner navnet på standarden riktig, kan den hallusinere artikkelnummer og tekst. Hver stoffreferanse må åpnes og bekreftes fra gjeldende offisielle tekst til standarden, og endelig samsvar må bekreftes av den kompetente personen (CP/QP).

13. Hva er den mest kritiske sjekken før du kjører et AI-skrevet Python-analyseskript?

  • A) Lese koden og verifisere enhet/kolonnetilpasning, testing med små kjente data og sjekke plausibiliteten til resultatet ✔
  • B) Kjøre koden direkte på hele datasettet uten å lese det
  • C) Bare å se at det ikke er noen feil og akseptere resultatet
  • D) Stole på at grafikken til utdataene ser bra ut.

Beskrivelse: AI-kode kan blande enheter, anta feil kolonnenavn eller stille rader. Det er viktig å lese koden, verifisere volum- og kolonnetilpasning, teste med en liten mengde kjente data og sjekke om resultatet er teknisk rimelig.

14. Hva er den beste oppførselen når det gjelder personvern når du gir gruvedata til et skybasert AI-verktøy?

  • A) Lim inn alle rådata som de er
  • B) Anonymiser kontekst og rengjør sensitive reserve-/koordinat-/produksjonsdata og bruk bedriftens, policy-kompatible verktøy ✔
  • C) Forutsatt at det å gi faktiske koordinater er avgjørende for resultatkvaliteten
  • D) Ignorerer personvernreglene i det hele tatt

Forklaring: Reservetall, lisens-/koordinatinformasjon og produksjonsdata er sensitive i forhold til forretningshemmeligheter og lovverk. Det er nødvendig å anonymisere konteksten, fjerne de virkelige koordinatene og navnene, velge bedrifts-/personverngarantiverktøyet og overholde selskapets retningslinjer.