Unità 6 / 11

Analisi dei dati chimici e Python: panda, stechiometria e calibrazione

Guadagni:

  • Capacità di basare risultati numerici sul codice Python eseguito piuttosto che su ipotesi verbali del modello linguistico
  • Capacità di scrivere il codice stechiometrico, di calibrazione e di pulizia dei dati sull'intelligenza artificiale e testarlo con campioni con risposte note
  • Possibilità di prevenire errori di analisi dei dati specificando sempre le unità e controllandone l'ordine

La chimica è piena di numeri: pesate, volumi, valori di assorbanza, rese, concentrazioni. L'elaborazione manuale di questi dati è lenta e soggetta a errori. L'intelligenza artificiale fornisce qui due servizi principali: (1) scrive il codice Python che elabora i dati, (2) esegue quel codice (in un ambiente che può eseguire il codice) e fornisce un risultato deterministico. Il principio fondamentale è questo: lasciare il calcolo all'output del codice eseguito, non alla "previsione verbale" del modello linguistico. Modello linguistico "Che cos'è 142 × 0,05?" a volte può rispondere in modo errato alla domanda; ma la riga Python che scrive calcola sempre correttamente. In questa unità impareremo l'analisi dei dati chimici con l'intelligenza artificiale con questa filosofia.

Perché il codice è migliore delle ipotesi verbali?

Un modello linguistico fa calcoli "predicendo il possibile risultato"; quindi può essere sbagliato con grandi numeri o calcoli a più passaggi. Mentre in Python l'espressione 142 * 0.05 è deterministica: restituisce sempre 7.1. Quindi strategia: non far fare il calcolo all'AI, stampa il CODICE del calcolo ed esegui il codice. Quindi usi la creatività dell'IA (costruendo il codice) e disabiliti il ​​lato inaffidabile (aritmetica della testa).

Suggerimento: quando ottieni un risultato numerico da un'intelligenza artificiale, dì "rappresentalo con una riga di Python". Il codice stesso verifica l'account e ti consente di eseguirlo e confermarlo. Se non vedi un codice, non fidarti del numero.

Tipici compiti di analisi dei dati in chimica

  • Stechiometria: mole, massa, reagente limitante, resa teorica, calcolo della resa percentuale.
  • Concentrazione: molarità, diluizione (M1V1 = M2V2), conversioni ppm.
  • Calibrazione: tracciare una linea di calibrazione con la legge di Beer-Lambert (assorbanza ∝ concentrazione) e calcolare l'incognita.
  • Pulizia dei dati: lettura delle tabelle di misurazione con panda, segnalazione di valori anomali, media/deviazione standard.
  • Visualizzazione: disegno curva di calibrazione, grafico cinetico, curva di titolazione.

Passo dopo passo: analisi sicura dei dati con l'intelligenza artificiale

  1. Definire i dati: fornire chiaramente colonne, unità, righe campione. Se non c'è alcuna unità, l'IA fa delle ipotesi.
  2. Richiedi il codice, non i risultati: dì "Scrivi il codice panda/NumPy che lo calcola".
  3. Esegui il codice: eseguilo tu stesso o in un ambiente in grado di eseguire il codice.
  4. Test con caso semplice: prova il codice con un piccolo esempio di cui conosci la risposta.
  5. Controllo dell'unità e dell'ordine: l'unità e l'entità del risultato sono fisicamente ragionevoli?
  6. Documento: aggiungi il codice e l'output al taccuino dell'esperimento (unità 8).

Quattro modelli copiabili

1) Stechiometria e resa percentuale:

Reazione: acido salicilico (MA 138.12) + anidride acetica -> aspirina (MA 180.16). Dati: sono stati utilizzati 2,00 g di acido salicilico, l'anidride acetica era in eccesso. Aspirina ottenuta: 2,15 g. Compito: scrivere il codice Python che calcola la resa teorica e la resa percentuale. Definire i pesi molecolari come variabili, stampare il risultato in unità. Non calcolare in testa; basta fornire il codice eseguibile.

2) Calibrazione Birra-Lambert:

Dati di calibrazione (concentrazione mol/L -> assorbanza): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Assorbanza del campione sconosciuta: 0,50. Compito: eseguire la calibrazione lineare con numpy.polyfit, pendenza/intercetta e calcolare R^2, trovare la concentrazione sconosciuta. Traccia i dati + la linea di adattamento con matplotlib.

3) tabella misure con panda:

Ho un CSV: colonne = campione, peso_g, volume_mL, assorbanza. Compito: leggere con i panda, calcolare la concentrazione (g/L) per ciascun campione, contrassegnare le righe con assorbanza < 0 come errate, fornire il codice per stampare la media e la deviazione std dei gruppi. Specificare le unità con una riga di commento.

4) Verifica del conto di diluizione:

Desidero preparare 100 ml di soluzione 0,05 M da una soluzione madre 0,5 M. Attività: scrivere la riga Python che calcola il volume di stock richiesto con M1V1=M2V2. Stampare il risultato in ml e verificare come commento che per un controllo logico è prevista una diluizione 10 volte.

Prompt debole / Prompt forte

Debole:

Quanta aspirina proviene da 2 grammi di acido salicilico?

L'IA dà un numero dalla testa; Se ricorda i pesi molecolari in modo errato, il risultato sarà distorto e non sarà visibile come è stato calcolato.

Forte:

Assumere acido salicilico MA=138,12, aspirina MA=180,16, massa=2,00 g, resa 100%. Compito: scrivere il codice Python che calcola la massa teorica dell'aspirina; commenta ogni passaggio (mole -> mol -> massa), stampa il risultato in g.

Differenza: pesi molecolari indicati, codice richiesto, passaggi commentati, unità specificata. Il risultato è accurato e verificabile.

Predizione verbale ecc. Codice eseguito

Dimensioni

Predizione verbale del modello linguistico

Esecuzione di Python

Precisione aritmetica

Variabile, potrebbe verificarsi un errore

Deterministico, certo

Verificabilità

Aborto spontaneo (non è chiaro come sia avvenuto)

Alto (codice visibile)

ripetibilità

basso

alto

Tracciamento delle unità

debole

Può essere mantenuto aperto nel codice

Uso corretto

Idea, struttura dell'edificio

Risultato numerico finale

mini custodie

Caso 1 – Errore aritmetico verbale. Uno studente chiede all’AI “0,0145 mol × 180,16 g/mol?” chiese; "2,72 g", ha detto l'IA. In realtà è 2,61 g. Quando lo studente ha detto "mostralo in Python", YZ ha scritto 0,0145 * 180,16 e il risultato è 2.612; La prima risposta verbale non era corretta. Lezione: preferire il codice anche per moltiplicazioni molto semplici.

Caso 2 — Verifica R² nella calibrazione. Un utente ha eseguito una calibrazione Beer-Lambert; Risulta R² = 0,981. L'IA ha detto "lineare, affidabile" ma il punto con la concentrazione più alta era sotto la linea (saturazione). Quando l'utente ha visto il grafico, ha spostato il punto più alto fuori dall'intervallo lineare, R² è aumentato a 0,999. Lezione: R² da solo non è sufficiente; vedere residui/trama.

Caso 3 – Confusione di unità. In un'analisi non era chiaro se la concentrazione fosse mg/l o g/l; L’IA presupponeva g/L e i risultati erano 1000 volte sbagliati. È stato risolto quando l'utente specificava esplicitamente l'unità di colonna. Lezione: scambiare sempre l'unità, supponendo che l'IA sia costosa.

Errori comuni

  • Basandosi sul numero verbale. Richiedi ed esegui sempre il codice anziché fare calcoli mentali.
  • Senza specificare l'unità. Miscelare mg/L con g/L, ml con L, provoca un errore di 1000 volte.
  • Non testare il codice. Applicazione ai big data senza test con un piccolo esempio in cui la risposta è nota.
  • Considerando R² come unico criterio. Fidarsi dei punti di non linearità senza vederli graficamente.
  • Salta il reagente del tester. Calcolo della resa teorica senza determinare il reagente limitante in stechiometria.
  • Effusione di passi significativi. Riportare il risultato su 8 cifre quando la misurazione è di 3 cifre significative.
Attenzione: anche il codice scritto dall'IA potrebbe essere difettoso (nome della colonna sbagliato, formula sbagliata). L'esecuzione del codice rende il risultato deterministico, ma è necessario confermare con un esempio noto che il codice calcoli la cosa giusta.

In sintesi

  • Lascia i risultati numerici al codice Python eseguito, non all'ipotesi verbale del modello linguistico.
  • L'intelligenza artificiale scrive rapidamente codice per stechiometria, calibrazione, pulizia dei dati e visualizzazione nell'analisi dei dati chimici.
  • Indossare sempre le unità; La confusione delle unità è l’errore più costoso.
  • Esaminare i residui e il grafico oltre a R² nella calibrazione.
  • Testare il codice con un semplice esempio con una risposta nota; L'essere umano verifica l'accuratezza del codice.

Compito dell'applicazione

Avere un set di dati di calibrazione o stechiometria (in caso contrario, utilizzare i dati Beer-Lambert sopra). Chiedi all'intelligenza artificiale il codice Python che esegue l'analisi (il codice, non il risultato). Esegui il codice; quindi testalo con un piccolo campione di risposte note. Chiedi verbalmente all’IA lo stesso calcolo e confronta i due risultati: c’è differenza? Interpretare il grafico di R² e del residuo nella calibrazione. Inserisci il codice, l'output e un breve commento in un documento.

lista di controllo

  • [ ] Ottengo i risultati numerici dal codice, non dall'ipotesi verbale.
  • [ ] Indico chiaramente l'unità di ciascuna colonna di dati.
  • [ ] Provo il codice con un piccolo campione di cui si conosce la risposta.
  • [ ] Eseguo l'analisi dei residui/grafici accanto a R² nella calibrazione.
  • [ ] Determinare il reagente limitante in stechiometria.
  • [ ] Riporto i risultati con l'apposita cifra significativa.