00TD02A 1P ‐ 8‐Modeller - itnett/FTD02H-N GitHub Wiki

8 Modeller

Innhold

Leksjon Tema
8.1 Lineære modeller
8.2 Lineær regresjon
8.3 Polynomfunksjoner
8.4 Polynomregresjon
8.5 Potensfunksjoner
8.6 Potensregresjon
8.7 Eksponentialfunksjoner
8.8 Eksponentialregresjon
8.9 Gjennomsnittlig vekstfart

Leksjon 8.1: Lineære modeller

🧐 Hva er Lineære Modeller?

Lineære modeller bruker lineære funksjoner til å beskrive forholdet mellom to variabler. Disse modellene gir en rett linje når de plottes i et koordinatsystem.

📚 Grunnleggende Konsepter:

  1. Lineær Funksjon:

    • Form: $y = ax + b$, der $a$ er stigningstallet og $b$ er konstantleddet.
    • Eksempel: $y = 2x + 3$
  2. Bruk av Lineære Modeller:

    • Brukes til å forutsi verdier og analysere trender.
    • Eksempel: Forutsi salget basert på tidligere data.

📝 Øvingsoppgaver:

  • Lag en lineær modell for forholdet mellom timer studert og karakter oppnådd.
  • Tegn grafen for $y = -x + 4$ og identifiser stigningstallet og konstantleddet.

Lineære modeller


Leksjon 8.2: Lineær regresjon

🔍 Hva er Lineær Regresjon?

Lineær regresjon er en statistisk metode som finner den beste tilpassede linjen gjennom et sett med punkter. Denne linjen minimerer avstanden mellom punktene og linjen.

📚 Grunnleggende Konsepter:

  1. Minste Kvadraters Metode:

    • Metode for å finne den beste tilpassede linjen.
    • Linjen $y = ax + b$ minimerer summen av kvadratene til avstandene fra punktene til linjen.
  2. Bruk av Lineær Regresjon:

    • Analyserer trender og forutsier fremtidige verdier basert på tidligere data.

📝 Øvingsoppgaver:

  • Utfør en lineær regresjon på datasettet: {(1, 2), (2, 3), (3, 5), (4, 4)}.
  • Finn den beste tilpassede linjen for datasettet og tegn grafen.

Lineær regresjon


Leksjon 8.3: Polynomfunksjoner

🤔 Hva er Polynomfunksjoner?

Polynomfunksjoner er funksjoner som kan uttrykkes som et polynom. De har formen $P(x) = a_n x^n + a_{n-1} x^{n-1} + ... + a_1 x + a_0$.

📚 Grunnleggende Konsepter:

  1. Grad av Polynom:

    • Graden er det høyeste eksponentet til $x$.
    • Eksempel: $P(x) = 3x^2 + 2x + 1$ er et polynom av andre grad.
  2. Grafen til Polynomfunksjoner:

    • Grafen har kurver og kan ha flere nullpunkter.
    • Eksempel: $P(x) = x^2 - 4x + 4$ har formen av en parabel.

📝 Øvingsoppgaver:

  • Tegn grafen til polynomet $P(x) = x^3 - 3x^2 + 2x$.
  • Finn nullpunktene til $P(x) = x^2 - 5x + 6$.

Polynomfunksjoner


Leksjon 8.4: Polynomregresjon

🌟 Hva er Polynomregresjon?

Polynomregresjon er en statistisk metode for å tilpasse en polynomfunksjon til et sett med datapunkter. Dette gir en kurvet tilpasning i stedet for en rett linje.

📚 Grunnleggende Konsepter:

  1. Valg av Grad:

    • Graden til polynomet bestemmes av antall kurver og svinger i dataene.
    • Eksempel: Et polynom av andre grad kan tilpasses en datasett som har en parabolsk form.
  2. Bruk av Polynomregresjon:

    • Brukes når dataene viser en kurvet trend i stedet for en lineær trend.

📝 Øvingsoppgaver:

  • Utfør en polynomregresjon av andre grad på datasettet: {(1, 1), (2, 4), (3, 9), (4, 16)}.
  • Tegn den tilpassede kurven og datapunktene.

Polynomregresjon


Leksjon 8.5: Potensfunksjoner

📈 Hva er Potensfunksjoner?

Potensfunksjoner er funksjoner som kan skrives på formen $f(x) = k \cdot x^n$, der $k$ og $n$ er konstanter.

📚 Grunnleggende Konsepter:

  1. Form og Egenskaper:

    • Eksempel: $f(x) = 3x^2$ er en potensfunksjon med $k = 3$ og $n = 2$.
    • Grafen avhenger av verdiene til $k$ og $n$.
  2. Bruk av Potensfunksjoner:

    • Brukes til å modellere fenomener der endringen i en variabel følger en potenslov.

📝 Øvingsoppgaver:

  • Tegn grafen til $f(x) = 2x^3$.
  • Hva er verdien av $f(2)$ for funksjonen $f(x) = 4x^2$?

Potensfunksjoner


Leksjon 8.6: Potensregresjon

🔄 Hva er Potensregresjon?

Potensregresjon er en metode for å tilpasse en potensfunksjon til et sett med data. Denne regresjonen brukes når dataene følger en potenslov.

📚 Grunnleggende Konsepter:

  1. Formel:

    • Funksjonen har formen $y = kx^n$, der $k$ og $n$ er funnet ved regresjon.
  2. Bruk av Potensregresjon:

    • Brukes når dataene viser en forhold som følger en potenslov.

📝 Øvingsoppgaver:

  • Utfør en potensregresjon på datasettet: {(1, 1), (2, 4), (3, 9), (4, 16)}.
  • Tegn den tilpassede funksjonen og sammenlign med dataene.

Potensregresjon


Leksjon 8.7: Eksponentialfunksjoner

🌟 Hva er Eksponentialfunksjoner?

Eksponentialfunksjoner er funksjoner der en variabel er i eksponenten. De har formen $f(x) = a \cdot b^x$, der $a$ er en startverdi og $b$ er vekstfaktoren.

📚 Grunnleggende Konsepter:

  1. Form og Egenskaper:

    • Eksempel: $f(x) = 2 \cdot 3^x$ er en eksponentialfunksjon.
    • Grafen stiger raskt hvis $b > 1$ og synker hvis $0 < b < 1$.
  2. Bruk av Eksponentialfunksjoner:

    • Brukes til å modellere vekstprosesser som populasjonsvekst og radioaktivt henfall.

📝 Øvingsoppgaver:

  • Tegn grafen til $f(x) = 5 \cdot 2^x$.
  • Hva er verdien av $f(3)$ for funksjonen $f(x) = 4 \cdot 3^x$?

Eksponentialfunksjoner


Leksjon 8.8: Eksponentialregresjon

📊 Hva er Eksponentialregresjon?

Eksponentialregresjon er en metode for å tilpasse en eksponentialfunksjon til et sett med data. Denne regresjonen brukes når dataene følger en eksponentiell trend.

📚 Grunnleggende Konsepter:

  1. Formel:
    • Funksjonen har formen $y = a \cdot b^x$, der $a$ og $b$ er fun

net ved regresjon.

  1. Bruk av Eksponentialregresjon:
    • Brukes når dataene viser en eksponentiell vekst eller forfall.

📝 Øvingsoppgaver:

  • Utfør en eksponentialregresjon på datasettet: {(1, 2), (2, 4), (3, 8), (4, 16)}.
  • Tegn den tilpassede funksjonen og sammenlign med dataene.

Eksponentialregresjon


Leksjon 8.9: Gjennomsnittlig Vekstfart

⚖️ Hva er Gjennomsnittlig Vekstfart?

Gjennomsnittlig vekstfart er endringen i en mengde over tid delt på tidsintervallet. Den beskriver hvor raskt noe vokser eller synker i gjennomsnitt over en periode.

📚 Grunnleggende Konsepter:

  1. Formel:

    • Gjennomsnittlig vekstfart = $\frac{\Delta y}{\Delta t}$, der $\Delta y$ er endringen i mengden og $\Delta t$ er tidsintervallet.
  2. Eksempel:

    • Hvis en populasjon vokser fra 100 til 200 på 5 år, er den gjennomsnittlige vekstfarten $\frac{200 - 100}{5} = 20$ per år.

📝 Øvingsoppgaver:

  • Beregn gjennomsnittlig vekstfart for en investering som vokser fra $1000 til $1500 på 3 år.
  • Hva er gjennomsnittlig vekstfart hvis en plante vokser fra 10 cm til 25 cm på 2 måneder?

Gjennomsnittlig vekstfart


Full Forklaring og Fasit

Tabell for Øvingsoppgaver

Oppgave Delvis Utregning Full Utregning Riktig Svar
Tegn grafen for $y = -x + 4$ Plot punktene (0, 4), (1, 3), (2, 2) Tegn linjen Grafen
Utfør lineær regresjon på {(1, 2), (2, 3), (3, 5), (4, 4)} Beregn minste kvadraters linje Tegn linjen $y = 0.5x + 2$
Tegn grafen til $f(x) = 2x^3$ Plot punktene Tegn kurven Grafen
Utfør polynomregresjon på {(1, 1), (2, 4), (3, 9), (4, 16)} Beregn polynomet Tegn kurven $y = x^2$
Tegn grafen til $f(x) = 5 \cdot 2^x$ Plot punktene Tegn kurven Grafen
Beregn gjennomsnittlig vekstfart for investering $\frac{1500 - 1000}{3}$ $\frac{500}{3}$ 166.67 per år

Eksempel Forklaring

  1. Lineære Modeller:

    • Tegn grafen for $y = -x + 4$:
      • Plot punktene (0, 4), (1, 3), (2, 2).
      • Tegn en linje gjennom punktene.
      • Svar: Grafen.
  2. Lineær Regresjon:

    • Utfør lineær regresjon på datasettet {(1, 2), (2, 3), (3, 5), (4, 4)}:
      • Bruk minste kvadraters metode for å finne linjen $y = 0.5x + 2$.
      • Tegn linjen.
      • Svar: $y = 0.5x + 2$.
  3. Polynomregresjon:

    • Utfør polynomregresjon på datasettet {(1, 1), (2, 4), (3, 9), (4, 16)}:
      • Beregn polynomet: $y = x^2$.
      • Tegn kurven.
      • Svar: $y = x^2$.
  4. Gjennomsnittlig Vekstfart:

    • Beregn gjennomsnittlig vekstfart for en investering som vokser fra $1000 til $1500 på 3 år:
      • Bruk formelen: $\frac{1500 - 1000}{3} = \frac{500}{3} = 166.67$ per år.
      • Svar: 166.67 per år.

Med disse eksemplene og forklaringene, kan du nå øve på ulike typer modeller og deres egenskaper, og forstå hvordan du kommer frem til riktige svar. Øv gjerne på flere oppgaver for å styrke ferdighetene dine! 📘✨


Her er trinket-skripter for hver leksjon som dekker temaene innenfor emnet "Modeller". Hvert skript tegner opp og viser resultatene grafisk og numerisk. Kommentarene i skriptene forklarer hva koden gjør, og hvordan man kan bruke den til å lære om modeller og deres egenskaper.


Leksjon 8.1: Lineære modeller

# Trinket-kode for Leksjon 8.1: Lineære modeller

def linear_model(x):
    return 2 * x + 3

# Eksempelbruk
print("Leksjon 8.1: Lineære modeller")
x = float(input("Skriv inn verdien av x: "))
print(f"y = 2 * {x} + 3 = {linear_model(x)}")

# Tegn grafen til den lineære modellen
import matplotlib.pyplot as plt
import numpy as np

x_values = np.linspace(-10, 10, 400)
y_values = linear_model(x_values)

plt.plot(x_values, y_values, label='y = 2x + 3')
plt.title('Grafen til den lineære modellen y = 2x + 3')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.2: Lineær regresjon

# Trinket-kode for Leksjon 8.2: Lineær regresjon

import numpy as np
import matplotlib.pyplot as plt

# Datasett
x = np.array([1, 2, 3, 4])
y = np.array([2, 3, 5, 4])

# Utfør lineær regresjon
coefficients = np.polyfit(x, y, 1)
linear_regression = np.poly1d(coefficients)

# Print ut koeffisientene
print(f"Leksjon 8.2: Lineær regresjon")
print(f"Den beste tilpassede linjen er: y = {coefficients[0]}x + {coefficients[1]}")

# Tegn datapunktene og regresjonslinjen
plt.scatter(x, y, color='red', label='Datapunkter')
plt.plot(x, linear_regression(x), label=f'y = {coefficients[0]:.2f}x + {coefficients[1]:.2f}')
plt.title('Lineær regresjon')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.3: Polynomfunksjoner

# Trinket-kode for Leksjon 8.3: Polynomfunksjoner

def polynomial_function(x):
    return x**3 - 3*x**2 + 2*x

# Eksempelbruk
print("Leksjon 8.3: Polynomfunksjoner")
x = float(input("Skriv inn verdien av x: "))
print(f"P({x}) = {polynomial_function(x)}")

# Tegn grafen til polynomfunksjonen
import matplotlib.pyplot as plt
import numpy as np

x_values = np.linspace(-3, 3, 400)
y_values = polynomial_function(x_values)

plt.plot(x_values, y_values, label='P(x) = x^3 - 3x^2 + 2x')
plt.title('Grafen til polynomfunksjonen P(x) = x^3 - 3x^2 + 2x')
plt.xlabel('x')
plt.ylabel('P(x)')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.4: Polynomregresjon

# Trinket-kode for Leksjon 8.4: Polynomregresjon

import numpy as np
import matplotlib.pyplot as plt

# Datasett
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])

# Utfør polynomregresjon av andre grad
coefficients = np.polyfit(x, y, 2)
polynomial_regression = np.poly1d(coefficients)

# Print ut koeffisientene
print(f"Leksjon 8.4: Polynomregresjon")
print(f"Det beste tilpassede polynomet er: y = {coefficients[0]}x^2 + {coefficients[1]}x + {coefficients[2]}")

# Tegn datapunktene og regresjonskurven
x_fit = np.linspace(0, 5, 100)
plt.scatter(x, y, color='red', label='Datapunkter')
plt.plot(x_fit, polynomial_regression(x_fit), label=f'y = {coefficients[0]:.2f}x^2 + {coefficients[1]:.2f}x + {coefficients[2]:.2f}')
plt.title('Polynomregresjon')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.5: Potensfunksjoner

# Trinket-kode for Leksjon 8.5: Potensfunksjoner

def power_function(x):
    return 2 * x**3

# Eksempelbruk
print("Leksjon 8.5: Potensfunksjoner")
x = float(input("Skriv inn verdien av x: "))
print(f"f({x}) = 2 * {x}^3 = {power_function(x)}")

# Tegn grafen til potensfunksjonen
import matplotlib.pyplot as plt
import numpy as np

x_values = np.linspace(0, 5, 400)
y_values = power_function(x_values)

plt.plot(x_values, y_values, label='f(x) = 2x^3')
plt.title('Grafen til potensfunksjonen f(x) = 2x^3')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.6: Potensregresjon

# Trinket-kode for Leksjon 8.6: Potensregresjon

import numpy as np
import matplotlib.pyplot as plt

# Datasett
x = np.array([1, 2, 3, 4])
y = np.array([1, 8, 27, 64])

# Utfør potensregresjon (log-log transformasjon)
log_x = np.log(x)
log_y = np.log(y)
coefficients = np.polyfit(log_x, log_y, 1)
k = np.exp(coefficients[1])
n = coefficients[0]

# Print ut koeffisientene
print(f"Leksjon 8.6: Potensregresjon")
print(f"Den beste tilpassede funksjonen er: y = {k:.2f} * x^{n:.2f}")

# Tegn datapunktene og regresjonskurven
x_fit = np.linspace(1, 4, 100)
y_fit = k * x_fit**n
plt.scatter(x, y, color='red', label='Datapunkter')
plt.plot(x_fit, y_fit, label=f'y = {k:.2f} * x^{n:.2f}')
plt.title('Potensregresjon')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.7: Eksponentialfunksjoner

# Trinket-kode for Leksjon 8.7: Eksponentialfunksjoner

def exponential_function(x):
    return 5 * 2**x

# Eksempelbruk
print("Leksjon 8.7: Eksponentialfunksjoner")
x = float(input("Skriv inn verdien av x: "))
print(f"f({x}) = 5 * 2^{x} = {exponential_function(x)}")

# Tegn grafen til eksponentialfunksjonen
import matplotlib.pyplot as plt
import numpy as np

x_values = np.linspace(

0, 5, 400)
y_values = exponential_function(x_values)

plt.plot(x_values, y_values, label='f(x) = 5 * 2^x')
plt.title('Grafen til eksponentialfunksjonen f(x) = 5 * 2^x')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.8: Eksponentialregresjon

# Trinket-kode for Leksjon 8.8: Eksponentialregresjon

import numpy as np
import matplotlib.pyplot as plt

# Datasett
x = np.array([1, 2, 3, 4])
y = np.array([2, 4, 8, 16])

# Utfør eksponentialregresjon (log transformasjon av y)
log_y = np.log(y)
coefficients = np.polyfit(x, log_y, 1)
a = np.exp(coefficients[1])
b = np.exp(coefficients[0])

# Print ut koeffisientene
print(f"Leksjon 8.8: Eksponentialregresjon")
print(f"Den beste tilpassede funksjonen er: y = {a:.2f} * {b:.2f}^x")

# Tegn datapunktene og regresjonskurven
x_fit = np.linspace(1, 4, 100)
y_fit = a * b**x_fit
plt.scatter(x, y, color='red', label='Datapunkter')
plt.plot(x_fit, y_fit, label=f'y = {a:.2f} * {b:.2f}^x')
plt.title('Eksponentialregresjon')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Leksjon 8.9: Gjennomsnittlig Vekstfart

# Trinket-kode for Leksjon 8.9: Gjennomsnittlig vekstfart

def average_growth_rate(y0, y1, t0, t1):
    return (y1 - y0) / (t1 - t0)

# Eksempelbruk
print("Leksjon 8.9: Gjennomsnittlig vekstfart")
y0 = float(input("Skriv inn startverdien (y0): "))
y1 = float(input("Skriv inn sluttverdien (y1): "))
t0 = float(input("Skriv inn starttidspunktet (t0): "))
t1 = float(input("Skriv inn sluttidspunktet (t1): "))
growth_rate = average_growth_rate(y0, y1, t0, t1)
print(f"Gjennomsnittlig vekstfart fra {t0} til {t1} er {growth_rate} per tidsenhet")

# Tegn vekstkurven
import matplotlib.pyplot as plt
import numpy as np

t_values = np.linspace(t0, t1, 400)
y_values = y0 + growth_rate * (t_values - t0)

plt.plot(t_values, y_values, label=f'Gjennomsnittlig vekstfart: {growth_rate:.2f}')
plt.scatter([t0, t1], [y0, y1], color='red')  # Start- og sluttverdier
plt.title('Gjennomsnittlig vekstfart')
plt.xlabel('Tid')
plt.ylabel('Verdi')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()

Med disse skriptene kan du lære om ulike typer modeller og deres egenskaper. Hvert skript gir både grafisk og numerisk output for å hjelpe deg med å forstå hvordan modellene fungerer.