Workshop 1: Datahåndtering#

Pensum til eksamen: Datahåndtering

  1. Lese og sortere fildata (med hvilket som helst bibliotek).

  2. Lage gode visualiseringer.

  3. Definere ulike statistiske størrelser og bruke egne funksjoner og ferdige funksjoner til å regne dem ut.

  4. Gjøre rede for og lage enkle maskinlæringsmodeller ved bruk av bestemmelsestrealgoritmer.

  5. Gjøre rede for, tolke og utføre regresjon med ferdige funksjoner.

Oppgaver#

Del 1:

  1. Les fila “vin.csv” inn i et program.

  2. Lag en ny dataframe med kun viner som har 5 eller mindre i kvalitet.

  3. Plott pH mot innholdet av vinsyre (“fixed acidity”) i g/L.

  4. Legg til en linje i plottet som viser gjennomsnittet av pH-en hos de utvalgte vinene. Legg også inn to andre linjer: én som viser gjennomsnitlig pH + standardavviket i pH, og én som viser gjennomsnittlig pH - standardavviket i pH.

  5. Lag en liste pH = [2.2, 2.5, 2.6] og regn ut gjennomsnitt og standardavvik av pH-målingene. Hva forteller disse verdiene deg? Hvorfor må du bruke empirisk standardavvik (dele på N - 1) og ikke standardavviket til en normalfordeling (teoretisk standardavvik) her?

  6. Gjør en lineær regresjon av dataene du visualiserte i oppgave 3. Forklar hva den lineære modellen du får, beskriver.

  7. Lag en visualisering som beskriver innholdet av sitronsyre (“citric acid”) i g/L for hver vinkvalitet. Visualiseringen må si noe om spredningen i måledata. Beskriv hva visualiseringen forteller oss.

  8. Regn ut 25 %, 50 % og 75 % kvartiler for innholdet av klorider i g/L. Hva forteller kvartilene deg?

  9. Lag en ny kolonne i datarammen som klassifiserer vinene som enten gode (kvalitet over 7), middels (kvalitet 5-7) eller dårlige (kvalitet under 5). Hvor mange viner er det i hver kategori?

  10. Lag to nye filer med minst to kolonner der du legger inn virkelige eller fiktive data. Les av filene med pandas. Lag filene slik at den ene fila har mellomrom som skilletegn, mens den andre har komma. Hva skjer når du leser inn filene? Hva må du gjøre for å lese inn filene riktig?

  11. Bruk biblioteket chemlib til å finne molmassen til butansyre.

  12. Nernst likning er gitt ved:

\[E_{\text{celle}} = E^\circ_{\text{celle}} - \frac{RT}{ne N_A} \ln Q\]

og beskriver cellepotensialet til en elektrokjemisk celle der \( E_{\text{celle}} \) er cellepotensialet, \( E^\circ_{\text{celle}} = E^\circ_{\text{oks}} + E^\circ_{\text{red}} \) er standard cellepotensialet, \( R = 8,31, \text{J K}^{-1} \text{ mol}^{-1} \) er gasskonstanten, \( n \) er antallet elektroner som blir overført i redoksreaksjonen, \( e = 1,60 \cdot 10^{-19}, \text{C} \) er elementærladningen, \( N_A = 6,02 \cdot 10^{23} \, \text{mol}^{-1} \) er Avogadros tall og \( Q \) er reaksjonskoeffisienten.

I en bestemt elektrokjemisk celle skjer halvreaksjonene

\[\text{Cd (s)} \rightarrow \text{Cd}^{2+} (\text{aq}) + 2e^{-} \quad \quad E^\circ_{\text{oks}} = 0,403 \, \text{V}\]
\[\text{Pb}^{2+} (\text{aq}) + 2e^{-} \rightarrow \text{Pb (s)} \quad \quad E^\circ_{\text{red}} = -0,126 \, \text{V}\]

Lag en funksjon E_cell med relevante parametre som beregner cellepotensialet til en celle med standard cellepotensial E0cell der n elektroner blir overført og reaksjonskoeffisienten er Q ved temperaturen T.

Bruk funksjonen til å beregne og printe \( E_{\text{celle}} \) for en celle ved 25°C der konsentrasjonene av \( \text{Cd}^{2+} \) og \( \text{Pb}^{2+} \) er henholdsvis 0,0656 M og 0,192 M.

  1. Katalysatoreffekt: En forsker ønsker å teste om et nytt katalysatormateriale øker reaksjonshastigheten i en kjemisk prosess. Han måler reaksjonshastigheten (mol/L/s) i to ulike eksperimenter:

    Gruppe A (med ny katalysator): 3.1, 3.3, 3.2, 3.4, 3.1

    Gruppe B (uten ny katalysator): 2.8, 2.7, 2.9, 2.8, 2.7

    Bruk en egnet t-test for å avgjøre om den nye katalysatoren fører til en signifikant økning i reaksjonshastigheten. Formuler nullhypotese (\(H_0\)) og alternativ hypotese (\(H_1\)) før du gjennomfører testen. Kommenter resultatene dine.

  2. Vannrensing: En kjemiker undersøker effekten av et vannrensefilter. Før filtrering måler hun følgende konsentrasjoner av et forurensende stoff i vannet (mg/L): 5.3, 5.5, 5.6, 5.4, 5.2. Etter filtrering måler hun: 4.8, 5.0, 4.9, 4.7, 5.1.

    Bruk en egnet t-test til å undersøke om rensefilteret gir en signifikant reduksjon i konsentrasjonen av det forurensende stoffet. Formuler nullhypotese og alternativ hypotese, og diskuter betydningen av p-verdien du får.

  3. Renhet i syntese: En kjemiker måler renheten av et stoff produsert av et nytt synteseforløp. Den kjente standarden for renhet er 99.5%. Resultatene fra 5 uavhengige prøver viser: 99.6, 99.4, 99.5, 99.7, 99.3.

    Bruk en egnet t-test for ett utvalg til å undersøke om resultatene dine er signifikant forskjellig fra den kjente standarden. Hva kan du konkludere ut ifra resultatet av testen?

  4. Ekstraoppgave (oppvarming til neste workshop om numeriske metoder): Programmet nedenfor prøver å benytte følgende algoritme for å tilnærme kvadratroten av et tall \(a\) gitt et startgjett \(x_0\):

\[x_{n+1} = \frac{1}{2} \left(x_{n} + \frac{a}{x_{n}} \right)\]

Algoritmen gjentas til \(x \approx \sqrt{a}\).

Koden fungerer derimot ikke som den skal. Finn feilene og rett opp koden.

from pylab import *

a = 12
x = x0
x0 = 2,5
n = 100

i = 0
while i > n:
    x = 0.5*(x0 + a/x)
    
print("Rota av", a, "er omtrent:", x0)