Liniowy model w kosmologii
Jeszcze niecałe 100 lat temu uważano, że wszechświat składa się z jednej statycznej galaktyki, zawierającej może milion gwiazd. Dziś obserwujemy setki miliardów galaktyk, z których każda zawiera setki miliardów gwiazd – i wszystkie są w ruchu.
Podwaliny współczesnej kosmologii jako nauki przyrodniczej położyła publikacja Edwina Hubble'a z 1929 roku, w której zastosowano model liniowy.
W tym ćwiczeniu zbudujesz model, którego nachylenie wyznaczy stałą Hubble'a – opisującą prędkość galaktyk jako liniową funkcję odległości od Ziemi.

To ćwiczenie jest częścią kursu
Wprowadzenie do modelowania liniowego w Pythonie
Instrukcje do ćwiczenia
- Skorzystaj z wczytanego wcześniej
DataFramez kolumnaminames,distancesivelocities. - Zbuduj i dopasuj model za pomocą
ols().fit(), używającformula="velocities ~ distances"orazdata=df. - Wyodrębnij estymaty parametrów dla wyrazu wolnego i nachylenia przy użyciu
model_fit.params, przypisując je odpowiednio doa0ia1. - Powtórz ten proces dla odpowiadających im wartości niepewności, tym razem korzystając z
model_fit.bse.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))