Kom igångKom igång gratis

Variation kring trenden

Data behöver inte vara helt linjära – det kan förekomma slumpmässig variation eller "spridning" i mätningarna, och det påverkar även modellparametrarna. Denna variation i parametrarna kvantifieras med hjälp av "standardfel" och tolkas som "osäkerhet" i skattningen av modellparametern.

I den här övningen använder du ols från statsmodels för att bygga en modell och extrahera standardfelet för varje parameter i modellen.

Den här övningen är en del av kursen

Introduktion till linjär modellering i Python

Visa kurs

Övningsinstruktioner

  • Lagra de förinlästa data i en DataFrame df, och etikettera x_data som times och y_data som distances.
  • Använd model_fit = ols().fit() för att anpassa en linjär modell med formula="distances ~ times" till data=df.
  • Extrahera det skattade interceptet model_fit.params['Intercept'] och standardfelet för interceptet från model_fit.bse['Intercept'].
  • Upprepa för lutningen och skriv sedan ut alla 4 värden med beskrivande namn.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Store x_data and y_data, as times and distances, in df, and use ols() to fit a model to it.
df = pd.DataFrame(dict(____=x_data, ____=y_data))
model_fit = ols(____="distances ~ times", data=____).____()

# Extact the model parameters and their uncertainties
a0 = model_fit.____['Intercept']
e0 = model_fit.____['Intercept']
a1 = model_fit.____['times']
e1 = model_fit.____['times']

# Print the results with more meaningful names
print('Estimate    of the intercept = {:0.2f}'.format(____))
print('Uncertainty of the intercept = {:0.2f}'.format(____))
print('Estimate    of the slope = {:0.2f}'.format(____))
print('Uncertainty of the slope = {:0.2f}'.format(____))
Redigera och kör kod