Biến định tính thường biểu thị có hay không có một tính chất hoặc biểu thị các mức độ khác nhau của một tiêu thức, thuộc tính nào đó, chẳng hạn như giới tính, tôn giáo, chủng tộc, nơi cư
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
Trang 2Mục lục
LỜI MỞ ĐẦU
Trí tuệ nhân tạo cũng như học máy là hai lĩnh vực thu hút được rất nhiều sự quan tâm hiện nay Bởi vì nhìn vào thực tế hiện nay chúng ta cóthể thấy được các robot, máy móc được lập trình bằng phần mềm có sử dụng trí tuệ nhân tạo đang trở thành thành một phần không thể thiếu trong phát triển kinh tế và nâng cao chất lượng cuộc sống con người Machine Learning là một tập con của trí tuệ nhân tạo và các khoá học vềmachine learning thường mở đầu với một thuật toán cơ bản đó là hồi quytuyến tính
Trong phân tích hoạt động kinh doanh cũng như trong nhiều lĩnh vực khác, hồi quy là công cụ phân tích đầy sức mạnh không thể thay thế
Nó là phương pháp thống kê dùng để ước lượng, dự báo những sự kiện xảy ra trong tương lai dựa vào quy luật quá khứ Phân tích hồi quy là nghiên cứu mối liên hệ phụ thuộc của một biến (gọi là biến phụ thuộc)
Trang 3Hệ hỗ trợ quyết định
Trong phân tích hồi quy, có hai loại biến chính là biến định lượng
và biến định tính Biến định lượng là biến mà giá trị của những quan sát
đó là những con số Biến định tính thường biểu thị có hay không có một tính chất hoặc biểu thị các mức độ khác nhau của một tiêu thức, thuộc tính nào đó, chẳng hạn như giới tính, tôn giáo, chủng tộc, nơi cư
trú, Những biến định tính này cũng có sự ảnh hưởng đối với biến phụ thuộc và phải được đưa vào mô hình hồi quy
Chính vì vậy, em chọn đề tài “DỰ BÁO SỐ TIỀN KHÁCH HÀNGMUA SẢN PHẨM HÀNG NĂM” sử dụng mô hình hồi quy tuyến tính
để xậy dựng một hệ hỗ trợ quyết định cho nhà quản lý
Trang 4CHƯƠNG I KHẢO SÁT HỆ THỐNG
1. Khảo sát hiện trạng
Dự báo là một số nhiệm vụ quan trọng nhất trong bất kỳ công ty nào.Việc dự báo được thực hiện sẽ ảnh hưởng đến các quyết định tiếp thị vàbán hàng, và có khả năng là quyết định sự phát triển của một công ty Trước khi lên kế hoạch chi tiết cho một chương trình nhằm nâng caotrải nghiệm người dùng , công ty cần phải chú ý đến cách xác định cácyếu tố ảnh hưởng đến hành vi mua hang của khách hàng Sẽ thật là lãngphí nếu một chiến dịch lại nhắm đến những yếu tố mang lại lơi nhuậnthật hoặc tồi tệ hơn làm giảm đi doanh thu của bạn Điều này có thể sẽkhông giúp bạn bán được nhiều sản phẩm mà ngược lại, sẽ gây tổn thất,lãng phí cho doanh nghiệp của bạn
2. Dữ liệu khảo sát
Dữ liệu được sử dụng là bộ dữ liệu của công ty thương mại điện
Trang 5Hệ hỗ trợ quyết định
hàng Khách hàng đến cửa hàng, có các buổi gặp gỡ với stylist cánhân, sau đó họ có thể về nhà và đặt hàng trên ứng dụng di độnghoặc trang web cho quần áo họ muốn
Công ty đang cố gắng quyết định xem nên tập trung phát triển vào trải nghiệm ứng dụng di động hay trang web của họ
Trang 6• Length of Membership: Thời gian khách hàng gắn bó(năm).
• Yearly Amount Spent: Tổng số tiền khách hàng đó bỏ ra trongmột năm ($)
Link nguồn dữ liệu khảo sát:
https://www.kaggle.com/kolawale/focusing-on-mobile-app-or-website
3. Phân tích hồi quy
3.1. Khái niệm:
Phân tích hồi quy (regression analysis) là kỹ thuật thống
kê dùng để ước lượng phương trình phù hợp nhất với các tập hợpkết quả quan sát của biến phụ thuộc và biến độc lập Nó cho phépđạt được kết quả ước lượng tốt nhất về mối quan hệ chân thựcgiữa các biến số Từ phương trình ước lượng được này, người ta
có thể dự báo về biến phụ thuộc (chưa biết) dựa vào giá trị chotrước của biến độc lập (đã biết)
3.2. Mô hình hồi quy
Trang 7Hệ hỗ trợ quyết định
Trang 9Hệ hỗ trợ quyết định
3.3 Sử dụng hồi quy đối với tập dữ liệu khảo sát
Sử dụng python để phân tích dữ liệu:
• Import thư viện và đọc dữ liệu:
• Tông quan về tập dữ liệu:
Trang 10• Xét sự phân bố của từng cặp dữ liệu:
Trang 12- Luyện model
Ta được các hệ số hồi quy của các biến độc lập(Avg SessionLength, Time on App, Time on Website, Length of Membership) lầnlượt là 25.98, 38.59, 0.19, 61.27
Trang 13Hệ hỗ trợ quyết định
• Đánh giá
- Sai số tuyệt đối : 7.23
- Sai số bình phương trung bình: 79.81
- Sai số căn bậc 2 trung bình: 8.93
- Hệ số xác định R2: 0.99
Từ hệ số xác định ta thấy biến độc lập giải thích được 99% biến phụthuộc
Trang 14Phân bố của phần dư xấp xỉ phân phối chuẩn
Trang 15Hệ hỗ trợ quyết định
CHƯƠNG II PHÂN TÍCH HỆ THỐNG
1. Các chức năng của hệ thống trợ giúp nhà quản lý
Trên hệ thống thông tin với cơ sở dữ liệu bán hàng đã được thuthập, lãnh đạo công ty cần ra các quyết định Việc ra quyết địnhchính là công tác quản lí của lãnh đạo, hay nhà quản lí
Hệ thống trợ giúp quyết định cho phép thực hiện các trợ giúpliệt kê dưới đây Các trợ giúp có ý nghĩa cùng nhà quản lí, hay lãnhđạo công ty đưa ra quyết định cuối cùng Trong trường hợp này,phần mềm máy tính là công cụ giúp cho con người ra quyết địnhquản lí
Trang 16Hình 2 Biểu đồ phân cấp chức năng
2. Sơ đồ luồng dữ liệu
2.1. Biểu đồ mức ngữ cảnh
Hình 3: Biểu đồ mức ngữ cảnh
2.2. Biểu đồ mức đỉnh
Trang 18Hình 8: Biểu đồ luồng dữ liệu cho chức năng dự đoán
3. Chức năng mô hình
Hình 7: Biểu đồ luồng dữ liệu cho chức năng mô hình
Trang 19Hệ hỗ trợ quyết định
CHƯƠNG III THIẾT KẾ HỆ THỐNG
1. Ngôn ngữ viết chương trình
Front-end:
HTML là từ viết tắt của HyperText Markup Language(ngôn ngữ đánh dấu siêu văn bản) dùng mô tả cấu trúc của cáctrang Web và tạo ra các loại tài liệu có thể xem được trong trìnhduyệt
HTML được tạo ra và phát triển bởi tổ chức W3C (WorldWide Web Consortium)Hiện nay phiên bản mới nhất của HTML
là HTML5 với nhiều tính năng ưu việt so với các phiên bản cũ
CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữđịnh dạng được sử dụng để mô tả trình bày các trang Web, baogồm màu sắc, cách bố trí và phông chữ CSS cho phép chúnghiển thị nội dung tương thích trên các loại thiết bị có kích thướcmàn hình khác nhau, chẳng hạn như màn hình lớn, màn hình nhỏ
như điện thoại hay máy tính bản.
CSS là độc lập với HTML và có thể được sử dụng với bất
kỳ ngôn ngữ đánh dấu nào xây dựng dựa trên XML CSS tuân
theo chuẩn chung do W3C quy định.
JavaScript
JavaScript là một ngôn ngữ nhỏ và nhẹ chạy trong môi
Trang 20thể được kết nối với các đối tượng của môi trường để cung cấpkiểm soát chương trình đối với chúng.
JavaScript cho phép bạn thực hiện những điều phức tạp trêncác trang web như bản đồ tương tác…
Javascript được hỗ trợ hầu như trên tất cả các trình duyệtnhư Firefox, Chrome, … thậm chí các trình duyệt trên thiết bị diđộng cũng có hỗ trợ
Hiện nay nó được dùng rộng rãi cho các trang web (phíangười dùng) cũng như phía máy chủ (với Nodejs)
Bootstrap
Bootstrap là một framework cho phép thiết kế website reponsive nhanh hơn và dễ dàng hơn Bootstrap là bao gồm các HTML templates, CSS templates và Javascript tao ra những cái
cơ bản có sẵn như: typography, forms, buttons, tables, navigation,modals, image carousels và nhiều thứ khác Trong bootstrap có thêm các plugin Javascript trong nó Giúp cho việc thiết kế
reponsive của bạn dễ dàng hơn và nhanh chóng hơn
Bootstrap là dược phát triển bởi Mark Otto và Jacob
Thornton tại Twitter Nó được xuất bản như là một mã nguồn mở vào tháng 8 năm 2011 trên GitHub Tính ra đến thời điểm mình viết bài viết này nó cũng đã phát triển được 3 năm rồi Bản
bootstrap mới nhất bây giờ là bootstrap 3
Trang 21nó vào bất cứ thứ gì; Node.js làm điều đó đối với các web server JavaScript suy cho cùng cũng chỉ là một ngôn ngữ - vậy thì không
có lý do gì để nói nó không thể sử dụng trên môi trường server tốt như là trong trình duyệt của người dùng được
Trong một môi trường server điển hình LAMP MySQL-PHP), bạn có một web server là Apache hoặc NGINX nằm dưới, cùng với PHP chạy trên nó Mỗi một kết nối tới server
(Linux-Apache-sẽ sinh ra một thread mới, và điều này khiến ứng dụng nhanh
chóng trở nên chậm chạp hoặc quá tải - cách duy nhất để hỗ trợ nhiều người dùng hơn là bằng cách bổ sung thêm nhiều máy chủ Đơn giản là nó không có khả năng mở rộng tốt Nhưng với Node.jsthì điều này không phải là vấn đề Không có một máy chủ Apache lắng nghe các kết nối tới và trả về mã trạng thái HTTP - bạn sẽ phải
tự quản lý kiến trúc lõi của máy chủ đó May mắn thay, có một số module giúp thực hiện điều này được dễ dàng hơn, nhưng công việc này vẫn gây cho bạn một chút khó khăn khi mới bắt đầu Tuy nhiên, kết quả thu được là một ứng dụng web có tốc độ thực thi cao
Python
Python là một ngôn ngữ lập trình thông dịch (interpreted),hướng đối tượng (object-oriented), và là một ngôn ngữ bậc cao
Trang 22module hóa và tái sử dụng mã Trình thông dịch Python và thưviện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhịphân miễn phí cho tất cả các nền tảng chính và có thể được phânphối tự do Được sử dụng để chạy model của bài toán
Express Framework
Express là một framework giành cho nodejs Nó cung cấp cho chúng ta rất nhiều tính năng mạnh mẽ trên nền tảng web cũng như trên các ứng dụng di động Express hỗ rợ các phương thức HTTP và midleware tạo ra môt API vô cùng mạnh mẽ và dễ sử dụng Có thể tổng hợp một số chức năng chính của express như sau:
• Thiết lập các lớp trung gian để trả về các HTTP request
• Định nghĩa router cho phép sử dụng với các hành động khác nhau dựa trên phương thức HTTP và URL
• Cho phép trả về các trang HTML dựa vào các tham số
2. Giao diện Website
Trang 23Hệ hỗ trợ quyết định
Hình 8: Giao diện mở đầu
Hình 9: Giao diện đưa ra kết quả dự đoán
Trang 24Nguồn tài liệu tham khảo:
1 http://elib.ictu.edu.vn/Opacdigital/wpViewFileConvertedTrailer.aspx?Id=678
2. https://maths.uel.edu.vn/Resources/Docs/SubDomain/maths/TaiLieuHocTap/To anUngDung/mhnhhiquyabin.html
3
http://kqtkd.duytan.edu.vn/uploads/3dfe02a3-8a6b-4e80-b934-fe58f67fbe1b_ungdungexceltrongphantichhoiquyvatuongquan.pdf
4 https://www.kaggle.com/kolawale/focusing-on-mobile-app-or-website