Jedinica 6 / 11

Hemijska analiza podataka i Python: pande, stehiometrija i kalibracija

Dobici:

  • Sposobnost zasnivanja numeričkih rezultata na izvršenom Python kodu, a ne na verbalnom nagađanju jezičkog modela
  • Sposobnost pisanja koda za stehiometriju, kalibraciju i čišćenje podataka za umjetnu inteligenciju i testiranje s uzorcima s poznatim odgovorima
  • Sposobnost sprječavanja grešaka u analizi podataka uvijek specificirajući jedinice i provjeravajući njihov redoslijed

Hemija je puna brojeva: vaganja, volumena, vrijednosti apsorpcije, prinosa, koncentracija. Ručna obrada ovih podataka je spora i sklona greškama. AI ovdje pruža dvije glavne usluge: (1) piše Python kod koji obrađuje podatke, (2) pokreće taj kod (u okruženju koje može pokrenuti kod) i daje deterministički rezultat. Kritički princip je sljedeći: prepustite proračun izlazu izvršenog koda, a ne "verbalnom predviđanju" jezičkog modela. Jezički model "Šta je 142 × 0,05?" ponekad može pogrešno odgovoriti na pitanje; ali Python linija koju napiše uvijek izračunava ispravno. U ovoj cjelini naučit ćemo analizu kemijskih podataka pomoću AI s ovom filozofijom.

Zašto je kod bolji od verbalnog pogađanja?

Jezički model obavlja aritmetiku tako što "predviđa mogući ishod"; tako da može biti pogrešno s velikim brojevima ili računom u više koraka. Dok je u Pythonu izraz 142 * 0.05 deterministički: uvijek vraća 7.1. Dakle strategija: nemojte terati AI da radi proračune, odštampajte KOD izračunavanja i pokrenite kod. Dakle, koristite kreativnost AI (izgradnja koda) i onemogućite nepouzdanu stranu (aritmetiku glave).

Savjet: Kada dobijete numerički rezultat od AI, recite "predstavi ovo linijom Python-a." Sam kod potvrđuje račun i omogućava vam da ga pokrenete i potvrdite. Ako ne vidite kod, ne vjerujte broju.

Tipični zadaci analize podataka u hemiji

  • Stehiometrija: mol, masa, granični reagens, teoretski prinos, proračun procenta prinosa.
  • Koncentracija: molarnost, razrjeđenje (M1V1 = M2V2), ppm konverzije.
  • Kalibracija: Crtanje kalibracione linije sa Beer-Lambertovim zakonom (apsorbanca ∝ koncentracija) i izračunavanje nepoznate.
  • Čišćenje podataka: očitavanje mjernih tablica s pandama, označavanje izvanrednih vrijednosti, srednja/standardna devijacija.
  • Vizualizacija: crtanje kalibracione krive, grafika kinetike, krivulje titracije.

Korak po korak: Sigurna analiza podataka sa AI

  1. Definirajte podatke: jasno navedite stupce, jedinice, uzorke redova. Ako nema jedinice, AI pravi pretpostavke.
  2. Zatražite kod, a ne rezultate: recite "Napišite pandas/NumPy kod koji ovo izračunava".
  3. Pokrenite kod: Pokrenite ga sami ili u okruženju koje može pokrenuti kod.
  4. Testirajte jednostavnim malim slovima: Testirajte kôd malim primjerom gdje znate odgovor.
  5. Provjera jedinice i reda: Da li su jedinica i veličina rezultata fizički razumni?
  6. Dokument: Dodajte kod i izlaz u eksperimentalnu bilježnicu (jedinica 8).

Četiri šablona za kopiranje

1) Stehiometrija i postotak prinosa:

Reakcija: salicilna kiselina (MA 138.12) + anhidrid octene kiseline -> aspirin (MA 180.16). Podaci: korišćeno je 2,00 g salicilne kiseline, anhidrid sirćetne kiseline je bio u višku. Dobijeno aspirin: 2,15 g. Zadatak: Napišite Python kod koji izračunava teoretsku masu u procentima. rezultat u jedinicama. Ne računajte u glavi; samo dajte izvršni kod.

2) Beer-Lambert kalibracija:

Podaci kalibracije (koncentracija mol/L -> apsorbanca): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Nepoznata apsorbanca uzorka: 0,50. Zadatak: Izvršite linearnu kalibraciju sa numpy.polyfit, nagib/presjek i Izračunajte R^2, pronađite nepoznatu koncentraciju. Iscrtajte liniju podataka + uklapanje pomoću matplotlib-a.

3) mjerni grafikon sa pandama:

Imam CSV: kolone = uzorak, težina_g, zapremina_mL, apsorpcija. Zadatak: čitati sa pandama, izračunati koncentraciju (g/L) za svaki uzorak, označiti redove sa apsorbancijom < 0 kao netačne, dati kod za ispis srednje vrijednosti i standardne devijacije grupa. Odredite jedinice uz red za komentare.

4) Verifikacija računa za razrjeđivanje:

Želim da pripremim 100 mL 0,05 M rastvora od 0,5 M osnovnog rastvora. Zadatak: Napišite Python liniju koja izračunava potrebnu količinu zaliha sa M1V1=M2V2. Ispišite rezultat u mL i potvrdite kao komentar da se očekuje 10-struko razrjeđivanje za logičku provjeru.

Slaba prompt / Jaka prompt

slaba:

Koliko aspirina dolazi iz 2 grama salicilne kiseline?

AI daje broj iz glave; Ako pogrešno pamti molekularne težine, rezultat će biti izobličen i način na koji je izračunat neće biti vidljiv.

Jaka:

Pretpostavimo da salicilna kiselina MA=138,12, aspirin MA=180,16, masa=2,00 g, prinos 100%. Zadatak: Napisati Python kod koji izračunava teorijsku masu aspirina; komentirajte svaki korak (mol -> mol -> masa), ispišite rezultat u g.

Razlika: date molekulske težine, traženi kod, komentarisani koraci, navedena jedinica. Rezultat je i tačan i podložan reviziji.

Verbalno predviđanje itd. izvršeni kod

Veličina

Verbalno predviđanje jezičkog modela

Python run

Aritmetička tačnost

Varijabilno, može doći do greške

Deterministički, siguran

Mogućnost revizije

Pobačaj (nejasno je kako je nastao)

Visoka (kod vidljiv)

ponovljivost

nisko

visoko

Praćenje jedinica

slab

Može se držati otvorenim u kodu

Pravilna upotreba

Ideja, građevinska struktura

Konačni brojčani rezultat

mini koferi

Slučaj 1 — Verbalna aritmetička greška. Student pita AI “0,0145 mol × 180,16 g/mol?” upitao je; "2,72 g", rekao je AI. Zapravo je 2,61g. Kada je student rekao "pokaži ovo u Pythonu", YZ je napisao 0,0145 * 180,16 i ispalo je kao 2,612; Prvi verbalni odgovor je bio netačan. Lekcija: radije kod čak i za vrlo jednostavno množenje.

Slučaj 2 — R² provjera u kalibraciji. Jednom korisniku je urađena Beer-Lambertova kalibracija; Ispada da je R² = 0,981. AI je rekao "linearno, pouzdano", ali je tačka na najvišoj koncentraciji bila ispod linije (zasićenje). Kada je korisnik vidio grafik, pomjerio je najvišu tačku izvan linearnog raspona, R² se povećao na 0,999. Pouka: samo R² nije dovoljno; vidi ostatke/parc.

Slučaj 3 — Zabuna jedinica. U jednoj analizi nije bilo jasno da li je koncentracija mg/L ili g/L; AI je pretpostavio g/L i rezultati su bili 1000 puta pogrešni. Popravljeno je kada je korisnik eksplicitno naveo jedinicu stupca. Lekcija: uvijek zamijenite jedinicu, pod pretpostavkom da je AI skup.

Uobičajene greške

  • Oslanjanje na verbalni broj. Uvijek zahtijevajte i pokrenite kod umjesto da radite mentalnu aritmetiku.
  • Nije navedena jedinica. Mešanje mg/L sa g/L, mL sa L, uzrokuje grešku od 1000 puta.
  • Ne testiram kod. Primjena na velike podatke bez testiranja s malim primjerom gdje je odgovor poznat.
  • Uzimajući R² kao jedini kriterijum. Vjerovati tačkama nelinearnosti bez da ih se vidi grafički.
  • Preskočite reagens za tester. Izračunavanje teoretskog prinosa bez određivanja graničnog reagensa u stehiometriji.
  • Izlivanje značajnog koraka. Izvještavanje o rezultatu na 8 cifara kada je mjerenje 3 značajne cifre.
Oprez: Čak i kod koji AI upiše može biti neispravan (pogrešan naziv stupca, pogrešna formula). Izvođenje koda čini rezultat determinističkim, ali morate potvrditi poznatim primjerom da kod izračunava pravu stvar.

Ukratko

  • Ostavite numeričke rezultate izvršenom Python kodu, a ne verbalnom nagađanju jezičkog modela.
  • AI brzo piše kod za stehiometriju, kalibraciju, čišćenje podataka i vizualizaciju u hemijskoj analizi podataka.
  • Uvijek stavljajte jedinice; Zabuna jedinica je najskuplja greška.
  • Ispitajte ostatke i grafikon pored R² u kalibraciji.
  • Testirajte kod jednostavnim primjerom s poznatim odgovorom; Čovjek provjerava tačnost koda.

Zadatak aplikacije

Imajte skup podataka za kalibraciju ili stehiometriju (ako ne, koristite Beer-Lambert podatke iznad). Zatražite od AI Python kod koji radi analizu (kod, a ne rezultat). Pokrenite kod; zatim ga testirajte s malim uzorkom poznatih odgovora. Zamolite AI usmeno za isti izračun i uporedite dva rezultata: postoji li razlika? Interpretirajte grafikon R² i ostatka u kalibraciji. Stavite kod, izlaz i kratak komentar u dokument.

kontrolna lista

  • [ ] Numeričke rezultate dobijam iz koda, a ne iz verbalnog nagađanja.
  • [ ] Jasno označavam jedinicu svake kolone podataka.
  • [ ] Testiram kod sa malim uzorkom čiji je odgovor poznat.
  • [ ] Radim analizu reziduala/grafa pored R² u kalibraciji.
  • [ ] Određujem ograničavajući reagens u stehiometriji.
  • [ ] Javljam rezultate sa odgovarajućom značajnom znamenkom.