VẼ ĐƯỜNG THẲNG MÔ HÌNH HỒI QUY TUYẾN TÍNH .... Mục tiêu của đề tài Hiểu rõ được thuật toán hồi quy tuyến tính và có thể áp dụng dự đoán một vài bài toán hiệu quả... Bản chất của thuật
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
BÀI BÁO CÁO
Tìm hiểu phương pháp hồi quy tuyến tính
và ứng dụng cho bài toán dự báo
GIẢNG VIÊN HƯỚNG DẪN: HUỲNH THỊ CHÂU LAN
SINH VIÊN THỰC HIỆN: 2
TP HỒ CHÍ MINH, 2021
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
BÀI BÁO CÁO Tìm hiểu phương pháp hồi quy tuyến tính
và ứng dụng cho bài toán dự báo
GIẢNG VIÊN HƯỚNG DẪN: HUỲNH THỊ CHÂU LAN
SINH VIÊN THỰC HIỆN: 2
NGUYỄN CÔNG TRUNG 2033180121
PHẠM ĐOÀN MINH HẬU 2033180133
TP HỒ CHÍ MINH, 2021
Trang 3BẢN NHẬN XÉT CỦA GVHD
Trang này đính kèm bản nhận xét của GVHD
Trang 4LỜI CAM ĐOAN
Chúng tôi cam đoan rằng bài báo cáo đồ án này là do chính chúng tôi thực hiện dưới sự hướng dẫn của cô Lan Các số liệu và kết quả phân tích trong báo cáo là trung thực
TP Hồ Chính Minh, tháng 6 năm 2021
SINH VIÊN THỰC HIỆN (Kí và ghi rõ họ tên)
Nguyễn Công Trung
Phạm Đoàn Minh Hậu
Trang 6
Trong quá trình thực hiện đề tài chúng em đã gặp không ít khó khăn Nhưng với
sự động viên giúp đỡ của quý thầy cô, người thân và bạn bè, chúng em cũng đã hoàn thành tốt đề tài nghiên cứu của mình và có được những kinh nghiệm, kiến thức hữu ích cho bản thân
Đặc biệt chúng em xin gởi lời cảm ơn sâu sắc đến cô Huỳnh Thị Châu Lan, người
đã trực tiếp hướng dẫn và tận tình giúp đỡ chúng em trong suốt thời gian thực hiện đề tài
Dù đã cố gắng nhưng không thể tránh khỏi những sai sót Rất mong sự thông cảm
và đóng góp ý kiến của quý thầy cô và các bạn để đồ án được hoàn thiện
Cuối cùng, xin kính chúc quý thầy cô và các bạn sức khỏe, luôn thành công trong công việc và cuộc sống
Chúng em xin chân thành cảm ơn!
Trang 7iv
MỤC LỤC
BẢN NHẬN XÉT CỦA GVHD iii
LỜI CAM ĐOAN i
TÓM TẮT ĐỒ ÁN ii
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC HÌNH ẢNH v
DANH MỤC TỪ VIẾT TẮT 1
MỞ ĐẦU 2
Đặt vấn đề 2
Mục tiêu của đề tài 2
CHƯƠNG 1 TỔNG QUAN 3
1.1 Tổng quan về hồi quy tuyến tính 3
1.1.1 Khái niệm 3
1.1.2 Bản chất của thuật toán 3
1.2 Phân loại hồi quy tuyến tính 4
1.2.1 Hồi quy tuyến tính đơn giản ( simple linear regression ) 4
1.2.2 Hồi quy tuyến tính đa biến (linear regression multiple features) 5
CHƯƠNG 2 VẼ ĐƯỜNG THẲNG MÔ HÌNH HỒI QUY TUYẾN TÍNH 6
2.1 Vẽ đường hồi quy 6
2.2 Dùng kỹ thuật Gradient Descent 7
CHƯƠNG 3 THỰC NGHIỆM 11
3.1 Yêu cầu 11
3.2 Thực Hiện Trên Python 11
3.3 Tiến hành 11
3.4 Sử dụng SPSS để dự đoán 14
KẾT LUẬN 14
TÀI LIỆU THAM KHẢO 15
Trang 8DANH MỤC HÌNH ẢNH
Hình 1: Ví dụ hồi quy tuyến tính 3
Hình 2: Bản chất hồi quy tuyến tính 3
Hình 3: Sơ đồ biểu diễn các điểm (x i ,y i ) 4
Hình 4: Mô hình 1 biến 4
Hình 5: Tập dữ liệu 6
Hình 6: Mô hình vẽ tìm đường thẳng hồi quy 7
Hình 7 Chọn α trên j(α)’ 8
Hình 8 Với giá trị learning rate cao 9
Hình 9 Với giá trị learning rate quá bé 9
Hình 10 Tỷ lệ hàm lỗi và số lần lặp 10
Hình 11 Mỗi α là một đường thẳng dự đoán mới 10
Hình 12: Cài các thư viện cho python 11
Hình 13: Đọc dữ liệu từ file 11
Hình 14: Lệnh biễu diễn các số liệu 12
Hình 15: Biểu đồ thể hiện các giá trị của dữ liệu 12
Hình 16: Lấy ra dữ liệu cần tính 12
Hình 17: Tìm hệ số 13
Hình 18: Công thức đường thẳng cần tìm 13
Hình 19: Kết quả dùng đường hồi quy và kết quả thực 13
Hình 20: Chỉ số MAPE, RMSE và tỷ lệ dự đoán chính xác 13
Hình 21: Sử dụng SPSS 14
Trang 91
DANH MỤC TỪ VIẾT TẮT
MAPE (Mean Absolute Percent Error): Sai số tương đối trung bình RMSE(Root Mean Squared Error): Root Mean Squared Error
Trang 10có logic Để dự đoán được những đều tương tự ta dùng HỒI QUY TUYẾN TÍNH để đưa ra một dự đoán có khả năng chính xác cao
Mục tiêu của đề tài
Hiểu rõ được thuật toán hồi quy tuyến tính và có thể áp dụng dự đoán một vài bài toán hiệu quả Với tỷ lệ chính xác hơn 80%
Trang 11Hình 1: Ví dụ hồi quy tuyến tính
1.1.2 Bản chất của thuật toán
Về cơ bản thì ta sẽ có một tập huấn luyện chứa các cặp (xi,yi) tương ứng và nhiệm vụ
của ta là phải tìm giá trị y ứng với một đầu x mới vào Để làm điều này ta cần tìm được
quan hệ giữa (xi,yi) để từ đó đưa ra được dự đoán Hay nói cách trừu tượng hơn là ta cần
vẽ được một đường quan hệ thể hiện mối quan hệ trong tập dữ liệu
Hình 2: Bản chất hồi quy tuyến tính
Trang 121.2 Phân loại hồi quy tuyến tính
Hồi quy tuyến tính được chia làm 2 dạng:
1 Hồi quy tuyến tính đơn giản ( 1 biến)
2 Hồi quy tuyến tính đa biến
1.2.1 Hồi quy tuyến tính đơn giản ( simple linear regression )
Ở dạng này ta hiểu sẽ có một biết x cho ra một biến y tương ứng Tương tự như
trong không gian 2 chiều oxy
Ví Dụ: ta có dữ liệu markerting tính ra sales Ở đây chỉ có 1 biến là marketing
Hình 3: Sơ đồ biểu diễn các điểm (x i ,y i )
Mô hình trên ta sẽ đi tìm một đường thưởng y=ax+b có liên quan đến các điểm
trên
Chúng ta không thể tìm một đường thẳng đi qua tất cả điểm trên Nhưng chúng
ta có thể tìm được một đường thẳng tương đối nằm giữa các điểm
Trang 135
Đường thẳng làm sao để gọi là tương đối chính xác Tìm dùng phương pháp bình phương sai nhỏ nhất hay gọi là hàm lỗi (cost) Tức từ một đường thẳng bất kỳ ta sẽ tính tổng bình phương các điểm đến đường thẳng sao cho nhỏ nhất thì đường thẳng đó được coi
là đường tương đối chính xác Làm sao để vẽ được đường thẳng này?
Ta có 2 cách để vẻ:
1 Tính đạo hàm của tổng bình phương tìm giá trị sao cho tổng bình phương này là nhỏ nhất
2 Dùng công thức toán học để tìm ra đường thẳng
1.2.2 Hồi quy tuyến tính đa biến (linear regression multiple features)
Mô hình này tương tự như hồi quy tuyến tính đơn giản ( 1 biến) nhưng khác ở chỗ mô hình này mở rộng hơn về biến
Ví dụ: ta sẽ có dữ liệu markting, chi phí nhân công, chi phí mặt bằng, … Tính ra giá của một sản phẩm Ở đây biến là (markting, chi phí nhân công, chi phí mặt bằng,
….)
Do nhiều hơn 1 biến nên ta không thể dùng công thức y=ax+b ta sẽ phải dùng
công thức khác: y=a 1 x 1 +a 2 x 2 +a 3 x 3 +…+a 0
Cách thực hiện ta có thể áp dụng kỹ thuật Gradient Descent để tìm được đường
hồi quy tốt nhất Với cách này ta sẽ tìm min của hàm lỗi (cost)
Trang 14CHƯƠNG 2 VẼ ĐƯỜNG THẲNG MÔ HÌNH HỒI QUY TUYẾN TÍNH
2.1 Vẽ đường hồi quy
1 mặt phẳng gọi là mặt phẳng P Để khoảng cách các điểm đến đường thẳng cần tìm là nhỏ nhất ta cần phải tìm a,b sao cho khoảng cách vecto yi đến mặt phẳng P là nhỏ nhất
Trang 157
Hình 6: Mô hình vẽ tìm đường thẳng hồi quy
Tới đây ta dùng phương pháp nhân ma trận trong toàn học đẻ tìm 2 số a, b
2.2 Dùng kỹ thuật Gradient Descent
Để dùng kỹ thuật Gradient Descent ta cần nhắc lại hàm lỗi (cost) ở trên, thì hàm
lỗi này chính là khoảng cách giữ các điểm với đường thẳng ta cần dự đoán hàm này càng
gần giá trị min thì càng tốt vì khi đấy đường thẳng chúng ta tìm được sẽ là đường thẳng
α là hàm lỗi J(α) đang tăng hay giảm để các vòng lặp sau sẽ tăng hay giảm α
Trang 16Hình 7 Chọn α trên j(α)’
Giá trị α tiếp theo sẽ phụ thuộc vào giá trị learning rate Learning rate là giá trị
chênh lệch giữa 2 α Nếu như giá trị learning rate quá lớn thì khi α giảm sẽ qua khỏi điểm cực trị sẽ không được giá trị như mong muốn
Trang 179
Hình 8 Với giá trị learning rate cao
Nếu như giá trị learning rate quá bé thì vòng lặp sẽ hoạt rất lâu tốn rất nhiều tài nguyên của máy
Hình 9 Với giá trị learning rate quá bé
Cho nên chọn learning rate là rất quan trọng với một tập dữ liệu lớn
Sau mỗi lần train lại thì hàm lỗi sẽ giảm cho đến 1 giá trị gần bằng 0
Trang 18Hình 10 Tỷ lệ hàm lỗi và số lần lặp
Mỗi lặp là sẽ có 1 α mới suy ra sẽ có 1 đường thằng dự đoán mới Càng về sau
sẽ càng hội tụ lại
Trang 193.2 Thực Hiện Trên Python
Hình 3.1 Dữ liệu đầu vào
Ta cần có 1 dữ liệu đầu vào đủ lớn để có thể tìm ra được đường hồi quy chính xác nhất
3.3 Tiến hành
Bước 1 Cài các thư viện cần thiết cho python
Hình 12: Cài các thư viện cho python
Bước 2 Đọc dữ liệu đầu vào bằng lệnh
Hình 13: Đọc dữ liệu từ file
Bước 3 Dùng các thư viện matplotlib.pyplot để hiển thị các giá trị sales lên đồ
Trang 20thị
Hình 14: Lệnh biễu diễn các số liệu
Hình 15: Biểu đồ thể hiện các giá trị của dữ liệu
Bước 4 Lấy ra dữ liệu xi cần tính toán
Hình 16: Lấy ra dữ liệu cần tính
Trang 2113
Hình 17: Tìm hệ số
Hình 18: Công thức đường thẳng cần tìm
Bước 6 Kiểm tra kết quả từ đường hồi quy với kết quả thực
Hình 19: Kết quả dùng đường hồi quy và kết quả thực
Hình 20: Chỉ số MAPE, RMSE và tỷ lệ dự đoán chính xác
Trang 223.4 Sử dụng SPSS để dự đoán
Trang 2315
TÀI LIỆU THAM KHẢO
https://www.youtube.com/watch?v=PNp1prcWbkM&list=PLDpRz2wA0qZzTcDLeXP5PSCfmQ96l9-Qr
https://machinelearningcoban.com/2016/12/28/linearregression/