ÎncepețiÎncepe gratuit

Model liniar în cosmologie

Cu mai puțin de 100 de ani în urmă, universul părea să fie alcătuit dintr-o singură galaxie statică, conținând poate un milion de stele. Astăzi avem observații asupra a sute de miliarde de galaxii, fiecare cu sute de miliarde de stele, toate aflate în mișcare.

Începuturile cosmologiei moderne ca știință fizică au venit odată cu publicarea în 1929 de către Edwin Hubble a unui studiu care includea utilizarea unui model liniar.

În acest exercițiu, vei construi un model al cărui pantă va da Constanta lui Hubble, care descrie viteza galaxiilor ca funcție liniară a distanței față de Pământ.

Graficul lui Hubble

Acest exercițiu face parte din cursul

Introducere în modelarea liniară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește DataFrame-ul preîncărcat, care conține coloanele names, distances și velocities.
  • Construiește și antrenează un model folosind ols().fit() cu formula="velocities ~ distances" și data=df.
  • Extrage estimările parametrilor pentru intercept și pantă folosind model_fit.params, atribuindu-le lui a0, respectiv a1.
  • Repetă procesul pentru valorile corespunzătoare de incertitudine, folosind de această dată model_fit.bse.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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))
Editează și rulează codul