Modelo lineal en cosmología
Hace menos de 100 años, el universo parecía estar compuesto por una única galaxia estática, con quizá un millón de estrellas. Hoy disponemos de observaciones de cientos de miles de millones de galaxias, cada una con cientos de miles de millones de estrellas, todas en movimiento.
Los inicios de la ciencia física moderna de la cosmología llegaron con la publicación de 1929 de Edwin Hubble, que incluía el uso de un modelo lineal.
En este ejercicio, construirás un modelo cuya pendiente te dará la Constante de Hubble, que describe la velocidad de las galaxias como una función lineal de la distancia a la Tierra.

Este ejercicio forma parte del curso
Introducción al modelado lineal en Python
Instrucciones del ejercicio
- Usa el
DataFrameprecargado con las columnasnames,distancesyvelocities. - Construye y ajusta un modelo usando
ols().fit()conformula="velocities ~ distances"ydata=df. - Extrae las estimaciones de los parámetros para la intersección y la pendiente usando
model_fit.params, asignándolas aa0ya1, respectivamente. - Repite el proceso para los valores de incertidumbre correspondientes, esta vez usando
model_fit.bse.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))