Modello lineare in cosmologia
Meno di 100 anni fa, l’universo sembrava composto da un’unica galassia statica, con forse un milione di stelle. Oggi abbiamo osservazioni di centinaia di miliardi di galassie, ciascuna con centinaia di miliardi di stelle, tutte in movimento.
L’inizio della moderna scienza fisica della cosmologia arrivò con la pubblicazione del 1929 di Edwin Hubble, che includeva l’uso di un modello lineare.
In questo esercizio costruirai un modello la cui pendenza fornirà la Costante di Hubble, che descrive la velocità delle galassie come funzione lineare della distanza dalla Terra.

Questo esercizio fa parte del corso
Introduzione alla modellazione lineare in Python
Istruzioni dell'esercizio
- Usa il
DataFramepre-caricato con le colonnenames,distancesevelocities. - Crea e adatta un modello usando
ols().fit()conformula="velocities ~ distances"edata=df. - Estrai le stime dei parametri per intercetta e pendenza usando
model_fit.params, assegnandole rispettivamente ada0ea1. - Ripeti il processo per i corrispondenti valori di incertezza, questa volta usando
model_fit.bse.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))