Linjär modell inom kosmologi
För mindre än 100 år sedan verkade universum bestå av en enda statisk galax med kanske en miljon stjärnor. I dag har vi observationer av hundratals miljarder galaxer, var och en med hundratals miljarder stjärnor – alla i rörelse.
Den moderna kosmologins genombrott kom med Edwin Hubbles publikation 1929, där en linjär modell användes.
I den här övningen bygger du en modell vars lutning ger Hubbles konstant, som beskriver galaxers hastighet som en linjär funktion av avståndet från jorden.

Den här övningen är en del av kursen
Introduktion till linjär modellering i Python
Övningsinstruktioner
- Använd den fördefinierade
DataFramemed kolumnernanames,distancesochvelocities. - Bygg och anpassa en modell med
ols().fit(), medformula="velocities ~ distances"ochdata=df. - Extrahera parameterestimaten för intercept och lutning med hjälp av
model_fit.params, och tilldela dessa tilla0respektivea1. - Upprepa processen för motsvarande osäkerhetsvärden, den här gången med
model_fit.bse.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))