Aan de slagBegin gratis

Modelparameters

Nu je een algemeen model hebt gebouwd, gaan we het "optimaliseren" of "fitten" op een nieuwe (vooringeladen) gemeten gegevensset, xd, yd, door de specifieke waarden te vinden voor de modelparameters a0, a1 waarvoor de modeldata en de gemeten data in een plot op één lijn liggen.

Dit is een iteratieve visualisatiestrategie: we beginnen met een gok voor de modelparameters, geven die door aan model(), leggen de gemodelleerde data over de gemeten data heen, en controleren visueel of de lijn door de punten loopt. Zo niet, dan passen we de modelparameters aan en proberen we het opnieuw.

Deze oefening maakt deel uit van de cursus

Introductie tot lineaire modellering in Python

Bekijk cursus

Oefeninstructies

  • Vul de functie plot_data_and_model(xd, yd, ym) aan en geef xd, yd en xd, ym door aan de interne plotaanroepen.
  • Bereken modelvoorspellingen met ym = model() door zowel de data xd als de gegokte modelparameters a0 en a1 door te geven.
    • Bekijk de data hierboven en gebruik dit als leidraad voor je eerste twee schattingen. Je kunt deze schattingen later aanpassen nadat je hebt gezien hoe de lijn bij de data past.
  • Gebruik plot_data_and_model() om xd, yd en ym samen te plotten.
  • Pas de waarden van a0 en a1 aan en herhaal de vorige 2 stappen totdat de lijn door alle punten loopt.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Complete the plotting function definition
def plot_data_with_model(xd, yd, ym):
    fig = plot_data(____, ____)  # plot measured data
    fig.axes[0].plot(____, ____, color='red')  # over-plot modeled data
    plt.show()
    return fig

# Select new model parameters a0, a1, and generate modeled `ym` from them.
a0 = ____
a1 = ____
ym = model(xd, a0, a1)

# Plot the resulting model to see whether it fits the data
fig = plot_data_with_model(xd, yd, ____)
Code bewerken en uitvoeren