Unitate 6 / 11

Analiza datelor chimice și Python: panda, stoichiometrie și calibrare

Câștiguri:

  • Abilitatea de a baza rezultatele numerice pe codul Python executat, mai degrabă decât pe ghicirea verbală a modelului de limbaj
  • Abilitatea de a scrie codul de stoichiometrie, de calibrare și de curățare a datelor pe inteligența artificială și de a-l testa cu mostre cu răspunsuri cunoscute
  • Abilitatea de a preveni erorile de analiză a datelor prin specificarea întotdeauna a unităților și verificarea ordinii acestora

Chimia este plină de cifre: cântăriri, volume, valori de absorbanță, randamente, concentrații. Procesarea manuală a acestor date este lentă și predispusă la erori. AI oferă două servicii majore aici: (1) scrie cod Python care procesează datele, (2) rulează acel cod (într-un mediu care poate rula codul) și oferă un rezultat determinist. Principiul critic este acesta: lăsați calculul la ieșirea codului executat, nu la „predicția verbală” a modelului de limbaj. Model de limbă „Ce este 142 × 0,05?” poate uneori să răspundă incorect la întrebare; dar linia Python pe care o scrie întotdeauna calculează corect. În această unitate, vom învăța analiza datelor chimice cu AI cu această filozofie.

De ce este codul mai bun decât ghicitul verbal?

Un model de limbaj face aritmetică „prevăzând rezultatul posibil”; deci poate fi greșit cu numerele mari sau cu calculul în mai mulți pași. În timp ce în Python expresia 142 * 0.05 este deterministă: returnează întotdeauna 7.1. Deci strategie: nu faceți AI să facă calculul, imprimați CODUL calculului și rulați codul. Deci folosiți creativitatea AI (construirea codului) și dezactivați partea nesigură (aritmetica capului).

Sfat: Când obțineți un rezultat numeric de la un AI, spuneți „reprezentați acest lucru cu o linie de Python”. Codul în sine verifică contul și vă permite să îl rulați și să îl confirmați. Dacă nu vedeți un cod, nu aveți încredere în număr.

Sarcini tipice de analiză a datelor în chimie

  • Stoichiometrie: mol, masă, reactiv limitator, randament teoretic, calcul procentual de randament.
  • Concentrație: molaritate, diluție (M1V1 = M2V2), conversii ppm.
  • Calibrare: Se trasează o linie de calibrare cu legea Beer-Lambert (absorbanță ∝ concentrație) și se calculează necunoscutul.
  • Curățarea datelor: citirea tabelelor de măsurare cu panda, marcarea valorii aberante, abaterea medie/standard.
  • Vizualizare: desen curba de calibrare, graficul cineticii, curba de titrare.

Pas cu pas: Analiza sigură a datelor cu AI

  1. Definiți datele: dați clar coloane, unități, rânduri eșantion. Dacă nu există o unitate, AI-ul face presupuneri.
  2. Cereți cod, nu rezultate: spuneți „Scrieți codul panda/NumPy care calculează acest lucru”.
  3. Rulați codul: rulați-l singur sau într-un mediu care poate rula cod.
  4. Testați cu majuscule simple: Testați codul cu un mic exemplu în care cunoașteți răspunsul.
  5. Verificarea unității și a comenzii: Unitatea și magnitudinea rezultatului sunt rezonabile din punct de vedere fizic?
  6. Document: Adăugați codul și rezultatul în caietul de experiment (unitatea 8).

Patru șabloane copiabile

1) Stoichiometrie și randament procentual:

Reacție: acid salicilic (MA 138.12) + anhidridă acetică -> aspirină (MA 180.16). Date: s-au folosit 2,00 g de acid salicilic, anhidrida acetică a fost în exces. Aspirina obținută: 2,15 g. Sarcină: Scrieți codul Python care calculează greutatea moleculară și calculează procentual ca variabilă și randament molecular. imprimați rezultatul în unități. Nu calculați în cap; doar da cod executabil.

2) Calibrare Beer-Lambert:

Date de calibrare (concentrație mol/L -> absorbanță): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Absorbanță necunoscută a probei: 0,50. Sarcină: Efectuați calibrarea liniară cu numpy.polyfit, slope/intercept și Calculați R^2, găsiți concentrația necunoscută. Trasează datele + linia de potrivire cu matplotlib.

3) diagramă de măsurare cu panda:

Am un CSV: coloane = eșantion, weigh_g, volume_mL, absorbance. Sarcină: citiți cu panda, calculați concentrația (g/L) pentru fiecare probă, marcați rândurile cu absorbanță < 0 ca fiind incorecte, dați codul pentru a imprima media și abaterea standard a grupurilor. Specificați unitățile cu o linie de comentariu.

4) Verificarea contului de diluare:

Vreau să prepar 100 ml de soluție 0,05 M din soluție stoc 0,5 M. Sarcină: Scrieți linia Python care calculează volumul necesar de stoc cu M1V1=M2V2. Imprimați rezultatul în ml și verificați ca comentariu că este de așteptat o diluție de 10 ori pentru o verificare logică.

Prompt slab / Prompt puternic

slab:

Câtă aspirină provine din 2 grame de acid salicilic?

AI oferă un număr din cap; Dacă își amintește greșit greutățile moleculare, rezultatul va fi distorsionat și modul în care a fost calculat nu va fi vizibil.

Puternic:

Presupunem acid salicilic MA=138,12, aspirina MA=180,16, masa=2,00 g, randament 100%. Sarcină: Scrieți codul Python care calculează masa teoretică a aspirinei; comentați fiecare pas (mol -> mol -> masă), imprimați rezultatul în g.

Diferență: greutăți moleculare date, cod solicitat, pași comentați, unitate specificată. Rezultatul este atât precis, cât și auditabil.

Predicția verbală etc.cod executat

Dimensiune

Predicția verbală a modelului de limbaj

Python alergă

Acuratețea aritmetică

Variabilă, poate apărea o eroare

Determinist, sigur

Auditabilitate

Avort spontan (nu este clar cum a ieșit)

Ridicat (cod vizibil)

repetabilitate

scăzută

înalt

Urmărirea unității

slabă

Poate fi ținut deschis în cod

Utilizare corectă

Idee, structura clădirii

Rezultatul numeric final

mini carcase

Cazul 1 — Eroare aritmetică verbală. Un elev întreabă AI „0,0145 mol × 180,16 g/mol?” a întrebat el; „2,72 g”, a spus AI. De fapt, este 2,61 g. Când studentul a spus „arată asta în Python”, YZ a scris 0,0145 * 180,16 și a ieșit ca 2.612; Primul răspuns verbal a fost incorect. Lecție: preferați codul chiar și pentru înmulțirea foarte simplă.

Cazul 2 — Verificare R² în calibrare. Un utilizator a făcut o calibrare Beer-Lambert; Se dovedește că R² = 0,981. AI spunea „liniar, de încredere”, dar punctul la cea mai mare concentrație era sub linie (saturație). Când utilizatorul a văzut graficul, acesta a mutat cel mai înalt punct din intervalul liniar, R² a crescut la 0,999. Lecție: R² singur nu este suficient; vezi reziduuri/parcela.

Cazul 3 – Confuzia de unitate. Într-o analiză a fost neclar dacă concentrația a fost mg/L sau g/L; AI a presupus g/L și rezultatele au fost de 1000 de ori greșite. A fost remediat când utilizatorul a specificat în mod explicit unitatea de coloană. Lecție: schimbați întotdeauna unitatea, presupunând că AI este scumpă.

Greșeli comune

  • Bazându-se pe numărul verbal. Solicitați și rulați întotdeauna codul, mai degrabă decât să faceți aritmetică mentală.
  • Nu se specifică unitatea. Amestecarea mg/L cu g/L, mL cu L provoacă o eroare de 1000 de ori.
  • Nu testează codul. Aplicarea la big data fără testare cu un mic exemplu în care răspunsul este cunoscut.
  • Considerând R² ca singurul criteriu. A avea încredere în punctele de neliniaritate fără a le vedea grafic.
  • Sari peste reactivul de testare. Calcularea randamentului teoretic fără determinarea reactivului limitator în stoichiometrie.
  • Revărsare de pas semnificativă. Raportarea rezultatului la 8 cifre atunci când măsurarea este de 3 cifre semnificative.
Atenție: chiar și codul pe care îl scrie AI poate fi defect (nume greșit al coloanei, formulă greșită). Rularea codului face ca rezultatul să fie determinist, dar trebuie să confirmați cu un exemplu cunoscut că codul calculează lucrul corect.

Pe scurt

  • Lăsați rezultatele numerice la codul Python executat, nu la presupunerea verbală a modelului de limbaj.
  • AI scrie rapid cod pentru stoichiometrie, calibrare, curățare și vizualizare a datelor în analiza datelor chimice.
  • Puneți întotdeauna unitățile; Confuzia de unitate este cea mai scumpă greșeală.
  • Examinați reziduurile și reprezentați grafic în plus față de R² în calibrare.
  • Testați codul cu un exemplu simplu cu un răspuns cunoscut; Omul verifică acuratețea codului.

Sarcina de aplicare

Aveți un set de date de calibrare sau stoichiometrie (dacă nu, utilizați datele Beer-Lambert de mai sus). Cereți AI pentru codul Python care face analiza (codul, nu rezultatul). Rulați codul; apoi testați-l cu un mic eșantion de răspunsuri cunoscute. Cereți verbal AI același calcul și comparați cele două rezultate: există o diferență? Interpretați graficul R² și rezidual în calibrare. Puneți codul, rezultatul și comentariul scurt într-un document.

lista de verificare

  • [ ] Obțin rezultatele numerice din cod, nu din presupunerea verbală.
  • [ ] Indică clar unitatea fiecărei coloane de date.
  • [ ] Testez codul cu un eșantion mic al cărui răspuns este cunoscut.
  • [ ] Efectuez analiza reziduală/grafică lângă R² în calibrare.
  • [ ] Determin reactivul limitator în stoichiometrie.
  • [ ] Raportez rezultatele cu cifra semnificativă corespunzătoare.