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

Hồi quy tuyến tính

Ta sẽ giả định rằng mức sinh là một hàm tuyến tính của tỷ lệ mù chữ ở nữ. Nghĩa là, \(f = a i + b\), trong đó \(a\) là hệ số góc và \(b\) là tung độ gốc. Bạn có thể hiểu tung độ gốc như mức sinh tối thiểu, có lẽ nằm đâu đó giữa một và hai. Hệ số góc cho biết mức sinh thay đổi như thế nào theo tỷ lệ mù chữ. Ta có thể tìm đường thẳng khớp tốt nhất bằng np.polyfit().

Hãy vẽ dữ liệu và đường khớp tốt nhất. In ra hệ số góc và tung độ gốc. (Hãy nghĩ: đơn vị của chúng là gì?)

Bài tập này là một phần của khóa học

Tư duy Thống kê với Python (Phần 2)

Xem khóa học

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

  • Tính hệ số góc và tung độ gốc của đường hồi quy bằng np.polyfit(). Nhớ rằng fertility nằm trên trục y và illiteracy trên trục x.
  • In ra hệ số góc và tung độ gốc từ hồi quy tuyến tính.
  • Để vẽ đường khớp tốt nhất, tạo một mảng x gồm 0 và 100 bằng np.array(). Sau đó, tính các giá trị lý thuyết của y dựa trên các tham số hồi quy của bạn, tức là y = a * x + b.
  • Vẽ dữ liệu và đường hồi quy trên cùng một biểu đồ. Nhớ gắn nhãn cho các trục.
  • Nhấn Gửi để hiển thị biểu đồ của bạn.

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.

# Plot the illiteracy rate versus fertility
_ = plt.plot(illiteracy, fertility, marker='.', linestyle='none')
plt.margins(0.02)
_ = plt.xlabel('percent illiterate')
_ = plt.ylabel('fertility')

# Perform a linear regression using np.polyfit(): a, b
a, b = ____

# Print the results to the screen
print('slope =', a, 'children per woman / percent illiterate')
print('intercept =', b, 'children per woman')

# Make theoretical line to plot
x = ____
y = ____ * ____ + ____

# Add regression line to your plot
_ = plt.plot(____, ____)

# Draw the plot
plt.show()
Chỉnh sửa và Chạy Mã