Üksus 6 / 11

Keemiliste andmete analüüs ja Python: pandad, stöhhiomeetria ja kalibreerimine

Kasu:

  • Võimalus põhineda arvulistel tulemustel käivitatud Pythoni koodil, mitte keelemudeli verbaalsel arvamisel
  • Võimalus kirjutada tehisintellektile stöhhiomeetria, kalibreerimise ja andmete puhastamise kood ning testida seda teadaolevate vastustega näidistega
  • Võimalus ennetada andmete analüüsi vigu, määrates alati ühikud ja kontrollides nende järjekorda

Keemia on täis numbreid: kaalud, mahud, neeldumisväärtused, saagised, kontsentratsioonid. Nende andmete käsitsi töötlemine on aeglane ja veatundlik. AI pakub siin kahte peamist teenust: (1) kirjutab Pythoni koodi, mis töötleb andmeid, (2) käivitab selle koodi (keskkonnas, mis suudab koodi käitada) ja annab deterministliku tulemuse. Kriitiline põhimõte on järgmine: jätke arvutamine täidetava koodi väljundi, mitte keelemudeli "verbaalse ennustamise" hooleks. Keelemudel "Mis on 142 × 0,05?" võib mõnikord vastata küsimusele valesti; aga tema kirjutatud Pythoni rida arvutab alati õigesti. Selles õppetükis õpime selle filosoofiaga tehisintellektiga keemilist andmete analüüsi.

Miks on kood parem kui verbaalne oletamine?

Keelemudel teeb aritmeetikat, "ennustades ette võimaliku tulemuse"; seega võib see olla vale suurte arvude või mitmeastmelise arvutuse korral. Kui Pythonis on avaldis 142 * 0,05 deterministlik: see tagastab alati 7.1. Seega strateegia: ärge laske tehisintellektil arvutusi teha, printige arvutuse KOOD ja käivitage kood. Nii et kasutate AI loovust (koodi koostamine) ja keelate ebausaldusväärse poole (pea aritmeetika).

Näpunäide. Kui saate tehisintellektist numbrilise tulemuse, öelge "esita seda Pythoni reaga". Kood ise kinnitab konto ja võimaldab teil seda käivitada ja kinnitada. Kui te koodi ei näe, ärge usaldage numbrit.

Tüüpilised andmeanalüüsi ülesanded keemias

  • Stöhhiomeetria: mool, mass, piirav reaktiiv, teoreetiline saagis, saagise protsendi arvutamine.
  • Kontsentratsioon: molaarsus, lahjendus (M1V1 = M2V2), ppm konversioonid.
  • Kalibreerimine: kalibreerimisjoone joonistamine Beer-Lamberti seadusega (neeldumine ∝ kontsentratsioon) ja tundmatu arvutamine.
  • Andmete puhastamine: mõõtetabelite lugemine pandadega, liputamise kõrvalekalded, keskmine/standardhälve.
  • Visualiseerimine: kalibreerimiskõvera joonistamine, kineetikagraafik, tiitrimiskõver.

Samm-sammult: turvaline andmeanalüüs tehisintellektiga

  1. Andmete määratlemine: esitage selgelt veerud, ühikud, näidisread. Kui ühikut pole, teeb AI oletused.
  2. Küsi koodi, mitte tulemusi: öelge "Write pandas/NumPy kood, mis arvutab selle".
  3. Käivitage kood: käivitage see ise või keskkonnas, mis suudab koodi käitada.
  4. Test lihtsa juhtumiga: testige koodi väikese näitega, kus teate vastust.
  5. Ühiku ja järjekorra kontroll: kas tulemuse ühik ja suurusjärk on füüsiliselt mõistlikud?
  6. Dokument: lisage kood ja väljund katsemärkmikusse (üksus 8).

Neli kopeeritavat malli

1) Stöhhiomeetria ja saagise protsent:

Reaktsioon: salitsüülhape (MA 138.12) + äädikhappe anhüdriid -> aspiriin (MA 180.16).Andmed: Kasutati 2,00 g salitsüülhapet, äädikhappe anhüdriidi oli liias. Saadud aspiriin: 2,15 g.Ülesanne: Kirjutage Pythoni kood, mis arvutab saagise molaarmassi, printimise finaalsaagise ja protsentuaalse massi. tulemus ühikutes.Ära arvuta peas; andke lihtsalt käivitatav kood.

2) Beer-Lamberti kalibreerimine:

Kalibreerimisandmed (kontsentratsioon mol/L -> neeldumine): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Tundmatu proovi neeldumine: 0,50. Ülesanne: Tehke lineaarne kalibreerimine numpy.polyfit, slope/intercept ja Arvutage R^2, leidke tundmatu kontsentratsioon. Joonistage andmed + sobitusjoon matplotlibiga.

3) mõõtekaart pandadega:

Mul on CSV: veerud = proov, kaalu_g, maht_mL, neeldumine. Ülesanne: lugege pandadega, arvutage iga proovi jaoks kontsentratsioon (g/L), märkige valeks read, mille neelduvus on < 0, andke kood rühmade keskmise ja std hälbe printimiseks. Määrake ühikud kommentaarireaga.

4) Lahjenduskonto kinnitamine:

Soovin valmistada 0,5 M põhilahusest 100 ml 0,05 M lahust. Ülesanne: Kirjutage Pythoni rida, mis arvutab vajaliku laokoguse M1V1=M2V2. Printige tulemus ml-des ja kinnitage kommentaarina, et loogikakontrolliks on oodata 10-kordset lahjendust.

Nõrk viip / Tugev viip

Nõrk:

Kui palju aspiriini tuleb 2 grammist salitsüülhappest?

AI annab numbri peast; Kui see jätab molekulmassid valesti meelde, on tulemus moonutatud ja selle arvutamise viis pole nähtav.

Tugev:

Oletame, et salitsüülhape MA=138,12, aspiriin MA=180,16, mass=2,00 g, saagis 100%.Ülesanne: Kirjutage Pythoni kood, mis arvutab aspiriini teoreetilise massi; kommenteerige iga sammu (mool -> mol -> mass), printige tulemus grammides.

Erinevus: antud molekulmassid, nõutud kood, kommenteeritud sammud, täpsustatud ühik. Tulemus on nii täpne kui ka auditeeritav.

Verbaalne ennustus jne teostatud kood

Suurus

Keelemudeli verbaalne ennustamine

Pythoni jooks

Aritmeetiline täpsus

Muutuja, võib esineda viga

Deterministlik, kindel

Auditeeritavus

Raseduse katkemine (pole selge, kuidas see välja tuli)

Kõrge (kood nähtav)

korratavus

madal

kõrge

Üksuse jälgimine

nõrk

Saab lahti hoida koodis

Õige kasutamine

Idee, hoone struktuur

Lõplik numbriline tulemus

mini korpused

Juhtum 1 – verbaalne aritmeetiline viga. Õpilane küsib AI-st "0,0145 mol × 180,16 g/mol?" ta küsis; "2,72 g," ütles AI. Tegelikult on see 2,61 g. Kui õpilane ütles "näita seda Pythonis", kirjutas YZ 0,0145 * 180,16 ja see tuli välja kui 2612; Esimene suuline vastus oli vale. Õppetund: eelista koodi isegi väga lihtsaks korrutamiseks.

Juhtum 2 – R² kalibreerimise kontroll. Üks kasutaja lasi teha Beer-Lamberti kalibreerimise; Selgub, et R² = 0,981. AI ütles "lineaarne, usaldusväärne", kuid kõrgeima kontsentratsiooni punkt oli allpool joont (küllastus). Kui kasutaja graafikut nägi, nihutas see kõrgeima punkti lineaarsest vahemikust välja, R² suurenes 0,999-ni. Õppetund: R²-st üksi ei piisa; vaata jääke/krunti.

Juhtum 3 – üksuse segadus. Ühes analüüsis oli ebaselge, kas kontsentratsioon oli mg/l või g/l; AI eeldas g/l ja tulemused olid 1000 korda valed. See parandati, kui kasutaja määras veeru ühiku selgesõnaliselt. Õppetund: muutke ühikut alati lühikeseks, eeldades, et AI on kallis.

Levinud vead

  • Toetudes verbaalsele numbrile. Küsige ja käivitage alati koodi, mitte peast arvutama.
  • Ühiku määramata. Mg/l segamine g/l-ga, ml L-ga põhjustab 1000-kordse vea.
  • Koodi ei testita. Suurandmetele rakendamine ilma testimiseta väikese näitega, kus vastus on teada.
  • Pidades ainsaks kriteeriumiks R². Mittelineaarsuspunktide usaldamine ilma neid graafiliselt nägemata.
  • Jäta testri reaktiiv vahele. Teoreetilise saagise arvutamine ilma piiravat reaktiivi stöhhiomeetrias määramata.
  • Märkimisväärne samm väljavool. Tulemuse teatamine 8-kohaliseks, kui mõõtmine on 3-kohaline.
Ettevaatust: isegi kood, mille AI kirjutab, võib olla vigane (vale veeru nimi, vale valem). Koodi käivitamine muudab tulemuse deterministlikuks, kuid tuleb teadaoleva näitega kinnitada, et kood arvutab õige asja.

Kokkuvõttes

  • Jätke numbrilised tulemused käivitatud Pythoni koodile, mitte keelemudeli verbaalsele arvamisele.
  • AI kirjutab kiiresti koodi stöhhiomeetria, kalibreerimise, andmete puhastamise ja visualiseerimise jaoks keemilise andmeanalüüsi jaoks.
  • Pange ühikud alati selga; Üksuste segadus on kõige kallim viga.
  • Uurige kalibreerimisel jääke ja joonistage graafik lisaks R²-le.
  • Testige koodi lihtsa näitega koos teadaoleva vastusega; Inimene kontrollib koodi täpsust.

Rakenduse ülesanne

Teil on kalibreerimis- või stöhhiomeetria andmete kogum (kui mitte, kasutage ülaltoodud Beer-Lamberti andmeid). Küsige AI-lt Pythoni koodi, mis analüüsi teeb (kood, mitte tulemus). Käivitage kood; seejärel testige seda teadaolevate vastuste väikese valimiga. Küsige AI-lt suuliselt sama arvutust ja võrrelge kahte tulemust: kas on erinevusi? Tõlgendage R² ja kalibreerimisjäägi graafikut. Pange kood, väljund ja lühike kommentaar dokumenti.

kontrollnimekiri

  • [ ] Numbrilised tulemused saan koodist, mitte sõnalisest oletusest.
  • [ ] Näitan selgelt iga andmeveeru ühiku.
  • [ ] Testin koodi väikese valimiga, mille vastus on teada.
  • [ ] Teostan jääk-/graafiku analüüsi R² kõrval kalibreerimisel.
  • [ ] Määran piirava reaktiivi stöhhiomeetrias.
  • [ ] Esitan tulemused vastava märgilise numbriga.