LoslegenKostenlos loslegen

Lineares Modell in der Kosmologie

Noch vor weniger als 100 Jahren schien das Universum aus nur einer einzigen, statischen Galaxie zu bestehen, mit vielleicht einer Million Sternen. Heute haben wir Beobachtungen von Hunderten Milliarden Galaxien, jede mit Hunderten Milliarden Sternen – und alle sind in Bewegung.

Die moderne, physikalische Kosmologie begann mit der Veröffentlichung von Edwin Hubble im Jahr 1929, in der ein lineares Modell zum Einsatz kam.

In dieser Übung baust du ein Modell, dessen Steigung die Hubble-Konstante liefert. Sie beschreibt die Geschwindigkeit von Galaxien als lineare Funktion ihrer Entfernung von der Erde.

Hubbles Diagramm

Diese Übung ist Teil des Kurses

Einführung in lineares Modellieren mit Python

Kurs anzeigen

Anleitung zur Übung

  • Verwende den vorab geladenen DataFrame mit den Spalten names, distances und velocities.
  • Baue und fitte ein Modell mit ols().fit() und formula="velocities ~ distances" sowie data=df.
  • Ziehe die Parameterschätzungen für Achsenabschnitt und Steigung mit model_fit.params heraus und weise sie a0 bzw. a1 zu.
  • Wiederhole den Vorgang für die entsprechenden Unsicherheiten, diesmal mit model_fit.bse.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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))
Code bearbeiten und ausführen