Enota 12 / 12

Analiza rudarskih podatkov s Pythonom in mejami umetne inteligence

Dobički:

  • Sposobnost izdelave skriptov, ki čistijo in vizualizirajo podatke o vrtanju, proizvodnji in spremljanju s Pythonom, s podporo AI
  • Sposobnost prepoznavanja tveganj kakovosti podatkov, prekomernega učenja in ekstrapolacije pri gradnji enostavnih modelov napovedi in anomalij
  • Sposobnost preverjanja kode, ustvarjene z umetno inteligenco, in rezultata z nadzorom enote, neodvisnim izračunom in inženirsko verodostojnostjo

V vsaki enoti tega modula ste videli, da je umetna inteligenca zmogljiva pri kodiranju: čiščenje vrtin, masna bilanca, kriging skelet, povzetek flote, analiza vibracij, skeniranje okolja. Ta zadnja enota se osredotoča na Python, konkretno orodje za to kodo, in pravilno disciplino generiranja kode z AI. Python je postal de facto standard pri analizi rudarskih podatkov, ker je brezplačen, ima zmogljive knjižnice (pandas: manipulacija s tabelarnimi podatki; numpy: numerični izračun; matplotlib: izris; scikit-learn: strojno učenje) in avtomatizira ponavljajoče se naloge. AI pomnoži hitrost, s katero pišete to kodo; vendar koda, ki jo ustvari, ni vedno pravilna. Osrednje načelo te enote: Nikoli ne zaženite kode, ki jo piše AI, ne da bi jo prej prebrali, preverili njeno enoto in jo preizkusili z majhno količino znanih podatkov. Koda lahko tiho proizvede napačen rezultat, kar se lahko spremeni v slabo inženirsko odločitev pri rudarjenju.

Osnovni potek generiranja kode z AI

Pridobivanje kode iz AI je inženirski cikel, ne pogovor:

  1. Jasno opišite nalogo. Vnos (stolpci, enote, vzorčna vrstica), želeni izhod in omejitve. Dvoumna zahteva ustvari dvoumno kodo.
  2. Zahtevajte, naj bo majhen in berljiv. Raje prosite za kodo s komentarji po korakih kot za eno velikansko funkcijo.
  3. Preberite in razumejte. Razumeti, kaj počne vsaka vrstica; Ne izvajajte kode, ki je ne razumete.
  4. Test z majhnimi podatki. Zaženite ga ročno s 5–10 vrsticami, katerih rezultate poznate, in preverite pričakovan rezultat.
  5. Primeri robnih vprašanj. Prazna celica, negativna vrednost, mešanje enot, ponavljajoči se zapis Kako se obnaša koda?
  6. Meri in preveri logiko. Zagon na vseh podatkih; Je rezultat inženirsko razumen?
Namig: Najpogostejše napake, ki vnesejo kodo AI, so tihe: napačno ime stolpca, mešanje enot (m proti ft, g/t proti ppm), tiho izpuščene vrstice (kot dropna), napačno povprečje (navadno povprečje, ko bi bilo treba tehtati). Ti ne povzročajo napak; Samo ustvari napačno številko. Torej "ni dobil napake" nikoli ne pomeni "pravilno".

Tipične naloge Pythona pri rudarjenju

  • Čiščenje podatkov: Združevanje tabel vrtanja/proizvodnje/nadzora, označevanje nedoslednosti, normalizacija enote.
  • Povzetek in vizualizacija: histogram, časovne vrste, krivulja kakovosti in tonaže, grafi OEE.
  • Statistika in geostatistika: Sumarna statistika, korelacija, variogram/kriging (s posebnimi knjižnicami).
  • Zaznavanje nepravilnosti: zajem drifta na osnovi praga ali preprostega modela.
  • Preprosti modeli napovedi: Na primer razmerje med velikostjo mletja in izkoristkom z regresijo.

Za večino teh nalog AI zagotavlja odlično začetno kodo. Vendar obstajata dve pasti: kakovost podatkov in omejitve modela. Poznavanje obeh je ključno za varno uporabo kode AI.

Omejitve modela: prekomerno učenje in ekstrapolacija

Preprosti napovedni modeli, ki jih umetna inteligenca zlahka zgradi, so občutljivi na dve glavni nevarnosti. Prekomerno opremljanje: model si zapomni podatke o usposabljanju, vendar se slabo obnese pri novih podatkih; Gradnja kompleksnih modelov z malo podatkov vabi k temu. Ekstrapolacija: model postane nezanesljiv, ko je prisiljen narediti napoved v obsegu zunaj podatkov o usposabljanju; Na primer, model, naučen v območju 0,3–0,8 g/t, lahko daje nesmiselne rezultate za 5 g/t. AI ne "spontano" obvladuje teh tveganj namesto vas; Na vas je, da kritično preberete model, naredite razliko med usposabljanjem in testom, pogledate interval zaupanja in preverite, ali je napoved fizično verjetna. Ne glede na to, kako natančna je številka modela, ne more biti osnova za inženirsko odločitev zunaj obsega podatkov.

trije mini kovčki

1. primer – Napaka tihe glasnosti. Inženir želi kodo, ki omogoči, da umetna inteligenca izračuna povprečno oceno iz podatkov analize. Koda deluje, rezultat je 2,1 g/t. Inženir prebere kodo; Upoštevajte, da povprečje ni uteženo z dolžino intervala, ampak je vzeto kot ravno povprečje. Visoke ocene v kratkih intervalih so nepravično pridobivale na teži. Pri prehodu na tehtano povprečje se vrednost zniža na 1,7 g/t. Koda ni dala napak; pri branju je prišlo do napake.

Primer 2 – Tiho opuščanje linije. V produkcijski kodi povzetka je AI počistil vrstice z manjkajočimi vrednostmi z dropna. Koda deluje gladko, vendar je skupna tonaža podcenjena, ker so bile nekatere veljavne vrstice v celoti izpuščene zaradi enega samega praznega stolpca. Ko inženir primerja število vrstic med vhodom in izhodom, vidi razliko in popravi logiko čiščenja. Lekcija: vedno primerjajte število vhodnih in izhodnih vrstic.

Primer 3 – Ekstrapolacijska past. Ekipa uporabi regresijski model, ki se ga je naučil v nizkem razredu, na področju visokega razreda; Model daje absurdno visoko oceno donosa. Na srečo inženir zavrne rezultat z besedami, da je "to območje daleč zunaj obsega, ki ga vidi model" in zahteva metalurško testiranje. Lekcija: poznati obseg podatkov, za katere velja model; Ne uporabljajte ocene zunaj države.

Kopirane predloge pozivov

KODA ZA VARNO ČIŠČENJE PODATKOV "Vloga: Ste pomočnik podatkovnega analitika Python. Napišite kodo s pandami, ki čisti naslednjo tabelo. Stolpci in enote: [seznam]. Pravila: (1) natisnite število vrstic PRED in PO izpustitvi vrstic; (2) poročajte, katere vrstice so bile izpuščene in zakaj; (3) komentirajte pretvorbe enot; (4) po potrebi uporabite tehtano povprečje namesto navadnega. Pojasnite vsak korak z vrstico za komentar."

ZAHTEVA ZA PREGLED KODE "Razložite naslednjo kodo Python vrstico za vrstico in poudarite naslednje točke tveganja: predpostavka napačnega imena stolpca, zmeda enote, tiho spuščanje vrstice, napaka ravno/uteženega povprečja, vedenje robnih primerov (ničelno/negativno). NE POPRAVLJAJTE kode; samo navedite tveganja. Koda: [prilepi]."

NASTAVITEV PREIZKUSA Z MAJHNIMI PODATKI "Za to funkcijo ročno izdelajte majhne testne podatke (5-6 vrstic), katerih rezultat in pričakovan rezultat poznam; napišite testni blok, ki preverja, ali funkcija pravilno deluje na teh podatkih. Preizkusite tudi skrajne primere (prazna celica, negativna, skrajna vrednost enote). Funkcija: [prilepi]."

PREPROSTI MODEL + OPOZORILO O MEJI "Nastavite preprosto regresijo za [x -> y] z naslednjimi podatki. Razlikujte med usposabljanjem/testiranjem, sporočite metriko napake in jasno navedite obseg x, v katerem je model VELJAVEN. Opozorilo, če so napovedi narejene IZVEN tega obsega. Komentirajte tveganje pretreniranosti in redkih podatkov. Podatki: [prilepi]."

Šibek poziv/močan poziv

ŠIBEK POZIV: "Iz teh podatkov izračunajte povprečno oceno."

MOČEN POZIV: "Vloga: Ste pomočnik Pythona. Stolpci: HoleID, From(m), To(m),Au(g/t). Izračunajte UTEŽANO povprečno oceno z dolžino intervala. Koda: (1) natisnite število vhodnih/izhodnih vrstic; (2) poročajte o ničelnih/negativnih vrednostih, preden jih opustite; (3) potrdite predpostavko enote. Pokažite tudi delne vsote, da lahko preverim rezultat ročno. Podatki: [prilepi]."

Primerjalna tabela: tveganje in previdnost

Tveganje

simptom

previdnost

Motnje enote

Razumna, a napačna številka

Komentirajte enoto v kodi, jo preverite

Tiho spuščanje linije

Skupaj manjka

Primerjajte število vhodnih/izhodnih vrstic

Navadno proti tehtanemu povprečju

napačno povprečje

Preverite tehtanje

prekomerno učenje

Slabo glede na testne podatke

Ločevanje med usposabljanjem in testiranjem, naj bo preprosto

ekstrapolacija

Nesmiselno ugibanje izven obsega

Omejitev veljavnega obsega

Pogoste napake

  • Zagon kode brez branja. "Ni dobil nobene napake" ne pomeni, da je res.
  • Ni testiranja z majhnimi podatki. Zaupanje brez preverljivega primera je lažno.
  • Brez primerjave števila vhodnih/izhodnih vrstic. Tako uidejo tihe izgube.
  • Ignoriranje modelne serije. Ekstrapolacijske ocene so nezanesljive.
  • Zaupanje v lepoto karte. Elegantna lestvica lahko skrije napačno številko.
Pozor: če gre koda AI v inženirski račun, je ta koda prav tako odgovorna kot račun. Kadar koli rezultat postane odločitev rudarjenja, zaženite kodo in njen izhod skozi neodvisno logično preverjanje in primerjavo z drugo metodo, če je mogoče.

Če povzamem

Python je de facto orodje za analizo podatkov rudarjenja, AI pa močno poveča hitrost pisanja. Toda koda umetne inteligence lahko skriva tihe napake (zmeda enot, izpuščanje vrstic, napačno povprečje) in pasti modela (pretirano učenje, ekstrapolacija). Varen tok: jasno opišite, želite majhne in berljive, preberite in razumejte, preizkusite z majhnimi znanimi podatki, poizvedujte na robovih, preverite obseg in logiko. Izhod modela ne more biti osnova za odločitev zunaj obsega podatkov; in vsaka koda nosi enako odgovornost kot račun, če se spremeni v odločitev o rudarjenju.

Aplikacijska naloga

Uporabite predlogo »Koda za varno čiščenje podatkov« z nalogo povprečja ocen ali povzetka proizvodnje, da pridobite kodo iz AI; Odpravite tveganje kode s predlogo »Zahteva za pregled kode«. Nato s predlogo »Nastavitev preizkusa z majhnimi podatki« ročno ustvarite nabor podatkov, katerega rezultate poznate, in preverite kodo. Na koncu za preprosto razmerje nastavite model s predlogo »Enostaven model + opozorilo o omejitvi« in preizkusite, ali daje opozorilo, ko gre izven veljavnega obsega.

kontrolni seznam

  • [ ] Prebral sem kodo AI in razumel vsako vrstico, nisem je izvajal na slepo.
  • [ ] Preizkusil sem ga z majhnimi, ročno preverljivimi podatki.
  • [ ] Primerjal sem število vhodnih in izhodnih vrstic.
  • [ ] Preveril sem doslednost in utež enote.
  • [ ] Omejil sem obseg veljavnih podatkov modela in se izognil ekstrapolaciji.
  • [ ] Rezultat, ki se je spremenil v odločitev, sem preveril z neodvisno logiko/drugo metodo.

Modulni izpit

1. Pripravnik povpraša orodje za klepet z umetno inteligenco o povprečni vsebnosti rudnega telesa in zapiše nastalo vrednost '1,8 g/t zlata' neposredno v poročilo o rezervah. Kaj je temeljna napaka v tem pristopu?

  • A) Vrednost ocene mora izhajati iz lastnih podatkov o vrtanju/analizi projekta in preverjene napovedi; Številka, ki jo ustvari AI, je morda izmišljotina brez izvora ✔
  • B) Moral bi biti vprašan za AI v unčah namesto v gramih
  • C) Vrednost je pravilna, le pika bi morala biti uporabljena namesto vejice
  • D) Dovolj je, da AI trikrat vprašate isto vprašanje in vzamete povprečje

Pojasnilo: jezikovni model ne pozna podatkov o vrtanju vašega projekta; povzroči število, ki se zdi najbolj verjetno (halucinacija). Ocena izhaja le iz lastnih sestavljenih podatkov o vrtanju in geostatistične ocene projekta; Rezultatov AI ni mogoče vključiti v poročilo brez odobritve pristojne osebe.

2. Kaj omogoča 'razvrstitev na podlagi tveganja' pri uporabi umetne inteligence v rudarstvu?

  • A) Znižajte ceno orodja AI
  • B) Določite vlogo AI in obvezno globino preverjanja glede na stopnjo tveganja naloge ✔
  • C) Pozivi naj bodo napisani krajše
  • D) Samodejno prenese vse odločitve na AI

Pojasnilo: Ni vsaka misija na enaki stopnji tveganja. Razvrstitev naloge kot nizka/srednja/visoka/kritična določa, kateri izhod se lahko prosto uporablja in kateri zahteva standardno in terensko preverjanje ter odobritev pristojnega inženirja.

3. Kaj modelira 'variogram' v geostatistiki?

  • A) Poraba goriva opreme
  • B) Sprememba cene kovin skozi čas
  • C) Prostorska kontinuiteta glede na razdaljo; ✔ kako se podobnost zmanjšuje, ko se točke oddaljujejo
  • D) Frekvenca vibracij, ki nastane pri peskanju

Opis: Variogram opisuje, kako se podobnost vzorcev med seboj zmanjšuje (prostorska kontinuiteta), ko se razdalja med dvema točkama povečuje. Kriging uporablja ta model za oceno neizmerjenih točk z mejo negotovosti.

4. Kateri je najboljši pristop, če AI predhodno razvrsti litologijo iz fotografije vrtalnih sredic?

  • A) Obdelava vrste kamnine, ki jo poda AI neposredno v vrtalni dnevnik
  • B) Kopiranje besedila AI v poročilo, ne da bi sploh pregledali fotografijo
  • C) Preklic geologovega opazovanja in zanašanje samo na AI
  • D) Upoštevajte rezultat kot predhodno napoved/hipotezo in ga preverite z geološkim opazovanjem in laboratorijsko analizo ✔

Opis: AI lahko iz slike ustvari seznam napovedi in pozornosti; Vendar je končna odločitev o litologiji/spremembi sprejeta z geologovim opazovanjem in laboratorijsko analizo. Rezultat umetne inteligence je začetek, hipoteza, ki jo je treba preveriti.

5. Kaj pomeni 'razmerje odstranjevanja' pri načrtovanju odprtega kopa?

  • A) Količina rje (odpadne kamnine), ki jo je treba odstraniti, da dosežemo eno enoto rude ✔
  • B) Odstotek kovine v rudi
  • C) Dnevno število voženj tovornjakov
  • D) Količina eksploziva, uporabljenega pri razstreljevanju

Opis: stopnja odstranjevanja je količina odpadkov (trak/odpad), ki jih je treba odstraniti, da se pridobi ena enota rude. Končna meja jame in ekonomičnost sta v veliki meri odvisna od tega razmerja; Čeprav umetna inteligenca ustvarja scenarije, je odločitev o meji odvisna od pristojnega inženirja.

6. Kaj pomeni pri prediktivnem vzdrževanju, ko umetna inteligenca najde 'anomalije' v podatkih o vibracijah in temperaturi?

  • A) Dokaz, da je oprema zagotovo odpovedala
  • B) Opozorilo, da podatki odstopajo od običajnih; To ni dokončna diagnoza okvare, ampak znak, ki ga je treba potrditi s fizičnim pregledom ✔
  • C) Ukažite, da se oprema samodejno zaustavi
  • D) Zagotovite, da so bili podatki napačno zabeleženi

Pojasnilo: anomalija je odstopanje podatkov od običajnega obnašanja in lahko nakazuje okvaro; vendar to ni dokončna diagnoza. Odločitev o zaustavitvi opreme ali zamenjavi delov se sprejme s fizičnim pregledom vzdrževalne ekipe in odobritvijo vodje operacij.

7. Kaj je bistvenega pomena za varnost pri uporabi umetne inteligence pri načrtovanju vrtalnega peskanja?

  • A) Implementacija priporočila AI neposredno na terenu
  • B) Preskok merjenja vibracij
  • C) Preverjanje predlagane zasnove AI z meritvami na terenu, regulativno omejitvijo in odobritvijo pooblaščenega strokovnjaka za razstreljevanje ✔
  • D) Določanje količine eksploziva z največjo količino, ki jo poda AI

Opis: Razstreljevanje; Predstavlja resna varnostna in regulativna tveganja, kot so vibracije, zračni udarci in leteči kamni. AI lahko izdela skico načrta in priporočila parametrov; Vendar pa mora končna zasnova prestati meritve na terenu, predpisane omejitve in odobritev pooblaščenega strokovnjaka za razstreljevanje (detonator/odgovorni).

8. Kakšno je tipično razmerje med 'izkoristkom' in 'stopnjo koncentrata' pri predelavi mineralov in kaj naj si AI zapomni, ko to razlaga?

  • A) Oba vedno naraščata skupaj
  • B) Med njima ni nobene povezave
  • C) Razmerje je konstantno in enako v vseh objektih
  • D) Običajno obstaja obratno ravnovesje (donos se zmanjšuje, ko se razred povečuje); dejanske vrednosti je treba preveriti z metalurškim testiranjem in masno bilanco ✔

Pojasnilo: Na splošno, ko poskušamo pridobiti višjo koncentracijo, se pridelek zmanjša (ravnovesje med stopnjo in donosom). AI lahko pojasni ta trend, vendar je treba dejanske obratovalne vrednosti potrditi z metalurškim testiranjem in masno bilanco; splošni trend ni nadomestek za resničnost, ki je specifična za lokacijo.

9. Kakšna je najprimernejša uporaba analize podatkov o skorajšnjem pogrešku/nesreči z AI v varnosti pri delu?

  • A) Razvrstite zapise s prostim besedilom in izluščite ponavljajoče se vzorce tveganja; Odločitev prepustite strokovnjaku za VZT ✔
  • B) Samodejno določi krivca za nesreče
  • C) Prenos odredb o prekinitvi dela na AI
  • D) Arhiviranje zapisov o skorajšnjih nesrečah brez njihovega pregleda

Opis: AI lahko razvrsti velike količine prostih besedilnih zapisov in hitro izloči ponavljajoče se vzorce in tvegane pogoje. Odločitev o prekinitvi del, evakuaciji območja ali temeljnem vzroku pa je sprejeta v okviru strokovnjaka za VZR in zakonodaje; Izhod AI je vnos, ne odločitev.

10. Zakaj je 'pospešek stopnje deformacije' kritičen znak v podatkih radarja/prizme pri spremljanju naklona?

  • A) Zagotovo pomeni, da je merilna naprava pokvarjena.
  • B) Lahko napoveduje napredujoč poraz; Odločitev o zgodnjem obveščanju in evakuaciji pripada inženirju geotehnike ✔
  • C) Kaže, da je pobočje popolnoma varno
  • D) Pomemben je samo, če so padavine in ga lahko zanemarimo

Pojasnilo: Pred porušitvijo pobočij je na splošno opaziti postopno povečanje stopnje deformacije (pospešek); To je lahko znak postopnega neuspeha. AI lahko poudari trend, vendar odločitev o evakuaciji/zgodnjem opozarjanju sprejme analiza in protokol geotehničnega inženirja.

11. Kateri je najnatančnejši odziv na znak "preseganja", ki ga umetna inteligenca najde v časovnem nizu kakovosti vode pri spremljanju okolja?

  • A) Poročanje rezultatov AI neposredno vladni agenciji
  • B) Ignorirajte opozorilo in nadaljujte z gledanjem
  • C) Preverite z rezultatom akreditiranega laboratorija, regulativno mejo in oceno okoljskega inženirja ✔
  • D) Zanašanje samo na umetno inteligenco in preklic laboratorijske analize

Opis: AI lahko zgodaj opozori na možno kršitev; Vendar uradno odločitev o skladnosti sprejmejo analize akreditiranega laboratorija, mejne vrednosti v zakonodaji in ocena okoljskega inženirja. Izhod AI je opozorilo o pregledu in ne pravna/tehnična odločitev.

12. Kateri je najzanesljivejši način, da se izognete pridobivanju izmišljene (halucinatorne) reference, ko AI vprašate za številko klavzule standarda, kot je JORC ali NI 43-101?

  • A) Zanašanje na številko predmeta, ki jo je dal AI
  • B) Ponovno postavljanje istega vprašanja z različnimi besedami
  • C) Gledanje objave v blogu namesto standarda
  • D) Odpiranje in potrditev vsake reference na člen iz trenutnega uradnega besedila standarda in pridobitev odobritve pristojne osebe ✔

Pojasnilo: Čeprav jezikovni model pravilno pozna ime standarda, lahko halucinira številko članka in besedilo. Vsako referenco snovi je treba odpreti in potrditi iz trenutnega uradnega besedila standarda, končno skladnost pa mora potrditi pristojna oseba (CP/QP).

13. Kaj je najbolj kritično preverjanje pred zagonom analitičnega skripta Python, napisanega z umetno inteligenco?

  • A) Branje kode in preverjanje ujemanja enote/stolpca, testiranje z majhnimi znanimi podatki in preverjanje verodostojnosti rezultata ✔
  • B) Zagon kode neposredno na celotnem nizu podatkov, ne da bi ga prebrali
  • C) Samo preverjanje, da ni napake, in sprejemanje rezultata
  • D) Zanašanje na grafiko izhoda, da bo videti lepo.

Opis: koda umetne inteligence lahko meša enote, nepravilno prevzame imena stolpcev ali tiho izpusti vrstice. Bistveno je prebrati kodo, preveriti obseg in ujemanje stolpcev, preizkusiti z majhno količino znanih podatkov in preveriti, ali je rezultat inženirsko razumen.

14. Kakšno je najboljše vedenje v smislu zasebnosti, ko podajate rudarske podatke orodju AI v oblaku?

  • A) Lepljenje vseh neobdelanih podatkov, kot so
  • B) Anonimizirajte kontekst in očistite občutljive podatke o rezervi/koordinati/produkciji ter uporabite korporativno orodje, skladno s pravilniki ✔
  • C) Ob predpostavki, da je zagotavljanje dejanskih koordinat bistveno za kakovost rezultata
  • D) Sploh neupoštevanje politike zasebnosti

Pojasnilo: Podatki o rezervah, informacije o licencah/koordinatah in podatki o proizvodnji so občutljivi z vidika poslovnih skrivnosti in zakonodaje. Potrebno je anonimizirati kontekst, počistiti prave koordinate in imena, izbrati korporativno/zasebno orodje za zagotavljanje zasebnosti in upoštevati politiko podjetja.