Menu

Máy tính hồi quy mũ

Đường cong y = a·bˣ khớp với dữ liệu tăng trưởng hoặc suy giảm, kèm tốc độ mỗi bước.

Tác giả Nethanel Bar, Đồng sáng lập và CEO

Cập nhật lần cuối

Muốn tự giải mà không cần máy tính?

Khóa học toán của Coddy dạy chính phương pháp giải: bạn làm từng bước trên một bảng tương tác và được chỉ ra chính xác bước nào bị sai.

Hồi quy mũ khớp với kiểu tăng trưởng nhân lên thay vì cộng thêm

Một đường thẳng cộng thêm cùng một lượng sau mỗi bước của x. Nhiều thứ lại nhân lên theo cùng một hệ số: tiền gửi lãi kép, một đĩa nuôi cấy vi khuẩn, lượng pin còn lại, chênh lệch nhiệt độ giữa cốc nước đang nguội và căn phòng. Quy luật đó là y = a·bˣ, trong đó a là giá trị tại x = 0 và b là hệ số nhân sau mỗi bước. Nếu b lớn hơn 1 thì đại lượng tăng, nếu b nằm giữa 0 và 1 thì nó giảm, và (b trừ 1) tính theo phần trăm là tốc độ mỗi bước.

Cách khớp chuẩn là lấy logarit tự nhiên của mọi y. Nếu y = a·bˣ thì ln y = ln a + x·ln b, là một đường thẳng theo x. Vì vậy phương pháp này khớp một đường thẳng bình phương tối thiểu thông thường với các điểm (x, ln y), đọc ln b từ hệ số góc và ln a từ tung độ gốc, rồi bỏ logarit đi. Đây chính là việc lệnh ExpReg trên TI-84 và đường xu hướng mũ trong Excel làm, và trang này cho thấy mọi giai đoạn: cột ln y, đường thẳng đã khớp và hai phép lũy thừa đưa a và b trở lại.

Vì logarit là số vô tỉ, đây là máy tính hồi quy duy nhất trong bộ công cụ cho đáp án là số thập phân đã làm tròn thay vì phân số chính xác, và nó ghi rõ điều đó cạnh kết quả. Nó cũng cần mọi y lớn hơn 0, vì logarit của 0 hay của số âm không tồn tại. r² hiển thị là r² của đường thẳng khớp với ln y, chính là con số mà máy tính đồ thị báo cáo.

Cần để ý gì ở đường cong

  • b là hệ số nhân mỗi bước và (b trừ 1) là tốc độ. b ≈ 0,8195 nghĩa là mỗi bước giữ lại khoảng 81,95% giá trị trước đó, tức giảm khoảng 18,05% mỗi bước.
  • a là giá trị khớp tại x = 0, không nhất thiết là điểm dữ liệu đầu tiên. Với y = 100, 82, 67, 55, 45, 37 tại x từ 0 đến 5, phép khớp cho a ≈ 99,9517.
  • Cùng đường cong đó có thể viết y = a·eᵏˣ với k = ln b. k dương là tăng trưởng, k âm là suy giảm, và ln 2 / |k| là thời gian nhân đôi hoặc chu kỳ bán rã.
  • Phép khớp là bình phương tối thiểu trên ln y, không phải trên y. Nó coi sai lệch 10% là như nhau dù y bằng 5 hay 5000, phù hợp với dữ liệu tăng theo phần trăm.
  • r² cao trên thang logarit không chứng minh tăng trưởng là hàm mũ. Dữ liệu thẳng hàng 5, 4, 3, 2, 1 vẫn cho r² ≈ 0,9473 khi khớp theo hàm mũ.

Cách tính hồi quy mũ bằng tay

  1. Lấy logarit của mọi y

    Thay mỗi y bằng ln y. Với x = 0, 1, 2, 3, 4 và y = 3, 6, 12, 24, 48, cột mới xấp xỉ 1,0986, 1,7918, 2,4849, 3,1781 và 3,8712.

  2. Khớp một đường thẳng với (x, ln y)

    Dùng công thức bình phương tối thiểu thông thường để tính hệ số góc và tung độ gốc trên các điểm (x, ln y). Ở đây hệ số góc khoảng 0,6931 và tung độ gốc khoảng 1,0986.

  3. Bỏ logarit

    Hệ số góc là ln b và tung độ gốc là ln a, nên b = e mũ hệ số góc và a = e mũ tung độ gốc. Ở đây b ≈ e^0,6931 = 2 và a ≈ e^1,0986 = 3.

  4. Viết đường cong và đọc tốc độ

    y ≈ 3·2ˣ, hoặc y ≈ 3e^(0,6931x) ở cơ số e. b = 2 nghĩa là mỗi bước nhân y với 2: tăng 100% mỗi bước, và thời gian nhân đôi đúng bằng một bước.

Hồi quy mũ cho các bộ dữ liệu nhỏ

Mỗi hàng là một bộ dữ liệu nhập vào máy tính ở trên. Mọi giá trị được làm tròn đến bốn chữ số thập phân.

Giá trị xGiá trị yĐường cong khớp nhấtThay đổi mỗi bướcr² của ln y
0, 1, 2, 3, 43, 6, 12, 24, 48y ≈ 3 · 2ˣ+100%1
0, 1, 2, 3, 4, 5100, 82, 67, 55, 45, 37y ≈ 99,9517 · 0,8195ˣ-18,05%1,0000
1, 2, 3, 4, 52.1, 4.3, 8.9, 17.5, 36y ≈ 1,0413 · 2,0313ˣ+103,13%0,9999
0, 1, 2, 3, 41000, 1050, 1102.5, 1157.625, 1215.50625y ≈ 1000 · 1,05ˣ+5%1
0, 1, 2, 3, 45, 4, 3, 2, 1y ≈ 5,6968 · 0,6762ˣ-32,38%0,9473

Ví dụ có lời giải

Nhân đôi sau mỗi bước

plain
x: 0, 1, 2, 3, 4; y: 3, 6, 12, 24, 48

Mỗi y gấp đôi y trước nó, nên các điểm nằm đúng trên y = 3·2ˣ và máy tính trả về a ≈ 3 và b ≈ 2, tăng 100% mỗi bước, với r² = 1. Ở cơ số e, cùng đường cong đó là y ≈ 3e^(0,6931x), và 0,6931 chính là ln 2. Kéo dài đến x = 6, nó dự đoán 3·2⁶ = 192.

Suy giảm: một cốc cà phê đang nguội

plain
x: 0, 1, 2, 3, 4, 5; y: 100, 82, 67, 55, 45, 37

Hiểu y là chênh lệch nhiệt độ so với căn phòng, đo mỗi năm phút. Phép khớp là y ≈ 99,9517 · 0,8195ˣ, hay y ≈ 99,9517e^(-0,1991x): khoảng 18,05% chênh lệch mất đi mỗi bước, và chu kỳ bán rã là ln 2 / 0,1991, khoảng 3,48 bước. Phép khớp logarit gần như hoàn hảo: r² bằng 0,99999 với năm chữ số thập phân, và máy tính làm tròn thành 1.

Tăng trưởng có nhiễu

plain
x: 1, 2, 3, 4, 5; y: 2.1, 4.3, 8.9, 17.5, 36

Các giá trị gần như gấp đôi sau mỗi bước nhưng không hoàn toàn chính xác. Phép khớp là y ≈ 1,0413 · 2,0313ˣ, tăng khoảng 103,13% mỗi bước, với r² ≈ 0,9999 trên thang logarit. Ở cơ số e, k ≈ 0,7087, nên thời gian nhân đôi là ln 2 / 0,7087, khoảng 0,98 bước.

Lãi kép

plain
x: 0, 1, 2, 3, 4; y: 1000, 1050, 1102.5, 1157.625, 1215.50625

Số dư 1000 với lãi suất 5% mỗi năm. Máy tính tìm lại được y ≈ 1000 · 1,05ˣ, thay đổi +5% mỗi bước, với r² = 1. Tìm lại lãi suất từ một danh sách số dư chính là việc mà phép khớp này dùng để làm.

Khi dữ liệu không theo hàm mũ

plain
x: 0, 1, 2, 3, 4; y: 5, 4, 3, 2, 1

Các điểm này giảm cùng một lượng sau mỗi bước, nên chúng nằm trên một đường thẳng, y = -x + 5. Phép khớp hàm mũ vẫn trả về y ≈ 5,6968 · 0,6762ˣ với r² ≈ 0,9473 trên thang logarit, trông khá ổn. Vẽ đường cong cùng các điểm thì thấy nó lệch ở cả hai đầu: đường thẳng mới là mô hình đúng ở đây, và hồi quy tuyến tính khớp chính xác với nó.

Lỗi thường gặp

  • Đưa vào một y bằng 0 hoặc âm. Logarit không xác định tại đó, nên phương pháp không chạy được. Nếu dữ liệu thực sự chạm 0 thì nó không phải hàm mũ.
  • Đọc b như phần trăm. b = 1,05 nghĩa là tăng 5% mỗi bước, và b = 0,82 nghĩa là giảm 18% mỗi bước, không phải 82%.
  • Nhầm a với giá trị y đầu tiên. a là giá trị khớp tại x = 0; nó chỉ trùng với điểm dữ liệu đầu tiên khi phép khớp chính xác và dữ liệu bắt đầu tại x = 0.
  • Dùng logarit cơ số 10 ở một bước và e ở bước kia. Cơ số nào cũng được, miễn là dùng cùng một cơ số để lấy logarit và để bỏ logarit.
  • Tin rằng r² trên thang logarit chứng minh tăng trưởng là hàm mũ. Dữ liệu thẳng hàng có thể đạt trên 0,9; hãy vẽ đường cong cùng các điểm.
  • Ngoại suy quá xa. Tăng trưởng theo hàm mũ sớm muộn cũng hết chỗ để tăng, và một đường cong đã khớp không thể biết khi nào điều đó xảy ra.

Câu hỏi thường gặp về hồi quy mũ

Làm sao để tính hồi quy mũ bằng tay?

Lấy logarit tự nhiên của mọi y, khớp một đường thẳng bình phương tối thiểu thông thường với các điểm (x, ln y), rồi bỏ logarit: b là e mũ hệ số góc và a là e mũ tung độ gốc. Với y = 3, 6, 12, 24, 48 tại x từ 0 đến 4, đường thẳng có hệ số góc 0,6931 và tung độ gốc 1,0986, cho b = 2 và a = 3, nên y = 3·2ˣ.

a và b trong y = a·bˣ nghĩa là gì?

a là giá trị của y khi x = 0, và b là hệ số mà y được nhân lên mỗi khi x tăng 1. b lớn hơn 1 là tăng trưởng, b nằm giữa 0 và 1 là suy giảm. Tốc độ mỗi bước là (b trừ 1) tính theo phần trăm: b = 1,05 là +5%, b = 0,8195 là khoảng -18,05%.

Làm sao tìm tốc độ tăng trưởng từ dữ liệu?

Khớp đường cong và đọc b. Máy tính in ra mức thay đổi sau mỗi bước của x dưới dạng phần trăm: +103,13% cho ví dụ nhân đôi có nhiễu trên trang này, -18,05% cho cốc cà phê đang nguội. Nếu x đo bằng năm thì đó là tốc độ hằng năm.

y = a·bˣ và y = a·eᵏˣ khác nhau thế nào?

Chỉ khác về cách viết. Chúng là cùng một đường cong với k = ln b, nên b = eᵏ. Dạng cơ số e phổ biến trong khoa học vì k là tốc độ liên tục, và ln 2 / |k| cho ngay thời gian nhân đôi hoặc chu kỳ bán rã.

Vì sao máy tính cho số thập phân thay vì phân số?

Vì phương pháp này lấy logarit, và logarit của một số nguyên gần như luôn là số vô tỉ. Máy tính hồi quy tuyến tính và hồi quy bậc hai trong bộ công cụ cho phân số chính xác; máy tính này cho giá trị làm tròn đến bốn chữ số thập phân và ghi rõ là gần đúng.

Vì sao đáp án hơi khác so với Excel hay máy tính đồ thị?

Đáp án phải khớp với ExpReg của TI-84 và đường xu hướng mũ của Excel, vì cả hai đều khớp ln y bằng bình phương tối thiểu, chỉ sai khác do làm tròn. Phần mềm khớp trực tiếp y bằng bình phương tối thiểu phi tuyến thì tối thiểu hóa một đại lượng khác và cho a, b hơi khác, vì nó coi trọng sai lệch ở các giá trị lớn nhất hơn cả.

Trong hồi quy mũ, y có thể âm hoặc bằng 0 không?

Không. Phương pháp lấy logarit của mọi y, mà ln 0 và logarit của số âm không tồn tại. Dù sao đường cong y = a·bˣ với a dương luôn nằm trên 0, nên dữ liệu chạm tới 0 không đi theo một đường cong như vậy.

Công cụ toán khác

Hình minh họa các ngôn ngữ lập trình của Coddy

Học toán cùng Coddy

Bắt đầu