Mô hình tuyến tính trong Vũ trụ học
Chưa đầy 100 năm trước, vũ trụ dường như chỉ gồm một thiên hà tĩnh duy nhất, chứa chừng một triệu ngôi sao. Ngày nay, chúng ta có quan sát về hàng trăm tỷ thiên hà, mỗi thiên hà có hàng trăm tỷ ngôi sao, tất cả đều đang chuyển động.
Khởi đầu của khoa học vật lý hiện đại về vũ trụ học đến từ công bố năm 1929 của Edwin Hubble, trong đó có sử dụng một mô hình tuyến tính.
Trong bài tập này, bạn sẽ xây dựng một mô hình mà hệ số góc của nó chính là Hằng số Hubble, mô tả vận tốc của các thiên hà như một hàm tuyến tính theo khoảng cách từ Trái Đất.

Bài tập này là một phần của khóa học
Nhập môn Mô hình tuyến tính với Python
Hướng dẫn bài tập
- Sử dụng
DataFrameđã nạp sẵn với các cộtnames,distances, vàvelocities. - Xây dựng và fit mô hình bằng
ols().fit()vớiformula="velocities ~ distances"vàdata=df. - Trích xuất ước lượng tham số cho hệ số chặn và hệ số góc bằng
model_fit.params, lần lượt gán vàoa0vàa1. - Lặp lại quy trình cho các giá trị độ bất định tương ứng, lần này sử dụng
model_fit.bse.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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))