Thuật toán hồi quy tuyến tính
Để thực sự hiểu hồi quy tuyến tính, sẽ hữu ích nếu bạn biết thuật toán vận hành ra sao. Mã cho ols() có hàng trăm dòng vì nó phải hoạt động với mọi công thức và mọi tập dữ liệu. Tuy nhiên, với hồi quy tuyến tính đơn giản cho một tập dữ liệu cụ thể, bạn có thể tự triển khai thuật toán chỉ trong vài dòng mã.
Quy trình làm việc như sau:
- Đầu tiên, viết một hàm tính tổng bình phương theo cú pháp tổng quát này:
def function_name(args):
# some calculations with the args
return outcome
- Tiếp theo, dùng hàm tối ưu hóa
minimizecủascipyđể tìm các hệ số làm nhỏ nhất hàm này.
Các giá trị biến giải thích (cột n_convenience của taiwan_real_estate) đã có sẵn dưới tên x_actual.
Các giá trị biến phản hồi (cột price_twd_msq của taiwan_real_estate) đã có sẵn dưới tên y_actual.
minimize() cũng đã được nạp.
Bài tập này là một phần của khóa học
Hồi quy trung cấp với statsmodels trong Python
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.
# Complete the function
def calc_sum_of_squares(coeffs):
# Unpack coeffs
____, ____ = ____
# Calculate predicted y-values
y_pred = ____ + ____ * ____
# Calculate differences between y_pred and y_actual
y_diff = ____ - ____
# Calculate sum of squares
sum_sq = ____
# Return sum of squares
return sum_sq
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))