Nguyên tắc cơ bản của hồi quy tuyến tính
Sự định nghĩa
Hồi quy tuyến tính là một phương pháp cho phép chúng ta liên hệ hai hiện tượng. Cách tiếp cận này cho phép xác định một quy tắc dựa trên dữ liệu thực để dự đoán các giá trị mới. Có những thuật toán và gói thực hiện hồi quy tuyến tính theo cách đơn giản, nhưng chúng ta không hiểu điều gì đang diễn ra đằng sau bức màn. Mục đích của phần trình bày này là trình bày các cơ sở toán học của hồi quy tuyến tính.
phương pháp
Phương pháp có thể chia thành ba bước:
- Chế độ xem ban đầu của dữ liệu;
- Xác định các thông số;
- Tạo các tham số tìm thấy đường cong.
Mục tiêu của bước này là xác minh xem dữ liệu có tuân theo hành vi xấp xỉ tuyến tính hay không. Mặt khác, phương pháp hồi quy tuyến tính không nên được áp dụng. Hãy xem xét tập dữ liệu sau.
![](https://post.nghiatu.com/assets/images/m/max/724/1*Du-oLP4onelMYsh2WY7MgQ.png)
Chúng ta có thể vẽ những dữ liệu này và kiểm tra hành vi của chúng. Trong hình ảnh bên dưới, chúng ta có thể thấy rằng biểu đồ thể hiện hành vi tuyến tính, do đó việc áp dụng kỹ thuật hồi quy tuyến tính là hợp lý.
![](https://post.nghiatu.com/assets/images/m/max/724/1*8cceXW7yR5HrbIDbNooCgg.png)
Trong kho lưu trữ này, tôi đã cung cấp một mã python tạo đường cong phù hợp bằng cách sử dụng hồi quy tuyến tính, như tôi đã nói, nền tảng toán học bị triệt tiêu và chúng tôi không biết điều gì xảy ra bên trong. Mã tạo ra hình ảnh dưới đây.
![](https://post.nghiatu.com/assets/images/m/max/724/1*jZxGhypqrqxcHs2gKmPHUA.png)
![](https://post.nghiatu.com/assets/images/m/max/724/1*w3t9agk8c3TytrUhlR3gmA.png)
Xác định các thông số
Để xác định các tham số a và b của đường cong, chúng ta sẽ sử dụng phương pháp bình phương nhỏ nhất. Trong phương pháp này, các giá trị a và b thu được theo cách sao cho tổng bình phương của sự khác biệt giữa các giá trị quan sát được của Y và các giá trị thu được từ đường cong đã điều chỉnh cho cùng các giá trị của X là nhỏ nhất. Về mặt toán học, ý tưởng này có thể được biểu diễn dưới dạng:
![](https://post.nghiatu.com/assets/images/m/max/724/1*0B-c-9AcW99HnZtUHY6WjA.png)
Để tìm cấu hình tối thiểu, chúng ta có thể rút ra biểu thức trên đối với các tham số a và b và đặt nó bằng không.
![](https://post.nghiatu.com/assets/images/m/max/724/1*3PG5kdRdRTPv7xG7o6Lnwg.png)
Biết n là số quan sát, ta có thể viết phương trình (I) và (II) thành phương trình (III) và (IV) như sau.
![](https://post.nghiatu.com/assets/images/m/max/724/1*LmvzFPtdKt0JoGpVNq7OYw.png)
Để xác định tham số b, chúng ta chia phương trình thứ nhất cho n và cô lập a để thay thế nó vào phương trình thứ hai:
![](https://post.nghiatu.com/assets/images/m/max/724/1*CJp6MTF24U35hgVCBvsctQ.png)
Thay vào phương trình thứ hai:
![](https://post.nghiatu.com/assets/images/m/max/724/1*VX8sKDQsHHdBlaBIFuU-Ig.png)
Có thể dễ dàng xác định hệ số tuyến tính của đường bằng phương trình đã được xác định ở trên:
![](https://post.nghiatu.com/assets/images/m/max/724/1*rOt8qtqVko9Y1C8kcyf2_A.png)
Chúng tôi có thể tính toán các tham số này trực tiếp từ dữ liệu mà không cần sử dụng gói scipy thông qua mã bên dưới:
![](https://post.nghiatu.com/assets/images/m/max/724/1*PKo0c5AODzTl1F7eEpu2CA.png)
Và cuối cùng, sau khi có được hệ số tuyến tính a và hệ số góc b, chúng ta có thể vẽ đường cong phù hợp.