Začněte nyníZačněte zdarma

Parametry modelu

Teď, když máš sestavený obecný model, pojďme ho "optimalizovat" neboli "fitovat" na novou (předem načtenou) sadu naměřených dat xd, yd – a to tak, že najdeme konkrétní hodnoty parametrů modelu a0, a1, při kterých se modelovaná data a naměřená data na grafu překrývají.

Jde o iterativní vizualizační postup: začneme s odhadem parametrů modelu, předáme je do funkce model(), výsledná modelovaná data zakreslíme přes naměřená data a vizuálně zkontrolujeme, zda přímka prochází body. Pokud ne, parametry upravíme a zkusíme to znovu.

Toto cvičení je součástí kurzu

Úvod do lineárního modelování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Dokonči funkci plot_data_and_model(xd, yd, ym) tak, že do interních volání pro vykreslení předáš xd, yd a xd, ym.
  • Vypočítej předpovědi modelu pomocí ym = model() – předej jí data xd a odhadnuté parametry modelu a0 a a1.
    • Prohlédni si výše uvedená data a nech se jimi vést při volbě prvních dvou odhadů. Po zobrazení grafu se k odhadům můžeš kdykoli vrátit a upravit je.
  • Pomocí plot_data_and_model() vykresli xd, yd a ym společně do jednoho grafu.
  • Změň hodnoty a0 a a1 a opakuj předchozí 2 kroky, dokud přímka neprojde všemi body.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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, ____)
Upravit a spustit kód