Bắt đầu ngayBắt đầu miễn phí

Độ biến thiên quanh xu thế

Dữ liệu không nhất thiết phải tuyến tính hoàn hảo; luôn có một chút ngẫu nhiên hay "độ phân tán" trong phép đo, và điều đó sẽ dẫn đến biến thiên trong các tham số của mô hình. Độ biến thiên này ở tham số được định lượng bằng "độ lệch chuẩn của ước lượng" (standard error), và được diễn giải như là "mức độ bất định" trong ước lượng của tham số mô hình.

Trong bài này, bạn sẽ dùng ols từ statsmodels để xây dựng một mô hình và trích xuất độ lệch chuẩn của ước lượng cho từng tham số của mô hình đó.

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

Xem khóa học

Hướng dẫn bài tập

  • Lưu dữ liệu đã nạp sẵn vào DataFrame df, đặt nhãn x_datatimesy_datadistances.
  • Dùng model_fit = ols().fit() để khớp mô hình tuyến tính với dạng formula="distances ~ times" trên data=df.
  • Trích xuất hệ số chặn ước lượng model_fit.params['Intercept'] và độ lệch chuẩn của hệ số chặn từ model_fit.bse['Intercept'].
  • Lặp lại cho hệ số dốc, rồi in cả 4 giá trị với tên dễ hiểu.

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.

# Store x_data and y_data, as times and distances, in df, and use ols() to fit a model to it.
df = pd.DataFrame(dict(____=x_data, ____=y_data))
model_fit = ols(____="distances ~ times", data=____).____()

# Extact the model parameters and their uncertainties
a0 = model_fit.____['Intercept']
e0 = model_fit.____['Intercept']
a1 = model_fit.____['times']
e1 = model_fit.____['times']

# Print the results with more meaningful names
print('Estimate    of the intercept = {:0.2f}'.format(____))
print('Uncertainty of the intercept = {:0.2f}'.format(____))
print('Estimate    of the slope = {:0.2f}'.format(____))
print('Uncertainty of the slope = {:0.2f}'.format(____))
Chỉnh sửa và Chạy Mã