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

Lineární model v kosmologii

Ještě před méně než 100 lety se zdálo, že vesmír tvoří jediná statická galaxie s možná milionem hvězd. Dnes máme pozorování stovek miliard galaxií, z nichž každá obsahuje stovky miliard hvězd – a všechny se pohybují.

Základy moderní fyzikální kosmologie položila publikace Edwina Hubblea z roku 1929, která mimo jiné využívala lineární model.

V tomto cvičení sestavíš model, jehož sklon bude odpovídat Hubbleově konstantě – ta popisuje rychlost galaxií jako lineární funkci jejich vzdálenosti od Země.

Hubbleův graf

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

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

Zobrazit kurz

Pokyny k cvičení

  • Použij předem načtený DataFrame se sloupci names, distances a velocities.
  • Sestav a natrénuj model pomocí ols().fit() s parametry formula="velocities ~ distances" a data=df.
  • Vyextrahuj odhady parametrů pro úsek a sklon pomocí model_fit.params a ulož je do a0, resp. a1.
  • Zopakuj stejný postup pro odpovídající hodnoty nejistot, tentokrát s využitím model_fit.bse.

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

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

# Fit the model, based on the form of the formula
model_fit = ols(formula="velocities ~ ____", data=df).fit()

# Extract the model parameters and associated "errors" or uncertainties
a0 = model_fit.params['Intercept']
a1 = model_fit.params['____']
e0 = model_fit.bse['____']
e1 = model_fit.bse['distances']

# Print the results
print('For slope a1={:.02f}, the uncertainty in a1 is {:.02f}'.format(a1, e1))
print('For intercept a0={:.02f}, the uncertainty in a0 is {:.02f}'.format(a0, e0))
Upravit a spustit kód