Bài toán phân tích chùm được thực hiện dựa vào đánh giá mức độ gần xa của các phần tử mà chúng gọi chung là sự tương tự của dử liệu. Khi dữ liệu rời rạc, sự tương tự này được đánh giá qua đại lượng khoảng cách. Khi dữ liệu là hàm mật độ xác suất nó được đánh giá qua nhiều khái niệm khác nhau như khoảng cách, độ rộng chùm,... Trong thực tế, bài toán nhận dạng thống kê có rất nhiều ứng dụng. Chẳng hạn như ứng dụng trong y học, ứng dụng trong xã hội, tài chính, kinh tế… Trong tiểu luận này này, chúng tôi sẽ trình bày tóm tắt kiến thức cơ bản về phân tích chùm, đưa ra những ví dụ minh họa thuật toán và đưa ra những ứng dụng cụ thể đối với bài toán phân tích chùm chạy bằng phần mềm SPSS và MATLAP.
Trang 1MỤC LỤC
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 2
1.1 GIỚI THIỆU 2
1.2 KHOẢNG CÁCH GIỮA CÁC PHẦN TỬ RỜI RẠC 2
1.2.1 Khoảng cách giữa hai phần tử rời rạc 2
1.2.2 Khoảng cách gữa hai nhóm dữ liệu rời rạc 2
1.3 KHOẢNG CÁCH CỦA HAI HAY NHIỀU HƠN HAI HÀM MẬT ĐỘ 3
1.3.1 Khoảng cách 3
1.3.2 Độ rộng chùm: 3
CHƯƠNG 2: THUẬT TOÁN PHÂN TÍCH CHÙM 4
2.1 THUẬT TOÁN XÂY DỰNG CHÙM CHO DỮ LIỆU RỜI RẠC 4
2.1.1 Phương pháp thứ bậc 4
2.1.2 Phương pháp không thứ bậc 4
2.1.3 Ví dụ minh họa 4
2.2 THUẬT TOÁN XÂY DỰNG CHÙM CHO HÀM MẬT ĐỘ XÁC SUẤT 12
2.2.1 Phương pháp thứ bậc 12
2.2.2 Phương pháp không thứ bậc 12
2.2.3 Ví dụ minh họa 12
CHƯƠNG 3: BÀI TOÁN ỨNG DỤNG 14
3.1 BÀI TOÁN 1 14
3.1.1 Phương pháp thứ bậc 14
3.1.2 Phương pháp không thứ bậc 18
3.2 BÀI TOÁN 2 21
3.2.1 Phương pháp thứ bậc 22
3.2.2 Phương pháp không thứ bậc 25
TÀI LIỆU THAM KHẢO 30
Trang 2CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU
Bài toán phân tích chùm được thực hiện dựa vào đánh giá mức độ gần xa củacác phần tử mà chúng gọi chung là sự tương tự của dử liệu Khi dữ liệu rời rạc, sựtương tự này được đánh giá qua đại lượng khoảng cách Khi dữ liệu là hàm mật độ xácsuất nó được đánh giá qua nhiều khái niệm khác nhau như khoảng cách, độ rộngchùm,
Trong thực tế, bài toán nhận dạng thống kê có rất nhiều ứng dụng Chẳng hạnnhư ứng dụng trong y học, ứng dụng trong xã hội, tài chính, kinh tế… Trong tiểu luậnnày này, chúng tôi sẽ trình bày tóm tắt kiến thức cơ bản về phân tích chùm, đưa ranhững ví dụ minh họa thuật toán và đưa ra những ứng dụng cụ thể đối với bài toánphân tích chùm chạy bằng phần mềm SPSS và MATLAP
1.2 KHOẢNG CÁCH GIỮA CÁC PHẦN TỬ RỜI RẠC
1.2.1 Khoảng cách giữa hai phần tử rời rạc
i i i
1.2.2 Khoảng cách gữa hai nhóm dữ liệu rời rạc
Gọi D A B , là khoảng cách giữa hai nhóm A và B, còn n n A, B là số phần tử của A và
B, ta có một số khoảng cách thường gặp sau:
Khoảng cách min: min( , ) min, ( , )
Trang 3Chú ý rằng: Trong các khoảng cách trên thì khoảng cách Ward đuợc định nghĩa
khác với các khoảng cách khác, bởi vì nó sử dụng phương pháp phân tích phương sai(ANOVA) để đánh giá giữa các chùm làm giảm thiểu tổng bình phương sai số của bất
kỳ hai chùm có thể thành lập ở mỗi bước Phương pháp phân tích chùm với khoảng
cách Ward thường được gọi là phương pháp Ward (Ward method) Đây là phương
pháp rất hiệu quả nhưng nó có xu hướng tạo ra chùm có kích thước nhỏ, gần bằngnhau và nó đặc biệt hữu ích với quy mô lớn (mẫu n > 100)
Sau đây, chúng ta đi vào hai thuật toán phân tích chùm cho dữ liệu rời rạc
1.3 KHOẢNG CÁCH CỦA HAI HAY NHIỀU HƠN HAI HÀM MẬT ĐỘ
1.3.1 Khoảng cách
Cho hai tập hợp chứa các hàm mật độ xác suất f g i, i
với A{ ,f f1 2, ,f m},B {g , 1 g2, ,g n}, ta định nghĩa khoảng cách giữa hai tập hợp,
TH2:k � 3: ( , , , )1 2 max( ) 1
n k R
Trang 4CHƯƠNG 2: THUẬT TOÁN PHÂN TÍCH CHÙM
2.1 THUẬT TOÁN XÂY DỰNG CHÙM CHO DỮ LIỆU RỜI RẠC
chia những phần tử này thành những chùm với số lượng chùm giảm dần theo từngbước Tại mỗi bước ta ghép hai chùm thành một chùm mới với khoảng cách nhỏ nhất
so với việc ghép hai chùm khác Trong mỗi bước chúng ta chỉ xem xét những chùm ởbước trước đó và ghép hai chùm có khoảng cách nhỏ nhất, những chùm khác thì khôngthay đổi Tại bước cuối cùng tất cả các phần tử của N 0 được kết hợp thành một chùm
k 1
N Kết quả được sử dụng để thành lập một cây phân tích chùm
b) Thuật toán
Bước 1: Bắt đầu với n chùm, mỗi chùm chứa một đối tượng Tính từng đôi
khoảng cách của hai phần tử Thành lập một ma trận đối xứng của các khoảng cách
ij
D � �� �d với d ij là khoảng cách giữa i và j, i1 ,n j i�.
Bước 2: Trong các ma trận khoảng cách D tìm một khoảng cách nhỏ nhất
của hai chùm khác nhau, tức là hai chùm có sự tương tác nhiều nhất.
Bước 3: Gọi d UV là khoảng cách giữa hai chùm U và V có sự tương tác nhau nhất Hợp nhất chùm U và V thành chùm mới là (UV) Tính toán lại ma trận khoảng cách theo hai bước:
i/ Xóa dòng và cột chứa chùm U và V.
ii/ Thêm dòng và cột đại diện cho chùm (UV), tìm khoảng giữa chùm (UV) với các chùm còn lại.
Bước 4: Lặp lại bước 2 và bước 3 (lặp lại n -1 lần) cho đến khi các đối tượng
được nhóm lại thành một chùm duy nhất.
Bước 1: Chia n phần tử thành k chùm một cách ngẫu nhiên (số lượng phần tử
trong mỗi chùm là tùy ý) Tính trọng tâm của mỗi chùm.
Bước 2: Tìm khoảng cách từ mỗi phần tử đến tất cả trọng tâm của các chùm
Nếu khoảng cách từ một phần tử đến trọng tâm của chùm nó đang thuộc là nhỏ nhất thì ta giữ phần tử đó trong chùm ban đầu Nếu tồn tại một chùm khác mà khoảng cách
từ phần tử đang xét đến trọng tâm của chùm là nhỏ nhất thì ta gán phần tử đang xét vào chùm này, bỏ phần tử trong chùm nó đang thuộc Nếu phần tử được di chuyển đến chùm khác thì cần phải tính lại giá trị trọng tâm của hai chùm mới có sự thay đổi.
Bước 3: Quay lại bước 2 và dừng lại khi ta có k chùm, sao cho một phần tử
bất kỳ trong chùm có khoảng cách đến chùm nó đang thuộc nhỏ hơn khoảng cách đến các chùm khác.
2.1.3 Ví dụ minh họa
Phương pháp thứ bậc với khoảng cách min
Trang 5Ví dụ 1: Giả sử có 5 phần tử 1, 2, 3, 4, 5 với ma trận khoảng cách:
1 2 3 4 5
D =
d ij
= Xây dựng chùm theo phương pháp thứ bậc với khoảng cách min
Giải
Vì khoảng cách nhỏ nhất làd53 = 2, nên ta được chùm (35)
Để thực hiển bước tiếp theo, chúng ta cần tính toán khoảng cách giữa chùm(35) với các phần tử 1, 2, 4 Ta có:d(35)1 mind d31 , 51 min 3,11 3,
(135)(24) min (135)2 , (135)4 min 7,6 6
Nên ta có ma trận khoảng cách mới (135) 24
Lúc này chùm (135) và (24) được hợp nhất thành một chùm duy nhất (13524)chứa tất cả 5 phần tử.Cuối cùng ta có cây phân tích chùm:
Cây phân tích chùm thứ bậc cho 5 phần tử với khoảng cách min
Phương pháp thứ bậc với khoảng cách max
6
3
2
Trang 6Ví dụ 2: Giả sử có 5 phần tử 1, 2, 3, 4 và 5 với ma trận khoảng cách được cho
Giải
Vì cómin( ), ij
i j d d53 = 2, nên ta hợp nhất phần tử 3 và 5 thành chùm (35) Sửdụng khoảng cách max ta có
Do đó ma trận khoảng cách mới tìm được là: (35) (24) 1
Vì khoảng cách nhỏ nhất giữa các cặp chùm là d1(24) = 9 nên ta hợp nhất (24) vàthành chùm (124) Lúc này ta có hai chùm (35) và (124), khoảng cách xa nhất củachúng là
Cây phân tích chùm được cho bằng hinh vẽ:
Cây phân tích chùm thứ bậc cho 5 phần tử với khoảng cách max
11
2 5 3
4 2
1
5 9
Trang 7 Phương pháp thứ bậc với khoảng cách trung bình
Ví dụ 3: Giả sử có 5 phần tử 1, 2, 3, 4 và 5 với ma trận khoảng cách được cho
Trang 8Cây phân tích chùm thứ bậc cho 5 phần tử với khoảng cách trung bình
Ví dụ 4: số liệu sau diễn tả chiều cao của 6 nhân viên nam trong công ty X
Bằng phươn pháp thứ bậc, khoảng cách Euclide giữa 2 phần tử , khoảng cáchtrung giữa 2 phần tử, khoảng cách trung bình giữa 2 chùm hãy thành lập cây phân tíchchùm cho 6 nhân viên giữa vào biến chiều cao
Tương tự D avg((34), 2) 6, D avg((34,5) 3, D avg((34,6) 3
Ta có ma trận khoảng cách mới như sau:
(35) 1 2 s4
Tính tương tự vòng lặp 1, qua vòng lặp nữ ta có cây phân tính chùm như sau:
8.17 7
2
5
Trang 9Hình Cây phân tích chùm chiều cao 6 nhân viên.
Ta thấy rằng ở vòng lặp đầu tiên có hai giá trị i,jsao cho d ij là nhỏ nhất:
d d d phần trên ta đã chọn phần nhỏ nhất là d34 Bây giờ ta chọn d45 2 Làkhoảng cách nhỏ nhất, nghĩa là vòng lặp 1 ta ghép hai phần tử 4 và 5 thành chùm (45)
Khi đó cũng thục hiên qua 5 vòng lặp ta có câ phân tích chùm như sau:
Hình Cây phân tích chùm chiều cao 6 nhân viên.
Nhận xét: cây phân tích chùm của hai hình trên là khác nhau.
Ví dụ 5: giả sử ta có hai biến quan sát x1, x2 cho hai phần tử A, B, C, D Số liệu được cho trong bản sau:
Phầntử
Các quan sát
ABCD
5-11-3
31-2-2Hãy chia 4 phần tử trên thành 2 chùm sao cho các phần tử trong cùng 1 chùm thì gần nhau hơn so với các phần tử trong các chùm khác
Giải
Áp dụng thuật toán trên ta có:
Bước 1: với k=2, ta chia 4 phần tử thành 2 chùm một cách ngẫu nhiên (AB) và (CD)
Tính trọng tâm x x1 , 2 cho hai chùm ta có kết quả:
3 4
3
46 5
112
3
3 2
465
6
4
2 1
6 3
5 4
2
Trang 10Bước 2: Sử dụng phương pháp khoảng cách Euclide, Tính khoảng cách từ mỗi
phần tử đến tất cả trọng tâm của các chùm ta có kết quả:
Bước 3: lặp lại bước 2, kiểm tra lại các phép di chuyển của mỗi phần tử Sử
dụng bình phương khoảng cách Euclide, ta có bảng sau đây:
Chùm Bình phương khoảng cách từ mỗi phần tử đến trọng tâm các chùm
404
415
895Trong đó: d A B( , ) (5 ( 1)) 2 (3 1)2 40
Nhận xét: Cũng giống như phương pháp thứ bậc, kết quả của phương pháp
không thứ bậc không phải la duy nhất
Ví dụ 6: giả sử ta có hai biến quan sát x1, x2 cho hai phần tử A, B, C, D Số liệu được
1 ( 3)
12
3 122
5-1
3-1
Trang 11cho trong bản sau:
Phần
ABCD
5-11-3
31-2-2Hãy phân nhóm 6 nhân viên thành 3 chùm riêng biệt theo chiều cao
Khoảng cách từ mỗi phần tử đến trọng tâm của 3 chùm là.
Phần tử khoảng cách từ mỗi phần tử đến trọng tâm các chùm
Ta thấy khoảng cách từ các phần tử đến trọng tâm của chùm là nhỏ nhất, do đó
thuật toán kết thúc Như vậy, ta có 3 chùm là (145), 2, (36).
2.2 THUẬT TOÁN XÂY DỰNG CHÙM CHO HÀM MẬT ĐỘ XÁC SUẤT 2.2.1 Phương pháp thứ bậc
Trang 12a) Bài toán
Có n tổng thể 0 0 0 0
W , W , , Wk
N với hàm mật độ xác suất đã biết
f x f x1( ), ( ), , ( )2 f x k Chúng ta chia những phần tử này thành những chùm với sốlượng chùm giảm dần theo từng bước Tại mỗi bước ta ghép hai chùm thành một chùmmới với khoảng cách nhỏ nhất so với việc ghép hai chùm khác Trong mỗi bước chúng
ta chỉ xem xét những chùm ở bước trước đó và ghép hai chùm có khoảng cách nhỏnhất, những chùm khác thì không thay đổi Tại bước cuối cùng tất cả các phần tử của
0
N được kết hợp thành một chùm Nk1 Kết quả được sử dụng để thành lập một câyphân tích chùm
b) Thuật toán
Bước 1: Bắt đầu với n chùm, mỗi chùm chứa một đối tượng Tính độ rộng
từng đôi một theo công thức ( , ) max( ) 1
N với hàm mật độ xác suất đã biết
f x f x1( ), ( ), , ( )2 f x k Chúng ta chia những phần tử này thành mchùm với mchotrước, sao cho tổng độ rộng của chùm là nhỏ nhất
Trang 13a) Ta có hàm mật độ xác suất:
2 ( 1) 2 1
1( )
1( )
1( )
00.735 00.841 0.1585 0
CHƯƠNG 3: BÀI TOÁN ỨNG DỤNG
3.1 BÀI TOÁN 1: Phân nhóm người tiêu dùng trên cơ sở thái độ
Trang 14của họ đối với việc đi mua sắm Dựa vào các nghiên cứu trong quá khứ, có 6 biến thái độ được chọn Người tiêu dùng được yêu cầu diễn
tả mức độ đồng ý đối với các phát biểu sau trên thang đo 7 điểm:
Không đồng ý Đồng ý
Từ các câu hỏi này, ta mã hóa thánh 6 biến sau:
V1: Mua sắm là một thú vui
V2: Mua sắm là tốn tiền
V3: Mua sắm kết hợp với việc ăn uống
V4: Cố gắng tìm mua những gì đáng mua nhất khi đi mua sắm
V5: Không quan tâm đến việc đi mua sắm
V6: Đi mua sắm giúp tiết kiệm được nhiều nhờ so sánh giá cả
Trong bài toán này ta sẽ xem xét một tập dữ liệu đơn giản thu thập từ câu trả lờicủa 20 người tiêu dùng về thái độ đối với việc đi mua sắm Trong thực tế, phân tíchcụm thường được tiến hành với mẫu có từ 100 quan sát trở lên
Trang 1520 2 3 2 4 7 2
* Nhập dữ liệu vào SPSS với các biến như trên với tên “Phan tich cum”
* Dùng lệnh Analyze > Classify > Hierarchical Cluster > Đưa các biến từ V1 đến V6 vào khung Variable(s):
* Trong Statistics và chọn số cụm từ 2 đến 4 cụm, trong Plots ta chọn như hình
dưới đây:
* Trong Method ta chọn Ward’s method, trong ô Cluster Method và chọn
Squared Euclidean distance trong Interva:
Bảng này cho kết quả phân chùm dưới dạng sơ đồ tích tụ cho biết số quan sát
hay chùm được kết hợp ở mỗi giai đoạn Dòng đầu tiên thể hiện giai đoạn 1 có 19chùm vì người thứ 14 và người thứ 16 được kết hợp trong giai đoạn này (xem trong
Trang 16hai cột thuộc phần các chùm được kết hợp – Cluster combined) Bình phương khoảngcách Euclide giữa hai người này được thể hiện trong cột “hệ số”- coefficients Cột
“Stage Cluster First Appears” cho biết chùm này được tạo thành trong giai đoạn nào
Ví dụ như số 1 ở giai đoạn 6 cho biết người thứ 14 được nhóm lại thành chùm đầu tiêntrong giai đoạn 1 (hay là chùm đang chứa người thứ 14 được tạo ra trong giai đoạn 1gồm có người thứ 14 và người thứ 16) và bây giờ trong giai đoạn 6 chùm này nhậpthêm người thứ 10 Cột cuối cùng “Next stage” cho biết ở giai đoạn nào thì có thêmngười hay chùm mới được nhập vào với chùm trong dòng này Ví dụ như trong dòngđầu tiên ở cột cuối cùng ta thấy số 6, có nghĩa là ở giai đoạn 6 thì có thêm người thứ
10 được kết hợp vào với chùm đã có hai người 14 và 16 Tương tự như vậy, dòng thứ 2thể hiện giai đoạn 2 có 18 chùm vì người thứ 6 và người thứ 7 được nhập lại với nhau.
Bảng này cho kết quả phân chùm dưới dạng bảng sơ đồ cột, chú ý là bảng sơ đồ
phân chùm này phải được đọc từ dưới lên trên, cột có dấu X đại diện cho chùm còn cột khoảng trắng đại diện cho sự tách biệt giữa các chùm Các con số trên đầu bảng (case) cho biết đối tượng nào được nhóm với đối tượng nào.
Trong ví dụ này đối tượng là người tiêu dùng phỏng vấn được đánh số từ 1 đến
20 Các dòng cho biết số chùm được gom theo thứ tự đi từ dưới lên
Đầu tiên tất cả các quan sát được xem là các chùm cá thể, vì ta có 20 người nên
ta có 20 chùm Ở bước 1, hai người gần nhau nhất là case 14 và case 16 được kết hợplại nên ta có 19 chùm thể hiện ở dòng cuối cùng của bảng (ứng với giai đoạn 1) Đếm
Trang 17ngang hàng 19 thấy có 19 cột có dấu X tức 19 chùm được gom từ 20 đối tượng, giữachúng có cột trắng tách biệt Trong 19 cột đó có 18 cột dấu X riêng lẻ và một nhóm 3cột dấu X đi liền đại diện 2 đối tượng 16 và 14 được gom lại Dòng 18 ứng với giaiđoạn tiếp theo là giai đoạn 2 còn có 18 chùm Ở giai đoạn này người thứ 6 và thứ 7được nhóm lại với nhau và ta có 18 cụm, trong đó có 16 chùm chỉ có một người (thểhiện ở 2 nhóm có 3 cột X đi liền nhau).
Trong các giai đoạn tiếp theo, một chùm mới có thể được thành lập theo 3 cách:Hai người được nhóm với nhau; Một người được nhóm với một chùm có sẵn; Haichùm được nhập lại với nhau
Hình dưới đây là biểu đồ hình cây thể hiện quá trình phân chùm Biểu đồ hìnhcây này được đọc từ trái sang phải Các đường kẻ dọc đại diện các cụm đã được nhậplại với nhau Vị trí của đường kẻ dọc trên thang đo (rescaled distance cluster combine)cho biết khoảng cách giữa các chùm khi được nhập với nhau Bởi vì trong những giaiđoạn đầu có nhiều khoảng cách có độ lớn bằng nhau nên ta khó quan sát, nhưng trong
2 giai đoạn cuối ta có thể dễ dàng nhận thấy khoảng cách giữa các chùm khi đượcnhập lại với nhau khá hơn Thông tin này rất hữu ích khi cần xác định số chùm kếtquả
Khi xác định được số chùm rồi thì ta có thể biết kết quả phân chùm của từng
phần tử quan sát Kết quả này được thể hiện trong hình trên, nhưng ở dưới dạng bảng
như trong bảng dưới đây ta quan sát dễ hơn Nhìn vào bảng này ta biết được phần tửnào thuộc chùm nào khi kết quả cuối cùng ta chấp nhận có 2, 3 hay 4 chùm
Trang 18Từ các kết quả trên, ta có thể có các phương án khác nhau về số chùm Phương án
4 chùm là: 8, 6, 5 và 1, ta thấy phương án này không thích hợp vì có một chùm có quy
mô quá nhỏ Phương án 3 chùm: 8, 6 và 6, ta thấy phương án này khá hợp lý
thể kiểm tra điều này trên biểu đồ hình cây
Ngược lại, chùm số 2 có trị trung bình thấp đối với biến V1, V3 và có trị trung
bình lớn đối với biến V5 Do đó, chùm này có thể được đặt tên là “nhóm thờ ơ với việc mua sắm” Chùm này gồm có có các quan sát 2, 5, 9, 11, 13 và 20.
Chùm số 3 có trị trung bình lớn đối với biến V2 (đi mua sắm là tốn tiền), V4(cố gắng tìm mua những gì đáng mua nhất khi đi mua sắm) và V6 (đi mua sắm có thểgiúp tiết kiệm được tiền nhờ so sánh nhiều giá cả khác nhau) Vì vậy, chùm này có thể
được đặt tên là “nhóm mua sắm quan tâm đến kinh tế” Chùm này gồm có các quan sát
4, 10, 14, 16, 18 và 19
Thông thường để mô tả các chùm này, ta nên xem xét một số biến khác chưađược sử dụng trong phân tích này như là: các dữ liệu nhân khẩu học (thu thập, giớitính, tuổi, tình trạng việc làm, tình trạng hôn nhân gia đình, trình độ văn hóa,…), tâm
lý, mức độ sử dụng sản phẩm, thói quen sử dụng phương tiện truyền thông,… để thấy
rõ được đặc trưng của từng chùm
3.1.2 Phương pháp không thứ bậc
Sau đây ta sẽ tiến hành phân tích cụm không thứ bậc cho dữ liệu trên với
phương pháp phân chia tối ưu (optimizing partitioning) Số chùm ta cần thực hiện là 3
để so sánh với kết quả phân chùm thứ bậc Các hạt giống chùm là các giá trị của 3quan sát thứ 8, 19 và 20 ở file dữ liệu Các hạt giống chùm này chỉ là những trung tâmchùm tạm thời dùng để phân bổ các quan sát vào các chùm Mỗi quan sát được phânvào chùm có trung tâm gần nó nhất Các trung tâm chùm sẽ được cập nhật trong quátrình này cho đến khi tiêu chuẩn phân chia tối ưu được thỏa mãn Các trung tâm chùmcuối cùng là các trung bình của các quan sát đối với các biến trong phương án phânchùm đạt được
* Dùng lệnh Analyze > Classify > K-means Cluster > Ta đưa các biến từ V1 đến V6 vào khung Variable(s), đồng thời nhập 3 vào ô Number of Clusters.