Aan de slagBegin gratis

Intercept en startpunten

In deze oefening zie je de parameters intercept en helling in de context van het modelleren van metingen van het volume van een oplossing in een grote glazen kan. De oplossing bestaat uit water, granen, suikers en gist. De totale massa van zowel de oplossing als de glazen container is ook gemeten, maar de massa van de lege container is niet genoteerd.

Jouw taak is om de vooraf ingeladen pandas DataFrame df, met de kolommen volumes en masses, te gebruiken om een lineair model te bouwen dat de masses (y-gegevens) relateert aan de volumes (x-gegevens). De helling is een schatting van de dichtheid (verandering in massa / verandering in volume) van de oplossing, en het intercept is een schatting van het gewicht van de lege container (massa wanneer volume=0).

Deze oefening maakt deel uit van de cursus

Introductie tot lineaire modellering in Python

Bekijk cursus

Oefeninstructies

  • Importeer ols() uit statsmodels en gebruik dit om een model te fitten op data=df met formula = "masses ~ volumes".
  • Extraheer het intercept a0 en de helling a1 met respectievelijk .params['Intercept'] en .params['volumes'].
  • Print a0 en a1 met fysisch betekenisvolle namen.
  • Print model_fit() en zoek naar waarden die overeenkomen met die hierboven gevonden; let op de rijlabeled Intercept, volumes, en een kolomlabel coef.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Import ols from statsmodels, and fit a model to the data
from statsmodels.formula.api import ols
model_fit = ols(formula="____ ~ ____", data=____)
model_fit = model_fit.fit()

# Extract the model parameter values, and assign them to a0, a1
a0 = model_fit.params['____']
a1 = model_fit.params['____']

# Print model parameter values with meaningful names, and compare to summary()
print( "container_mass   = {:0.4f}".format(____) )
print( "solution_density = {:0.4f}".format(____) )
print( model_fit.summary() )
Code bewerken en uitvoeren