http:123link.proV8C5Nội dung của luận văn: Chương 1. Tổng quan; Chương 2. Cơ sở lý thuyết; Chương 3. Xây dựng hệ thống; Chương 4. Thử nghiệm và bàn luận; Chương 5. Kết luận và hướng phát triển.Hình 2.1: Sinh các ứng viên và mẫu dãy trong GSP .......................................... 12Hình 3.1: Phần mềm Weka ................................................................................. 21Hình 3.2: Phần mềm dự đoán theo mô hình Markov.......................................... 25Hình 3.3 Giao diện biểu diễn các chuỗi.............................................................. 27Hình 3.4: Phần mềm dự báo mặt hàng ............................................................... 29Hình 4.1: Giao diện phần mềm Weka................................................................. 32Hình 4.2: Thiết lập giá trị tham số cho minSupport ......................................... 33Hình 4.3: Các mặt hàng phát hiện qua Weka ..................................................... 34Hình 4.4: Các cặp mặt hàng tìm thấy qua Weka ................................................ 35Hình 4.5: Các bộ 3 mặt hàng tìm đƣợc bằng Weka............................................ 37Hình 4.6: Giao diện chƣơng trình dự đoán ......................................................... 38Hình 4.7: Đăng nhập dữ liệu qua phím Đọc tập tin ........................................... 40Hình 4.8: Giao diện sau khi đọc tập tin .............................................................. 40
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
Người hướng dẫn khoa học: PGS TS ĐỖ PHÚC
Đồng Nai, năm 2017
Trang 3Bằng tất cả lòng chân thành và sự kính phục, tôi xin trân trọng cảm ơn Thầy PGS.TS Đỗ Phúc.Tuy rất bận rộn với công việc nghiên cứu, giảng dạy và gia đình, nhưng trong suốt thời gian hướng dẫn đề tài, Thầy vẫn luôn sẵn sàng nhiệt tình sắp xếp thời gian để định hướng, hướng dẫn, động viên và giúp đỡ rất tận tình giúp tôi hoàn thành luận văn này
Tôi xin gửi lời chân thành cảm ơn đến Ban Giám hiệu trường Đại học Lạc Hồng, Quý Thầy, Cô thuộc khoa sau đại học đã tạo điều kiện tốt nhất để tôi hoàn thành chương trình cao học
Bên cạnh đó, tôi xin cảm ơn sâu sắc đến các bạn cùng khóa đã nhiệt tình đóng góp ý kiến, chia sẻ cũng như động viên để tôi hoàn thiện hơn đề tài của mình
Ngoài ra, tôi xin cảm ơn gia đình, người thân đã luôn khích lệ, động viên, giúp đỡ trong suốt quá trình học tập, nghiên cứu, đã tạo nên sức mạnh to lớn để tôi hoàn thành kết quả học tập này
Mặc dù đã rất cố gắng nhưng Luận văn khó tránh khỏi những thiếu sót, kính mong Quý Thầy Cô và bạn bè hướng dẫn, góp ý để nội dung nghiên cứu này ngày càng hoàn thiện hơn và có ứng dụng thực tiễn
Một lần nữa, tôi xin chân thành cảm ơn
Ngày 20 tháng 10 năm 2017
HỌC VIÊN
Đặng Hoàng Lam
Trang 4***
Tôi xin cam đoan :
a Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy PGS.TS Đỗ Phúc
b Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
c Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
NGƯỜI CAM ĐOAN
Đặng Hoàng Lam
Trang 5CSDL: Cơ sở dữ liệu
DPB: Độ phổ biến
ĐLNN: Đại lƣợng ngẫu nhiên
GSP: Generalized Sequential Pattern
I/O: Input/ Output
MaKH: Mã khách hàng
Trang 6Hình 2.1: Sinh các ứng viên và mẫu dãy trong GSP 12
Hình 3.1: Phần mềm Weka 21
Hình 3.2: Phần mềm dự đoán theo mô hình Markov 25
Hình 3.3 Giao diện biểu diễn các chuỗi 27
Hình 3.4: Phần mềm dự báo mặt hàng 29
Hình 4.1: Giao diện phần mềm Weka 32
Hình 4.2: Thiết lập giá trị tham số cho minSupport 33
Hình 4.3: Các mặt hàng phát hiện qua Weka 34
Hình 4.4: Các cặp mặt hàng tìm thấy qua Weka 35
Hình 4.5: Các bộ 3 mặt hàng tìm được bằng Weka 37
Hình 4.6: Giao diện chương trình dự đoán 38
Hình 4.7: Đăng nhập dữ liệu qua phím Đọc tập tin 40
Hình 4.8: Giao diện sau khi đọc tập tin 40
Hình 4.9: Giao diện các chuỗi mặt hàng 41
Hình 4.10: Giao diện chạy huấn luyện 41
Hình 4.11: Biểu diễn các mặt hàng đã mua lần lượt theo mã khách hàng 42
Hình 4.12: Thông báo đọc xong file các mặt hàng đã bán cho khách hàng 43
Hình 4.13: Chuỗi các mặt hàng được biểu diễn trên giao diện 44
Hình 4.14: Nhập giá trị cần dự báo 46
Hình 4.15: Giao diện chương trình tổng quát 47
Trang 7Hình 4.18: Thông báo chi tiết kết quả mặt hàng dự báo 56
Trang 8Bảng 2.1: Bảng mã khách hàng và mã giao dịch 7
Bảng 2.2: Bảng dãy dữ liệu của khách hàng 8
Bảng 2.3: Bảng ứng viên độ phổ biến 1 8
Bảng 2.4: Bảng ứng viên độ phổ biến 2 9
Bảng 2.5: Bảng ứng viên độ phổ biến 3 10
Bảng 4.1: Kết quả 20 dự báo từ 20 mẫu dãy chọn theo Weka 49
Bảng 4.2: Bảng dự báo từ 20 mặt hàng trong cùng nhóm hàng 52
Bảng 4.3: Kết quả thử nghiệm một số mặt hàng không cùng nhóm hàng 57
Trang 9LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CHỮ VIẾT TẮT
DANH MỤC HÌNH DANH MỤC BẢNG MỤC LỤC CHƯƠNG 1 TỔNG QUAN 1
1.1 MỞ ĐẦU 1
1.2 Mục tiêu nghiên cứu của luận văn 4
1.3 Phạm vi và đối tượng nghiên cứu 4
1.4 Nội dung thực hiện 5
1.5 Phương pháp thực hiện 5
1.6 Kết quả dự kiến 5
1.7 Cấu trúc luận văn 5
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6
2.1 Khai phá mẫu dãy 6
2.1.1 Bài toán khai phá mẫu dãy 6
2.1.2 Thuật toán khai phá mẫu dãy 10
2.1.3 Phương pháp tiếp cận dựa trên Apriori 10
2.1.4 Thuật toán GSP(Generalized Sequential Pattern) 11
2.1.5 Các hạn chế và mở rộng 13
2.2 GIỚI THIỆU BÀI TOÁN DỰ BÁO 13
2.2.1 Định nghĩa chuỗi Markov 13
Trang 102.2.4 Tính chất chuỗi Markov 17
2.2.5 Ứng dụng của chuỗi Markov 18
2.3 Kết chương 18
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 19
3.1 Các kỹ thuật thực hiện 19
3.2 Giải pháp đề xuất 19
3.3 Các hạn chế 23
3.4 Kết chương 31
CHƯƠNG 4 THỬ NGHIỆM VÀ BÀN LUẬN 32
4.1 Thu thập dữ liệu 32
4.2 Thử nghiệm phần mềm dự báo hành vi mua hàng theo mô hình Markov 38
4.2.1 Dữ liệu huấn luyện 39
4.2.2 Dự báo mặt hàng sẽ mua của khách hàng 46
4.3 Kết chương 60
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
5.1 Kết luận 61
5.2 Hướng phát triển 61
TÀI LIỆU THAM KHẢO PHỤ LỤC Danh sách mặt hàng Một số dữ liệu thực tế từ dữ liệu đầu vào
Giấy xác nhận
Trang 11CHƯƠNG 1 TỔNG QUAN
1.1.MỞ ĐẦU
Bán hàng là hoạt động quan trọng nhất của các doanh nghiệp Sự thành công hay thất bại của doanh nghiệp luôn sẽ được quyết định nằm trong hoạt động bán hàng Nhất là các doanh nghiệp hoạt động trong lĩnh vực kinh doanh hàng tiêu dùng, thì bán hàng là miêu tả đặc trưng nhất cho sự sống còn của doanh nghiệp Để hỗ trợ hoạt động kinh doanh trong mua bán hàng tiêu dùng, cần dự báo trước được các hành vi mua sắm của khách hàng, nhằm đáp ứng nhu cầu thuận tiện và hiệu quả cũng như nhanh chóng cho khách hàng, qua đó để nâng cao hiệu quả kinh doanh lên mức tốt hơn Cách mạng công nghiệp lần thứ 4 đang mở cửa, tới cuộc cách mạng công nghiệp lần thứ 3 máy móc đã thay con người thực hiện những công việc nặng nhọc, phức tạp, tinh vi Trong thời kỳ thứ 4 sự kết nối tuyệt vời qua mạng giữa các thiết bị và máy móc với nhau, với khả năng chia sẽ kết nối dữ liệu cùng tính toán, máy tính sẽ cho những kết quả dự báo chính xác cao rất thực tế Hoạt động kinh doanh là một hoạt động quan trọng cần thiết đối với con người Nếu tạo cho máy tính một khả năng dự báo, và qua đó có thể tạo ra những quyết định lựa chọn như cách suy luận của con người trong hoạt động kinh doanh, thì máy tính có thể tính toán giúp thay con người kinh doanh trong hoạt động kinh doanh của mình Một hoạt động quan trọng nhưng khó khăn phức tạp do những hạn chế của con người như tính chủ quan, thông tin dữ liệu cần tiếp cận có giới hạn, hạn chế , sự thay đổi từ dữ liệu cần được cập nhật liên tục, hay giới hạn của sức khỏe, cũng như năng lực tính toán vv… Luận văn lấy từ ý tưởng khai thác nguồn dữ liệu trong hoạt động kinh doanh để đưa ra các dự báo hoạt động mua hàng khách quan thực tế, qua đó sẽ trợ giúp ra các quyết định đúng đắn hiện thực
Trang 12trong kinh doanh, giúp giải quyết vấn đề khó khăn trong kinh doanh “là làm sao kinh doanh có lãi “ Tạo bước xây dựng khả năng dự báo từ dữ liệu trong hoạt động kinh doanh hàng tiêu dùng [2] Thực hiện dự báo hành vi mua sắm của người tiêu dùng, qua đó xây dựng kế hoạch hoạt động kinh doanh, nhằm hỗ trợ hoạt động bán hàng của doanh nghiệp Và đánh thức tiềm năng vô cùng quan trọng, trong
việc khai thác dữ liệu mà doanh nghiệp thường bỏ qua, nó như kho tàng dữ liệu,
mà khi khai thác sẽ tìm ra những giá trị “vàng” trong kho dữ liệu của mình
Những khác biệt thay đổi trong mua bán hàng tiêu dùng trong hoạt động kinh doanh:
Trong thời đại bùng nổ bán hàng trên mạng trực tuyến như hiện nay, người người, nhà nhà đều có thể tham gia mua bán trực tiếp qua mạng online, như qua trang web, facebook, zalo,…Thực tế có thể chọn lựa mua bất kỳ món hàng tiêu dùng cần thiết sau khi được chọn qua mạng xã hội, và sẽ nhận được tận nơi mà không phải đi mua! Vậy làm cách nào để kéo người tiêu dùng đến mua sắm? Làm sao để vẫn bán hàng được doanh thu tốt? Để giải quyết vấn đề đó cần đưa nghệ thuật bán hàng lên tầm cao mới trong thời đại công nghệ 4.0 Vì khách hàng mua hàng không còn chỉ do nhu cầu, họ có thể ngồi tại nhà mua hàng vẫn có thể được đáp ứng nhu cầu của mình Mà khách hàng sẽ tới mua hàng vì ngoài nhu cầu mà còn cần có được chia sẽ, trải nghiệm để thỏa mãn cảm xúc khách hàng Nghệ thuật đó nhân viên bán hàng cần phải được đào tạo trong việc bán hàng Qua khảo sát từ hoạt động bán hàng tiêu dùng thực tế trong công ty Gevie, nhân viên bán hàng được chia ra 3 loại sau:
- Loại 3: là loại thuộc nhân viên trung bình, Loại nhân viên này bán hàng, chỉ phục
vụ theo nhu cầu mua hàng của khách hàng Nhân viên loại này doanh số bán hàng đạt dưới 5 triệu/1 ca làm việc
Trang 13- Loại 2: là loại nhân viên bán hàng khá có doanh số bán hàng đạt từ 5 đến 9 triệu/1
ca làm việc Loại nhân viên này ngoài việc phục vụ nhu cầu của khách hàng, còn
có khả năng tạo ra nhu cầu mua hàng của khách thông qua việc giới thiệu hàng hóa
để tìm thấy nhu cầu của khách hàng
- Loai 1: Là loại nhân viên bán hàng ưu tú, doanh số bán hàng trên 10 triệu/1 ca Loại nhân viên này không chỉ bán hàng phục vụ nhu cầu khách hàng, tạo ra nhu cầu mua hàng cho khách hàng, mà còn có thể bán được các mặt hàng không thuộc trong nhu cầu của khách Nhân viên loại này thường có thời gian qua đào tạo và kinh nghiệm trên 10 năm Đây là loại nhân viên tốn công đào tạo, nhưng lại rất khó giữ khi thành tài Vậy làm thế nào để đào tạo được nhân viên bán hàng loại 1 mà không bị mất đi? Nếu đưa được nhân viên bán hàng loại 2 lên loại 1 và giữ chân được nhân viên, thì doanh số sẽ tăng mạnh Từ nhu cầu phát sinh thực tế cùng với những bức xúc, đã đi đến việc lựa chọn đề tài dự báo hành vi mua sắm của người tiêu dùng trong hoạt động kinh doanh Để ứng dụng chương trình phục vụ cho việc
hổ trợ huấn luyện nhân viên bán hàng từ loại 2 lên loại 1 Cũng như với sự hổ trợ của chương trình dự báo, sẽ rút ngắn thời gian rất đáng kể để đào tạo nhân viên loại 1 trong 2 năm, và giữ được loại nhân viên này, do công việc dự báo sẽ do chương trình dự báo cung cấp chứ không phải do kỹ năng kinh nghiệm của nhân viên mà có được Nên không thể mang những kỹ năng và kinh nghiệm sang làm việc tại các đối thủ cạnh tranh
Những khó khăn và thách thức của Việt Nam trong hoạt động kinh doanh hàng tiêu dùng trong thời kỳ hiện nay:
Theo dự báo của Viện Nghiên cứu Thương mại Bộ Công thương, giai đoạn
2016 - 2020, tốc độ tăng trưởng thương mại bán lẻ của Việt Nam sẽ đạt 11,9% /năm, quy mô thị trường khoảng 179 tỷ USD vào năm 2020 từ mức 102 tỷ USD năm 2015 Đây là con số hết sức tiềm năng ,cho thấy một sự tăng trưởng vượt bậc
Trang 14của thị trường rất mạnh [6]…Nhưng với sự rút lui của hai tập đòan lớn nổi tiếng trên thế giới tại Việt nam là tập đoàn bán sĩ và lẻ Metro của Đức và tập đoàn bán
lẻ Big C của Pháp là minh chứng cho sự khó khăn của hoạt động kinh doanh hàng tiêu dùng tại Việt Nam [6] Cùng với cách mạng công nghiệp lần 4 sẽ thay thế vào các hoạt động giản đơn của con người trong dây truyền sản xuất tạo sản phẩm, dẫn đến tình trạng thất nghiệp gia tăng ảnh hưởng đến hoạt động kinh doanh ,cũng như tạo giá thành tạo ra sản phẩm rẻ hơn sẽ thúc đẩy khả năng cạnh tranh khốc liệt với hàng hóa tiêu dùng sản xuất tại thị trường trong nước.Với những khó khăn trước mắt, cần có những công cụ mới hỗ trợ cho hoạt động kinh doanh hàng tiêu dùng, cũng như nhấn mạnh vai trò quan trọng của công tác dự báo tại Việt nam Dự báo hành vi khách hàng qua khai thác dữ liệu trong hoạt động kinh doanh sẽ trợ giúp đắc lực tạo hiệu quả trong kinh doanh Trong tương lai nếu tiếp tục phát triển xây dựng và hoàn thiện khả năng dự báo từ các nguồn cơ sở dữ liệu trong hoạt động kinh doanh, sẽ giúp tạo cho máy tính khả năng dự đoán qua tổng hợp từ những kết quả dự báo, để đưa ra được các quyết định kinh doanh, giúp thay cho con người
1.2 MỤC TIÊU CỦA LUẬN VĂN
- Nghiên cứu các kiến thức về khai phá mẫu dãy
- Nghiên cứu các kiến thức về dự báo
- Khảo sát thực hiện qui trình về dự báo
Trang 151.4 NỘI DUNG THỰC HIỆN
Sử dụng chuỗi Markov để tạo chương trình dự đoán các hành vi mua hàng của khách hàng, giúp đưa ra các dự báo cần thiết trong hoạt động kinh doanh Sử dụng khai thác dãy tuần tự để tạo các dãy phổ biến trong hoạt động kinh doanh
1.7 CẤU TRÚC LUẬN VĂN
Chương 1: Trình bày tổng quan về vấn đề nghiên cứu
Chương 2: Trình bày cơ sở lý thuyết về luật dãy và dự báo theo chuỗi Markov Chương 3: Phân tích thiết kế hệ thống dự đoán theo chuỗi Markov
Chương 4: Hiện thực và thử nghiệm hệ thống
Chương 5: Kết luận và hướng phát triển
Trang 16CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Chương này trình bày cơ sở lý thuyết về khai phá mẫu dãy và dự báo theo chuỗi Markov bậc nhất
2.1 KHAI PHÁ MẪU DÃY
2.1.1 Bài toán khai phá mẫu dãy
Khai phá mẫu dãy là phương pháp tìm kiếm các mẫu dãy có ích từ trong cơ sở
dữ liệu lớn, nó phát hiện ra các dãy con phổ biến từ cơ sở dữ liệu dãy Nó rất thiết thực và quan trọng trong khai phá dữ liệu, có ứng dụng như phân tích giao dịch mua bán của khách hàng, phân tích web-log, khai thác các dãy DNA, các
dự báo khí tượng thủy văn hay phân tích các dữ liệu y học Khai phá mẫu dãy là xác định những mẫu mà sự xuất hiện của chúng trong cơ sở dữ liệu thỏa mãn mức hỗ trợ tối thiểu nào đó do người dùng định nghĩa Với số lượng các mẫu có thể là rất lớn và với các yêu cầu và lợi ích khác nhau, bằng cách sử dụng ngưỡng tối thiểu thì các mẫu không thỏa mãn ngưỡng tối thiểu được xem là không có ý nghĩa và không cần xem xét đến làm cho quá trình khai phá sẽ hiệu quả hơn [1][4]
Một số khái niệm cơ bản như sau:
Cho một tập I={i1, i2, …., im} gồm m phần tử và gọi là các mặt hàng (item) Mỗi phần tử được kết hợp với một tập thuộc tính như giá trị, giá cả, lợi nhuận, thời gian,… giá trị trong thuộc tính A của phần tử i được kí hiệu bằng i.A Một itemset là một tập con không rỗng các item và một itemset có lực lượng là k được gọi là kitemset
Một dãy S=<s1,s2,….,sn> là một danh sách có thứ tự những itemset Mỗi si (1≤i≤n) là một itemset, n là số lượng itemset Kích thước của dãy bằng số lượng itemset có trong dãy Chiều dài của dãy là tổng số item có trong dãy kí hiệu là :
Trang 17∑ j Dãy có chiều dài k còn gọi là k-sequence,
ví dụ: S=<(b)(ac)> là một 3-sequence có kích thước là 2
Chuỗi β=<b1,b2,…,bm> được gọi là dãy con của dãy ∝=<a1,a2,…,an> hay chuỗi ∝
là dãy cha của dãy β, kí hiệu là β⊆∝, nếu tồn tại những số nguyên
1≤j1<j2<…<jn<m sao cho b1⊆aj1, b2⊆aj2, …, bm⊆ajm
Một cơ sở dữ liệu dãy là một tập hợp các bộ dữ liệu có dạng (sid, s), trong đó sid là định danh của dãy và s là dãy các itemset Cho một cơ sở dữ liệu dãy D, độ hỗ trợ tuyệt đối của một mẫu tuần tự f là tổng số dãy trong D có chứa f, kí hiệu là supD(f)=|{Si∈D|f⊆Si}| Độ hỗ trợ tương đối của f là tỉ lệ phần trăm số dãy trong D chứa f Ở đây, mức hỗ trợ tuyệt đối hoặc tương đối sẽ được sử dụng chuyển đổi qua lại, ký hiệu là sup(f) Như vậy vấn đề khai phá mẫu dãy là đi tìm tập toàn bộ các mẫu đối với một cơ sở dữ liệu dãy với một độ hỗ trợ tối thiểu min_sup cho trước Một mẫu f được coi là phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng min_sup: sup(f)≥min_sup , khi đó f được gọi là mẫu dãy
Ví dụ cho CSDL được sắp theo mã khách hàng và mã giao dịch (được đánh số theo thứ tự thời gian) như sau:
Trang 18Dãy dữ liệu ứng với từng khách hàng:
Bảng 2.2 Bảng dãy dữ liệu của khách hàng
[3] MaKH Dãy dữ liệu của khách
Trang 19[1] Độ phổ biến
<(30),(40)> <(30)(70)> < ( 30 90)> <(40 70)>
Tiếp tục với các ứng viên của DPB_3, ta có:
Kết <(30),(40)> và <(40 70)> ta có các ứng viên của DPB_2 là: <(30) (40 70) > hay
<(30) (40) (70) >
Ta có:
Trang 20Bảng 2.5 Bảng ứng viên độ phổ biến 3
Ưng viên của DPB_3
[2] Độ phổ biến
<(30) (40 70) > 2
<(30)(40)(70) > 0
Từ đó ta có dãy lặp phổ biến DPB_3 là: <(30) (40 70)>
Mẫu dãy tạo ra với ngưỡng minsupp = 0,4 (ứng với 2 khách hàng) có dãy lặp phổ
biến (DPB_3) là: <(30)(40 70)> , là một mẫu dãy
2.1.2 Thuật toán khai phá mẫu dãy
Phát hiện các mẫu dãy phổ biến có thể được xem giống như là việc phát hiện luật kết hợp trên cơ sở dữ liệu thời gian Các thuật toán khai phá mẫu dãy kế thừa nhiều
từ các thuật toán khai phá luật kết hợp, trong đó sự khác biệt chính là trong khai phá mẫu dãy tìm kiếm các mẫu dãy liên tục (trong nhiều giao dịch) mà ở đó thứ tự của các item và itemset là rất quan trọng, trong khi luật kết hợp chỉ tìm kiếm các mẫu nội bộ (trong một giao dịch) Các thuật toán khai phá mẫu dãy chủ yếu tập trung vào hai nội dung sau: [1] [4]
(1) Cách thức sinh và lưu trữ dãy ứng viên Các thuật toán có thể có các cách khác nhau với mục tiêu là giảm thiểu số lượng dãy ứng viên để giảm chi phí thiết
bị vào/ra I/O
(2) Cách mà độ hỗ trợ được tính và tần xuất dãy ứng viên được kiểm tra
Dựa vào các tiêu chí trên, thuật toán khai phá mẫu dãy nhóm thành hai hướng tiếp cận chính: thuật toán dựa trên Apriorri, thuật toán phát triển mẫu
2.1.3 Phương pháp tiếp cận dựa trên Apriori
Trang 21Nguyên lý Apriori ứng dụng cho dãy là nếu một dãy S không phải là dãy phổ biến thì mọi dãy cha của S cũng không phải là dãy phổ biến Các thuật toán này dựa vào nguyên lý Apriori để sinh và kiểm tra các dãy ứng viên, trong đó nếu một dãy được kiểm tra không thỏa mãn ngưỡng tối thiểu thì các dãy chứa nó cũng sẽ bị loại Có một số thuật toán theo phương pháp tiếp cận dựa trên Apriori như AprioriAll, GSP, SPADE, SPAM và các biến thể của chúng
2.1.4 Thuật toán GSP(Generalized Sequential Pattern):
Cấu trúc cơ bản của thuật toán GSP là thuật toán duyệt dữ liệu nhiều lần, lần duyệt đầu tiên xác định độ hỗ trợ của từng mặt hàng(item) Kết thúc lần duyệt đầu tiên, thuật toán đưa ra được tập các 1-sequence phổ biến gọi là tập khởi đầu Tập khởi đầu được sử dụng để sinh ra các dãy ứng viên mới với mỗi dãy ứng viên
có ít nhất một item thuộc dãy khởi đầu, vì thế tất cả các dãy ứng viên trong một lần duyệt sẽ có cùng số item Độ hỗ trợ của các dãy ứng viên này được tìm thấy trong quá trình duyệt dữ liệu Kết thúc lần duyệt, thuật toán xác định các dãy ứng viên phổ biến và những dãy ứng viên phổ biến này trở thành tập khởi đầu cho lần duyệt tiếp theo Thuật toán kết thúc khi không tìm được dãy ứng viên nào cuối lần duyệt, hoặc khi không có dãy ứng viên nào được sinh ra Thuật toán này được dùng trong Weka, và trong luận văn Weka sẽ được dùng để tìm dãy phổ biến, nhằm tiến hành
dự báo hành vi mua hàng của khách hàng
Mô tả sinh các ứng viên và mẫu dãy trong GSP(Generalized Sequential Pattern)
Trang 22Hình 2.1 Sinh các ứng viên và mẫu dẫy trong GSP Trong hình 2.1: Kết thúc lần duyệt đầu tiên (lần 1), chuỗi 8 mặt hàng (item) được xác định có 6 mẫu, thuật toán đưa ra được tập các 1-sequence phổ biến gọi là tập khởi đầu Trong lần duyệt tiếp theo (lần 2), có 51 bộ đạt ngưỡng tối thiểu với min_sup = 2, và duyệt được 19 mẫu, có 10 bộ không có trong CSDL Các sinh mẫu không phổ biến sẽ không được ghép vào lần duyệt tiếp Tương tự lần 3 chọn được
19 mẫu, lần 4 sinh chọn được 6 mẫu
• Các thuật toán theo phương pháp tiện cận dựa Apriori về cốt lõi dựa trên các đặc điểm chính sau :
- Tìm kiếm theo chiều rộng: Khi thuật toán xây dựng tập tất cả các dãy k-sequence trong mỗi lần lặp thứ k, thuật toán duyệt qua toàn bộ không gian tìm kiếm
- Sinh và kiểm tra ứng viên: Thuật toán sử dụng phương pháp tạo và tỉa các ứng viên, tuy nhiên phương pháp tạo ứng viên sinh ra một lượng lớn các dãy ứng viên
Trang 23và việc kiểm tra từng ứng viên thoả mãn ngưỡng cho phép làm tiêu tốn nhiều bộ nhớ trong giai đoạn đầu của quá trình
- Duyệt cơ sở dữ liệu nhiều lần: Cơ sở dữ liệu gốc sẽ được duyệt lặp lại nhiều lần
để kiểm tra các ứng viên được tạo ra có phổ biến hay không
2.1.5 Các hạn chế và mở rộng
- Các thuật toán theo hướng tiếp cận dựa trên Apriori, với cơ sở dữ liệu dãy lớn nó
sẽ tạo ra một lượng rất lớn các ứng viên Mặt khác, trong quá trình khai phá kỹ thuật này đòi hỏi phải duyệt cơ sở dữ liệu gốc nhiều lần
- Trong quá trình khai phá có thể tạo ra lượng lớn các mẫu dãy phổ biến, nhưng người sử dụng chỉ quan tâm một lượng nhỏ các mẫu có ích trong đó phù hợp với mục tiêu sử dụng, việc biểu diễn toàn bộ các mẫu gây khó khăn cho việc sử dụng
2.2 GIỚI THIỆU BÀI TOÁN DỰ BÁO
2.2.1 Định nghĩa chuỗi Markov
Một chuỗi Markov (thời gian rời rạc), là một quá trình ngẫu nhiên thời gian rời
rạc với tính chất Markov [4] [5] Trong một quá trình như vậy, quá khứ không liên quan đến việc dự đoán tương lai mà việc đó chỉ phụ thuộc vào trạng thái hiện tại
Chuỗi Markov là một dãy X1, X2, X3, gồm các biến ngẫu nhiên Tập tất cả các giá trị có thể có của các biến này được gọi là không gian trạng thái S, giá trị của Xn là trạng thái của quá trình sinh tại thời điểm n Quá trình này được gọi là quá trình Markov bậc 1 (first-order Markov process).Nếu việc xác định (dự đoán) phân bố xác suất có điều kiện của Xn+1 khi cho biết các trạng thái quá khứ là một hàm chỉ phụ thuộc Xn thì:
( | ) ( | ) (2.1) Trong đó là một trạng thái nào đó của quá trình sinh (x thuộc không gian trạng thái S)
Trang 24Ta nói dãy các ĐLNN (Xn) là một chuỗi Markov nếu với mọi n1< <nk< nk+1 và với mọi i1,i2 , ,ik+1∈ E
P{ Xn(k+1) = ik+1|Xn1 =Xn2 = i2…, Xn(k) = ik }=
P{Xn(k+1) = ik+1|Xn(k) = ik }
(2.2)
Ký hiệu: Pij = P{Xn+1 = j|Xn = i} ; Pij(n) = P{Xm+n = j|Xm = i}
và U(n)=(u1(n), , ud(n)) là vector hàng d - chiều mô tả phân bố của Xn, U = U(0)
= (u1,u2, , ud) là vector hàng d - chiều mô tả phân bố ban đầu (phân bố của X0)
Ta có một số tính chất sau:
P(X0 = i0, X1 = i1, …, Xn = in ) = ui0Pi(0)i(1) … Pi(n-1) i(n) (2.3)
• U(m + n)= U(m)Pn ;
Nói riêng : U(n)= U Pn (2.4)
2.2.2 Tính chất của chuỗi Markov
1) Một chuỗi Markov được biểu diễn bởi phân bố điều kiện ( | ), đó
là xác suất chuyển dịch của quá trình (hoặc xác suất chuyển dịch một bước) Từ đó ta có thể tính được xác suất chuyển đổi của k bước
2) Xác suất biên ( ) là phân bố trên các trạng thái tại thời điểm n Phân
bố ban đầu là ( ) Sự tiến hóa của quá trình qua một bước được mô tả bằng công thức:
( ) ∫ ( | ) ( ) (2.5) Đây là một phiên bản của phương trình Frobenius-Perron
Trang 253) Phân bố ổn định: sau một một khoảng thời gian chuyển dịch, trạng thái hiện tại độc lập với trạng thái ban đầu Khi đó, chuỗi này đã đạt tới phân
bố ổn định hoặc phân bố có trạng thái ổn định Xích Markov có thể đạt tới phân bố ổn định Phân bố ổn định nếu thỏa mãn điều kiện:
Nói một cách khác, Một phân bố ổn định là một hàm riêng của hàm phân
bố điều kiện, gắn với trị riêng là 1
4) Hồi qui dương nghĩa là thời gian được kì vọng trở lại trạng thái ban đầu
là một giá trị dương cho mọi trạng thái Nếu chuỗi Markov là hồi qui dương, thì tồn tại một phân bố ổn định Nếu chuỗi Markov là hồi quy dương và không thể tối giản được nữa, thì tồn tại một phân bố ổn định duy nhất Điều kiện đủ cho một phân bố ổn định duy nhất là tồn tại phương trình cân bằng chi tiết:
( ) ( ) Hay ( ) ( )
(2.7)
Khi cân bằng, phân bố ổn định thỏa mãn:
2.2.3.Ví dụ minh họa về chuỗi Markov để dự báo
Giả sử không gian trạng thái của thời tiết là (mưa, nắng, mây) và thời tiết tuân theo
xử lý Markov Do đó, xác suất thời tiết của ngày mai sẽ dựa theo xác suất thời tiết của ngày hôm nay, và không cần quan tâm tới những ngày trước đó Giả sử rằng, các chuyển đổi xác suất dựa theo ngày hôm nay trời mưa là
Trang 26P (ngày mai mưa | ngày hôm nay mưa) = 0.5
P (ngày mai nắng | ngày hôm nay mưa) = 0.25
P (ngày mai mây | ngày hôm nay mưa) = 0.25 Suy ra, dòng đầu tiên trong ma trận xác suất chuyển đổi sẽ là (0.5, 0.25, 0.25)
Giả sử các giá trị còn lại của ma trận là:
Giả sử hôm nay trời nắng, vậy ta có thể dự báo thời tiết của ngày mai, hai
ngày nữa sẽ như thế nào, 7 ngày nữa sẽ ra sao
Với dữ kiện ngày hôm nay nắng, ta có ( ) ( ), ta có:
a) Thời tiết của ngày mai:
( ) ( ) ( ) ( ) (
) ( )
Ngày mai trời mưa xác suất sẽ là 0.5
Ngày mai trời nắng xác suất sẽ là 0.0
Ngày mai trời mây xác suất sẽ là 0.5
b) Thời tiết của hai ngày nữa sẽ là:
( ) ( ) ( )
Trang 27( ) (
) ( )
Hai ngày nữa trời mưa xác suất sẽ là 0.375
Hai ngày nữa trời nắng xác suất sẽ là 0.25
Hai ngày nữa trời mây xác suất sẽ là 0.375
c)Tương tự ta có thể dự báo thời tiết của 7 ngày nữa là :
( ) ( ) Một tuần nữa trời mưa xác suất sẽ là 0.4
Một tuần nữa nữa trời nắng xác suất sẽ là 0.2
Một tuần nữa trời mây xác suất sẽ là 0.4
Ngược lại, giả sử hôm nay trời mưa, có nghĩa là ( ) ( ) Thời tiết mong
muốn sẽ là ( ) ( ) và ( ) ( )
Lưu ý: ta thấy, sau một một khoảng thời gian phù hợp, thời tiết đã đạt tới phân
bố ổn định ( ) ( )
2.2.4 Tính chất chuỗi Markov
Đặc điểm của một xích Markov được biểu diễn bởi phân bố điều kiện P(Xn+1|Xn)
đó là xác suất chuyển dịch của quy trình [3][4] Xác suất của một chuyển dịch trong hai, ba, hoặc nhiều bước hơn được rút ra từ xác suất chuyển dịch một bước
và thuộc tính Markov:
P(Xn+1|Xn)=∫P(Xn+2 ,Xn+1|Xn ) dXn+1= ∫P(Xn+2|Xn+1)P(Xn+1|Xn) dXn+1 (2.9)
Trang 28Tương tự:
P(Xn+3|Xn)=∫P(Xn+3)|Xn+2 ∫P(Xn+2|Xn+1)P((Xn+1|Xn) dXn+1dXn+2 (2.10)
Xác suất biên (marginal distribution) P(Xn) là phân bố trên các trạng thái tại thời
điểm n Phân bố ban đầu là P(X0) Sự tiến hóa của quy trình qua một bước được
mô tả bằng công thức:
P(Xn+1) =∫P(Xn+1|Xn)|P(Xn) dXn (2.11)
2.2.5 Ứng dụng của chuỗi Markov
Các hệ thống Markov xuất hiện nhiều trong vật lí, đặc biệt là cơ học thống kê Chuỗi Markov có thể dùng để mô hình hóa nhiều quá trình trong lí thuyết hàng đợi
và thống kê Chuỗi Markov cũng có nhiều ứng dụng trong mô hình sinh học, đặc biệt là trong tiến trình dân số Một ứng dụng của chuỗi Markov gần đây là ở thống
kê địa chất Chuỗi Markov cũng có thể ứng dụng trong nhiều trò game Trong ngành quản lý đất đai người ta còn ứng dụng chuỗi Markov vào phân tích sự thay đổi sử dụng đất
2.3 KẾT CHƯƠNG
Chương này trình bày cơ sở lý thuyết của bài toán khám phá mẫu dãy và dự báo kết quả mua hàng Trong bài toán khám phá mẫu dãy, luận văn trình bày các khái niệm liên quan đến mẫu dãy Sau đó là thuật toán khai phá mẫu dãy Trong bài toán dự báo bằng chuỗi Markov, luận văn đã trình bày khái niệm chuỗi Markov, tính chất của chuỗi Markov Các lý thuyết này sẽ được dùng để xây dựng hệ thống trong chương 3
Trang 29CHƯƠNG 3
XÂY DỰNG HỆ THỐNG
Chương này trình bày việc xây dựng hệ thống phần mềm có khả năng phân tích và
dự báo kết quả cho mô hình hoạt động kinh doanh
3.1 CÁC KỸ THUẬT THỰC HIỆN
Luận văn này sử dụng ý tưởng của mô hình trên để xây dựng mô hình tính toán, dự báo và đề xuất hướng giải quyết cho mô hình hoạt động kinh doanh
Các bước chính mà mô hình đã đề xuất sẽ được thực hiện như sau:
• Giai đoạn 1: Xác định tập hợp các trạng thái S dựa vào chi tiết mô hình kiến trúc
• Giai đoạn 2: Xác định được các xác suất chuyển trạng thái để từ đó xây dựng nên mô hình về dự báo cho hoạt động kinh doanh
• Giai đoạn 3: Áp dụng các mô hình tính toán để xác định, dự báo về hoạt động kinh doanh
3.2 GIẢI PHÁP ĐỀ XUẤT
Ở phần này, chúng ta giới thiệu sự cần thiết của việc dự báo ban đầu Tiếp đến chúng ta đưa ra cái nhìn tổng quan về phương pháp tiếp cận của phần mềm dự báo
và mô tả tính thông dụng, khác biệt của phương pháp tiếp cận này Sau đó chúng
ta dự kiến các phương pháp tiếp cận mà có thể giúp trong việc giải quyết các hạn chế được trình bày
- Sự cần thiết của dự báo: Công nghiệp 4.0 không chỉ là cuộc cách mạng về khoa học kỹ thuật, mà sẽ là cuộc cách mạng tác động lên toàn diện đời sống của con người, trong tất cả các lĩnh vực Cách mạng công nghiệp 4.0
không chỉ thay đổi cách thức, mà còn thay đổi cả phương thức hoạt động
Nó không chỉ tạo thêm ra cách thức hoạt động kinh doanh mới, chẳng hạn như trong vận chuyển có thêm Uber, Grab (do từ ứng dụng công nghệ thông
Trang 30tin vào vận chuyển) , hay trong kinh doanh hàng tiêu dùng có bán hàng trên mạng_online vv, mà nó còn buộc phải thay đổi các phương cách kinh doanh
cũ đã tồn tại trước đó Như ở lĩnh vực kinh doanh hàng tiêu dùng, tới kỹ nguyên cách mạng công nghiệp 3.0 tồn tại hình thức 100 người bán vạn người mua Nhưng ở thị trường 4.0 đã đổi ngược chiều thành 100 người mua vạn người bán Hiện nay để bán được sản phẩm hàng tiêu dùng, buộc lòng đòi hỏi ở nhà quản lý một phương thức kinh doanh mới theo một cách thức tiếp cận mới, để tồn tại theo những thay đổi của thị trường Những tác động rõ nét hiện nay lên thị trường ở Việt Nam, mà trong thời gian thực hiện
đề tài đã quan sát nhận thấy qua hàng loạt cửa hàng tiêu dùng như Shop&go, Circle K+, ministop , FamilyMark …của các công ty nước ngoài
và trong nước, sau thời gian đầu tư bài bản công phu, tốn kém đã lần lượt đóng cửa, hoặc phải bán lại Trong các khu vực kinh doanh, và siêu thị lượng khách sụt giảm đi rất mạnh… Do đó sự thay đổi là đòi hỏi cấp bách cho các nhà quản lý trong kinh doanh Điều đáng tiếc, là không dễ nhận ra được khi theo cách các phương pháp hoạt động kinh doanh của truyền thống
củ 3.0, vì ở đó kết quả sẽ được đánh giá từ những gì đạt được từ sau các kết quả thu được Nhưng ở kỹ nguyên 4.0 đòi hỏi cần phải có được tốc độ trong thời đại công nghệ mới, đó là sẽ luôn cần phải được tính toán hoàn chỉnh đi trước một bước trong thực tế Tức là các phép tính toán sẽ được thực hiện nằm trong dự báo Chương trình dự báo hành vi mua sắm của khách hàng, là đột phá trong hoạt động kinh doanh hàng tiêu dùng Xây dựng nền tảng dự báo thực tế khách quan, nhằm thực hiện các tính toán trên đó Và sẽ đột phá
thay đổi nền tảng trong tư duy cũ là có hàng hóa cần bán cho khách hàng, thì
có bán được không? Và bán được số lượng là bao nhiêu? Thành kiểu tư duy khách hàng cần sẽ mua hàng gì? Và mua như thế nào? ! Trên nền tảng đó sẽ
Trang 31lập tính toán ra các kế hoạch cụ thể từ dự báo cho thực tế Và cách thực hiện
sẽ dùng phương pháp khai phá dữ liệu kết hợp với nền tảng toán học để tạo
ra dự báo khách quan, để hiện thực ý tưởng
- Tìm mẫu dãy bằng Weka:
Weka(viết tắt của Waikato Environment for Knowledge Analysis) là một
bộ phần mềm học máy được Đại học Waikato, New Zealand phát triển bằng
Java[1] Weka là phần mềm mã nguồn mở.
Hình 3.1 Phần mền Weka Chương trình Weka cung cấp công cụ trực quan sinh động để tìm hiểu và áp dụng khai phá dữ liệu Weka còn cho phép tích hợp vào môi trường của
Trang 32Weka các giải thuật học mới [1], được ứng dụng đa dạng, rộng rãi trong việc tìm kiếm để phát hiện các bộ dữ liệu trong cơ sở dữ liệu, sử dụng trong khảo sát ngành địa chất, sinh học, thủy văn, địa lý, kinh tế…Sử dụng Weka phát hiện các giá trị thỏa điều kiện kỳ vọng từ dữ liệu trong khai phá dữ liệu Như tìm các bộ dữ liệu khách hàng mua các sản phẩm giống nhau cùng mã hàng trong cơ sở dũ liệu Hay tìm các chuỗi tạo ra từ các bộ dữ liệu có ích dùng trong việc dự báo…
Các chức năng chính của weka:
-Khảo sát dữ liệu: tiền xử lý dữ liệu, phân lớp, gom góp dữ liệu, và khai thác luật kết hợp
-Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng, đánh giá các
mô hình học
-Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị khác nhau
Luận văn sử dụng Weka tìm các mẫu dãy chứa các chuổi để tạo ra các bộ
dữ liệu có ích dùng trong dự báo Và sử dụng mô hình chuỗi Markov bậc 1
để tạo chương trình ứng dụng dự báo trong hoạt động kinh doanh hàng tiêu dùng, tạo thành các dự báo đa dạng phong phú khác nhau trong hoạt động kinh doanh Chẳng hạn khách hàng mua sản phẩm thứ nhất, sau đó mua sản phẩm thứ hai, vậy tiếp theo khách hàng sẽ mua sản phẩm gì? Và sẽ mua ra sao? Áp dụng cho doanh nghiệp vào trong cách sắp xếp hàng hóa trưng bày,
hỗ trợ huấn luyện cho đội ngũ nhân viên bán hàng Hay nếu trong cùng các mặt hàng của cùng nhóm loại hàng, thì khách hàng sẽ mua như thế nào? Để
áp dụng cho cách nhập hàng của các mặt hàng cùng loại nhóm Hoặc trong cùng loại hàng, thì khách hàng sẽ mua với dự báo ra sao? Áp dụng cho việc lựa chọn thương hiệu cần được nhập Hoặc trong các mặt hàng khác loại nhóm hàng, khách hàng sẽ mua ra sao? Lập được kế hoạch với các mặt hàng
Trang 33khác loại cần nhập vv Khi thiết lập được càng nhiều các dự đoán, sẽ cung cấp một bức tranh tổng thể cho kế hoạch tương lai trong hoạt động kinh doanh hàng tiêu dùng, qua đó có thể thiết lập nên các kế hoạch cho doanh nghiệp trong hoạt động
3.3 CÁC HẠN CHẾ
Chương trình dự báo hành vi khách hàng sử dụng dự báo theo chuỗi Markow bậc một, lấy nguồn dữ liệu để phân tích từ công ty Gevie cung cấp Khi nguồn dữ liệu lớn, phát sinh các hạn chế trong các kỹ thuật phân tích dựa trên cấu trúc và dựa trên trạng thái phổ biến Những hạn chế của các phương pháp tiếp cận hiện tại có thể được phân loại theo:
1) modeling (mô hình hóa)
- 2) Các hạn chế phân tích:
Việc phân tích nguồn dữ liệu có hạn chế là tùy thuộc vào yêu cầu cần phân tích mà có độ phức tạp khác nhau Trong yêu cầu phân tích nguồn dữ liệu lớn cần xử lý bằng giải pháp phân tích chia nhỏ nguồn dữ liệu theo mức
Trang 34thích hợp Hoặc chia nhỏ nhu cầu của phân tích thành các phần nhỏ tương thích trước khi tổng hợp trở lại
- 3) Các hạn chế tham số ước lượng:
Tham số ước lượng phụ thuộc vào kinh nghiệm của chuyên gia đưa ra mà tạo các mức độ chính xác có thể chấp nhận được, tuy nhiên sẽ có hạn chế vì tính không đồng nhất
- 4) Các hạn chế xác thực: Do là phép dự báo nên hạn chế trong xác thực vì phải cần thời gian để xác định tính xác thực Hạn chế bằng thực hiện nhiều phép dự báo đồng cấp
- 5) Các hạn chế tối ưu hóa : Để giải quyết hạn chế trong việc tối ưu hóa cần kết hợp qua nhiều phép dự báo, qua đó hổ trợ tăng cường cho tính tối ưu trong dự báo
Sử dụng Weka 3.6.9 để phát hiện các mẫu dãy có trong chuổi phổ biến
có ích trong nguồn cơ sở dữ liệu dùng để dự báo
Chạy Weka chọn GeneralizedSequentialPatterns để lựa chọn minSupport để
phát hiện các chuổi trong nguồn cơ sở dữ liệu thu được từ dữ liệu hóa đơn mua hàng của khách hàng [1] Kết quả thu được sẽ là các chuỗi liên kết có
độ phổ biến theo phần trăm Các chuỗi có phần trăm tốt sẽ được lựa chọn dùng vào phép dự đoán
Sử dụng chuỗi Markow bậc nhất để xây dựng chương trình thực hiện phép dự đoán:
Từ nguồn cơ sở dữ liệu danh sách hàng hóa và dữ liệu hóa đơn bán hàng chương trình sẽ thực hiện chương trình dự báo theo các bước như ví dụ sau:
Dạng dữ liệu huấn luyện:
Trang 35Hình 3.2: Phần mền dự đoán theo mô hình Markov
Dữ liệu huấn luyện là CSDL chuỗi các mặt hàng đã mua như trong ví dụ sau:
Trang 36Giải thích:
Khách hàng thứ nhất (1:) đã mua các mặt hàng lần lượt là các mặt hàng ký hiệu bằng số (1), mặt hàng số (2), mặt hàng số (3), mặt hàng số (4), mặt hàng số (6) Khách hàng thứ hai (2:) đã mua các mặt hàng lần lượt là mặt hàng ký hiệu bằng số (4), mặt hàng số (3), mặt hàng số (2), mặt hàng số (5)
Khách hàng thứ ba (3:) đã mua các mặt hàng lần lượt là các mặt hàng ký hiệu là số (5), mặt hàng số (1), mặt hàng số (4), mặt hàng số (3), mặt hàng số (2)
Khách hàng thứ tư (4:) đã mua các mặt hàng số (5), mặt hàng số (7), mặt hàng số (1), mặt hàng số (4), mặt hàng số (2), mặt hàng số (3)
Khách hàng thứ nhất (5:) đã mua các mặt hàng số (1), số (2), số (3), số (4), số (7) Tương tự khách hàng thứ nhất (6:) đã mua (1), (2), (3), (4), (7)…
Dữ liệu này được tổ chức theo dạng sau để đưa vào chương trình: