Regresjon#

Regresjon

Regresjon er en metode for å finne et funksjonsuttrykk som passer best mulig med observerte data.

Oppgaver

  1. Hva menes med at funksjonen vi får i en regresjon, er en modell?

  2. Programmet nedenfor utfører en regresjon av løseligheten til natriumklorid.

    a) Forklar hva programmet gjør.

    b) Hva tror du funksjonen polyfit gjør? Hva returnerer den?

  3. Kopier programmet over i en egnet editor og kjør programmet.

    a) Hva slags modell har vi fått? Skriv ned funksjonsuttrykket.

    b) Skriv ut a og b. Hva har funksjonen polyfit gitt oss? Stemmer det med det du trodde i oppgave b?

  4. Legg til egnede aksetitler.

  5. Prøv å endre polynommodellen ved å endre graden til polynomet slik at vi får en mer passende modell. Hint: Du må endre linje 10 og 14.

import numpy as np
import matplotlib.pyplot as plt

# Data
T = [0,20,40,60,80,100]
sol_NH3 = [88.5, 56.0, 34.0, 20.0, 11.0, 7.0]
sol_NaCl = [35.7, 35.9, 36.4, 37.1, 38.0, 39.2]

# Regresjon
a, b = np.polyfit(T, sol_NaCl, 1) # polynomgrad = 1

# Lager modellpunkter som kan plottes
x = np.linspace(0,200,10000)
y = a*x + b

plt.plot(T, sol_NaCl, marker = 'o', linestyle = ' ', label = 'Datapunkter')
plt.plot(x, y, label = "Modell")
plt.legend()
plt.xlabel("Sett inn aksetittel")
plt.ylabel("Sett inn aksetittel")
plt.show()
  1. Vi har et datasett som viser temperaturen en god vårdag i april.. Modifiser programmet ovenfor slik at det gjør regresjon av disse dataene. Du kan få et hint nedenfor dersom du trenger hjelp til å lese av datafila.