시작하기무료로 시작하기

우주론에서의 선형 모델

100년도 채 되지 않은 과거에는 우주가 수백만 개의 별을 담은 하나의 정적인 은하로 이루어졌다고 여겨졌습니다. 오늘날 우리는 수천억 개의 은하, 각 은하마다 수천억 개의 별이 있으며 모두 운동하고 있음을 관측합니다.

현대 우주론의 물리학은 에드윈 허블이 1929년에 발표한 논문과 함께 시작되었고, 그 연구에는 선형 모델이 활용되었습니다.

이 연습 문제에서는 기울기가 허블 상수(Hubble's Constant)가 되도록 하는 모델을 구축해 보겠습니다. 허블 상수는 지구로부터의 거리와 은하의 속도 사이의 선형 관계를 설명합니다.

Hubble's Plot

이 연습은 강의의 일부입니다

Python으로 배우는 선형 모델 입문

강의 보기

연습 안내

  • 미리 로드된 names, distances, velocities 열을 가진 DataFrame을 사용하세요.
  • formula="velocities ~ distances", data=df를 사용해 ols().fit()으로 모델을 만들고 적합하세요.
  • model_fit.params에서 절편과 기울기의 모수 추정치를 추출해 각각 a0, a1에 전달하세요.
  • 같은 과정을 불확실성 값(표준 오차)에 대해서도 반복하되, 이번에는 model_fit.bse를 사용하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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))
코드 편집 및 실행