Hệ số chặn và điểm bắt đầu
Trong bài tập này, bạn sẽ thấy hai tham số intercept (hệ số chặn) và slope (độ dốc) trong bối cảnh mô hình hóa các phép đo thể tích của một dung dịch chứa trong một bình thủy tinh lớn. Dung dịch gồm nước, hạt ngũ cốc, đường và men. Tổng khối lượng của cả dung dịch và bình thủy tinh cũng được ghi lại, nhưng khối lượng của bình rỗng thì không.
Nhiệm vụ của bạn là dùng DataFrame pandas df đã được nạp sẵn, với các cột dữ liệu volumes và masses, để xây dựng một mô hình tuyến tính liên hệ masses (dữ liệu y) với volumes (dữ liệu x). Độ dốc sẽ là ước lượng của mật độ (độ thay đổi khối lượng / độ thay đổi thể tích) của dung dịch, và hệ số chặn sẽ là ước lượng khối lượng của bình rỗng (khối lượng khi volume=0).

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
- Import
ols()từstatsmodelsvà dùng nó để xây dựng mô hình khớp vớidata=dfvớiformula = "masses ~ volumes". - Trích xuất hệ số chặn
a0và độ dốca1bằng.params['Intercept']và.params['volumes']tương ứng. - In
a0vàa1với các tên gọi có ý nghĩa vật lý. - In
model_fit()và tìm các giá trị khớp với những giá trị ở trên; tìm các nhãn hàngIntercept,volumes, và nhãn cộtcoef.
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.
# Import ols from statsmodels, and fit a model to the data
from statsmodels.formula.api import ols
model_fit = ols(formula="____ ~ ____", data=____)
model_fit = model_fit.fit()
# Extract the model parameter values, and assign them to a0, a1
a0 = model_fit.params['____']
a1 = model_fit.params['____']
# Print model parameter values with meaningful names, and compare to summary()
print( "container_mass = {:0.4f}".format(____) )
print( "solution_density = {:0.4f}".format(____) )
print( model_fit.summary() )