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

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 minimize của scipy để 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

Xem khóa học

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]))
Chỉnh sửa và Chạy Mã