CHƯƠNG 3. PHỤ THUỘC BOOLEAN DƯƠNG THEO NHÓM BỘ
3.4. Cài đặt minh họa bài toán tìm Phụ thuộc Boolean dương theo nhóm bộ và Phụ thuộc Boolean dương đa trị theo nhóm bộ trên khối
- Mục tiêu: Xây dựng và cài đặt công cụ phân tích dữ liệu khách hàng, tìm phụ thuộc Boolean dương theo nhóm bộ và phụ thuộc Boolean dương đa trị theo nhóm bộ trên khối với dữ liệu cụ thể. Tìm mối liên hệ về xu hướng theo nhóm khách hàng mua một mặt hàng, thường mua kèm những mặt hàng nào, theo những thời gian nào và với loại chất lượng nào.
- Công cụ và môi trường thực nghiệm:
Công cụ để xây dựng chương trình: Ngôn ngữ lập trình PHP, Javascript.
Môi trường thực nghiệm: Máy tính PC cấu hình Intel(R) Core™ i7 2.5Ghz, RAM 8G, Windows 10 OS, Xampp 7.2.8.
- Thuật toán:
Input: Khối r ({mùa hè, mùa xuân, mùa đông}; bánh mỳ, bơ, sữa) chứa các phép gán trị: c, 1, 2 và #; trong đó các kí hiệu trên hệ thống được quy định như sau:
c: loại cao cấp; 1: loại 1; 2: loại 2; #: giá trị rỗng.
Output: Phụ thuộc Boolean dương theo nhóm bộ (PTBDTNB) và Phụ thuộc Booleand đa trị theo nhóm bộ (PTBDĐTTNB;
Phương pháp:
1. Begin PTBDTNB and PTBDĐTTNB 2. Create r(id; A1, A2,…,An);
3. Input data into r;
4. Create T(id; A1, A2,…,An, PTBDTNB, PTBDĐTTNB);
5. T_Data = ;
6. For each xid do 7. For i = 1 to n do
8. If (any dom(x(i))p have same value) then saveT = 1;
9. Else if (any dom(x(i))p have value defferent couple each) then saveT = 0.7;
10. Else if (any dom(x(i))p have only one value) then saveT = 0.3 else saveT = 0;
11 End for;
12. With any dom(x(i))p calculate Data[PTBDTNB]->PTBDTNB if (Data[PTBDTNB] = 1) then assign value 1 else assign value 0;
13. With each any dom(x(i))p calculate Data[PTBDĐTTNB]->PTBDĐTTNB if (Data[PTBDĐTTNB] ≥ m) then assign value 1 else assign value 0;
14. T_Data = (saveT, Data[PTBDTNB], Data[PTBDĐTTNB]);
15. Count(dom(x(i))->1);
16. Count(dom(x(i))->0.7);
17. Count(dom(x(i))->0.3);
18. Count(dom(x(i))->0);
19. End for;
20. Return T_Data;
21. Return Count(dom(x(i))->1);
22. Return Count(dom(x(i))->0.7);
23. Return Count(dom(x(i))->0.3);
24. Return Count(dom(x(i))->0);
25. if T_Data(Data[PTBDTNB] -> 0) then No PTBDTNB else PTBDTNB;
26. if T_Data[Data[PTBDĐTTNB] -> 0) then No PTBDĐTTNB else PTBDĐTTNB;
27. End PTBDTNB and PTBDĐTTNB.
- Dữ liệu chạy thực nghiệm: Dữ liệu bán hàng bánh mì, bơ, sữa của Siêu thị Vinmart+ tại Phường Xuân Hòa, thành phố Phúc Yên, tỉnh Vĩnh Phúc.
Bộ dữ liệu mặt hàng được nhập với số nhóm khách hàng theo mùa như sau:
Mùa hè Mùa xuân Mùa đông
455 (bộ khách hàng) 455 (bộ khách hàng) 455 (bộ khách hàng) Tập trị B ={0, 0.3. 0.7, 1}. Số nhóm p = 3 bộ.
Yêu cầu: Kiểm tra với bộ dữ liệu khách hàng trên có tồn tại Phụ thuộc Boolean theo nhóm bộ trên khối và Phụ thuộc Boolean dương đa trị theo nhóm bộ trên khối với ngưỡng m = 0.7 ? Xu hướng mua hàng của nhóm khách hàng theo mùa như thế nào?
- Kết quả chạy chương trình: Kết quả chạy chương trình tìm được:
+ Phụ thuộc Boolean dương theo nhóm bộ trên khối:
Bánh mì p Bơ Sữa
+ Phụ thuộc Boolean dương đa trị theo nhóm bộ trên khối:
Bánh mì p, 0.7 Bơ Sữa Kết quả được biểu thị qua các biểu đồ như sau:
Hình 3.6: Biểu đồ mô tả xu hướng khách hàng mua hàng vào mùa hè Nhận xét:
- Vào mùa hè:
Mức 1: Có 347 nhóm mua bánh mì (cùng loại hàng cao cấp hoặc loại 1 hoặc loại 2) thì có 155 nhóm mua bơ hoặc 216 nhóm mua sữa (cùng loại).
Mức 0.7: Có 455 nhóm mua bánh mì (không phân biệt loại hàng cao cấp hoặc loại 1 hoặc loại 2) thì có 155 nhóm mua bơ, 300 nhóm mua sữa (không phân biệt loại hàng).
Mức 0.3: Có 455 nhóm mua bánh mì (mỗi nhóm chỉ cần từ 1 khách hàng mua hàng) thì có 371 nhóm mua bơ, 435 nhóm mua sữa (mỗi nhóm chỉ cần từ 1 khách hàng mua hàng).
Ý nghĩa thực tiễn: Vào mùa hè khách hàng có xu hướng mua bánh mì kèm sữa nhiều hơn so với mua kèm bơ. Với số liệu như trên, cần nhập số lượng sữa nhiều hơn so với bơ và sắp xếp mặt hàng sữa gần bánh mì hơn so với bơ để thuận lợi hơn cho khách hàng, đồng thời là căn cứ để chăm sóc khách hàng theo nhóm được tốt hơn.
+ Vào mùa xuân:
Hình 3.7: Biểu đồ mô tả xu hướng khách hàng mua hàng vào mùa xuân Qua biểu đồ hình 3.10, ta thấy vào mùa xuân:
Mức 1: Có 347 nhóm mua bánh mì (cùng loại hàng cao cấp hoặc loại 1 hoặc loại 2) thì có 225 nhóm mua bơ hoặc 216 nhóm mua sữa (cùng loại).
Mức 0.7: Có 455 nhóm mua bánh mì (không phân biệt loại hàng cao cấp hoặc loại 1 hoặc loại 2) thì có 345 nhóm mua bơ, 300 nhóm mua sữa (không phân biệt loại hàng).
Mức 0.3: Có 455 nhóm mua bánh mì (mỗi nhóm chỉ cần từ 1 khách hàng mua hàng) thì có 445 nhóm mua bơ, 435 nhóm mua sữa (mỗi nhóm chỉ cần từ 1 khách hàng mua hàng).
Như vậy: Vào mùa xuân khách hàng có xu hướng mua bánh mì kèm bơ nhiều hơn so với mua kèm sữa. Với số liệu như trên, cần nhập số lượng bơ nhiều hơn so với sữa. Do tỉ lệ khách hàng mua bánh mì kèm bơ cùng loại nhiều hơn nên cần sắp xếp mặt hàng bơ (cùng loại) gần bánh mì (cùng loại) hơn so với sữa để thuận lợi hơn cho khách hàng, đồng thời là căn cứ để chăm sóc khách hàng theo nhóm được tốt hơn.
+ Vào mùa đông:
Hình 3.8: Biểu đồ mô tả xu hướng khách hàng mua hàng vào mùa đông Qua biểu đồ hình 3.11, ta thấy vào mùa đông:
Mức 1: Có 347 cặp mua bánh mì (cùng loại hàng cao cấp hoặc loại 1 hoặc loại 2) thì có 358 cặp mua bơ hoặc 216 cặp mua sữa (cùng loại).
Mức 0.7: Có 455 cặp mua bánh mì (không phân biệt loại hàng cao cấp hoặc loại 1 hoặc loại 2) thì có 442 cặp mua bơ, 300 cặp mua sữa (không phân biệt loại hàng).
Mức 0.3: Có 455 cặp mua bánh mì (mỗi cặp chỉ cần từ 1 khách hàng mua hàng) thì có 455 cặp mua bơ, 435 cặp mua sữa (mỗi cặp chỉ cần từ 1 khách hàng mua hàng).
Như vậy: Vào mùa đông khách hàng có xu hướng mua hàng giống mùa xuân, có nghĩa là khách hàng mua bánh mì kèm bơ vẫn nhiều hơn so với mua kèm sữa và với tỉ lệ nhiều hơn so với mùa xuân. Với số liệu như trên, cần nhập số lượng bơ và sữa nhiều hơn so với mùa xuân và số lượng bơ nhiều hơn so với sữa. Do tỉ lệ khách hàng mua bánh mì kèm bơ cùng loại nhiều hơn nên cần sắp xếp mặt hàng bơ (cùng loại) gần bánh mì (cùng loại) hơn so với sữa để thuận lợi hơn cho khách hàng.