BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH 1

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 45

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH


ĐỀ TÀI 12: ỨNG DỤNG CỦA PHÂN TÍCH PCA ĐỂ HỒI QUY TUYẾN TÍNH
(LINEAR REGRESSION)

Lớp L02_Nhóm 12

GVHD: Nguyễn Xuân Mỹ


THÀNH VIÊN NHÓM 12
1.Đặng Minh Thiện MSSV:2213247
2.Ibramhim Mai Hạo Thiên MSSV:2213229
3.Lê Gia Thuận Thiên MSSV:2213230
4.Nguyễn Anh Thiên MSSV:1915270
5.Nguyễn Ngọc Thiện MSSV:2213255
6.Trần Xuân Thiện MSSV:1915300
7.Đặng Võ Phước Thịnh MSSV:2213267
8.Lưu Vĩnh Thông MSSV:2213330
9.Nguyễn Anh Thư MSSV:2213394
10.Võ Anh Thư MSSV:2213415
2
Cơ sở lý thuyết
I.Phương pháp phân tích thành phần chính PCA

Phép phân tích thành phần chính (Principal Components Analysis - PCA) là một thuật
toán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp dữ liệu từ một
không gian nhiều chiều sang một không gian mới ít chiều hơn (2 hoặc 3 chiều) nhằm
tối ưu hóa việc thể hiện sự biến thiên của dữ liệu. Nói cách khác, PCA là phương pháp
biến đổi giúp giảm số lượng lớn các biến có tương quan với nhau thành tập ít các biến
sao cho các biến mới tạo ra là tổ hợp tuyến tính của những biến cũ không có tương
quan lần nhau.

3
II. Một số đặc tính của PCA:

1.Giảm số chiều của không gian chứa dữ liệu khi nó có số chiều lớn, không thể thể
hiện trong không gian 2 hay 3 chiều.
2.Xây dựng những trục tọa độ mới, thay vì giữ lại các trục của không gian cũ, nhưng
lại có khả năng biểu diễn dữ liệu tốt tương đương, và đảm bảo độ biến thiên của dữ
liệu trên mỗi chiều mới.
3.Do PCA giúp tạo 1 hệ trục tọa độ mới nên về mặt ý nghĩa toán học, PCA giúp chúng
ta xây dựng những biến mới là tổ hợp tuyến tính của những biến ban đầu.
4.Tạo điều kiện để các liên kết tiềm ẩn của dữ liệu có thể được khám phá trong không
gian mới, mà nếu đặt trong không gian cũ thì khó phát hiện vì những liên kết này
không thể hiện rõ.
5.Đảm bảo các trục tọa độ trong không gian mới luôn trực giao đôi một với nhau,
mặc dù trong không gian ban đầu các trục có thể không trực giao.

4
III. Một số khái niệm toán trong thống kê
•Kỳ vọng (mean): Giá trị mong muốn, biểu diễn giá trị trung bình một biến

•Độ lệch chuẩn (Standard deviation): Thuật ngữ đo sự biến động của giá trị
mang tính thống kê. Nó cho thấy sự chênh lệch về giá trị của từng thời điểm
đánh giá so với trung bình.

•Phương sai (variance): Một đại lượng đặc trưng cho độ phân tán của các dữ
liệu so với giá trị trung bình của nó, hàm ý các giá trị của biến đó thường ở cách
giá trị kỳ vọng bao xa. Từ đó chúng ta dễ dàng hình dung được dữ liệu chúng ta
đang xét.

5
•Hiệp phương sai (covariance): Một đại lượng đo sự biến thiên cùng nhau của hai biến
ngẫu nhiên. (Phân biệt phương sai – đo mức độ ngẫu nhiên của một biến) Kí hiệu:
cov(X,Y)

•Ma trận hiệp phương sai: Trong thống kê, ta cần một thuật ngữ để thể hiện sự đầy đủ
phương sai và hiệp phương sai của các biến với nhau. Từ đó ta tạo ra ma trận hiệp
phương sai của tập hợp m biến ngẫu nhiên là một ma trận vuông (m x m), trong đó
các phần tử nằm trên đường chéo (Từ trái sang phải, từ trên xuống dưới) lần lượt là
phương sai tương ứng của các biến này, trong khi các phần tử còn lại (không nằm
trên đường chéo) là các hiệp phương sai của đôi một hai biến ngẫu nhiên khác nhau
trong tập hợp.

6
IV . Ưu điểm của phép phân tích thành phần chính (Principal Components
Analysis - PCA)
Là một thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp
dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn (2 hoặc
3 chiều) nhằm tối ưu hóa việc thể hiện sự biến thiên của dữ liệu. Phép biến đổi tạo ra
những ưu điểm sau đối với dữ liệu:
- Giảm số chiều của không gian chứa dữ liệu khi nó có số chiều lớn, không thể thể
hiện trong không gian 2 hay 3 chiều.
- Xây dựng những trục tọa độ mới, thay vì giữ lại các trục của không gian cũ,nhưng lại
có khả năng biểu diễn dữ liệu tốt tương đương, và đảm bảo độ biến thiên của dữ liệu
trên mỗi chiều mới.
- Tạo điều kiện để các liên kết tiềm ẩn của dữ liệu có thể được khám phátrong không
gian mới, mà nếu đặt trong không gian cũ thì khó phát hiện vì những liên kết này
không thể hiện rõ.
7
- Đảm bảo các trục tọa độ trong không gian mới luôn trực giao đôi một với nhau,
mặc dù trong không gian ban đầu các trục có thể không trực giao.
- Sử lý vấn đề tương quan giữa các biến trong dữ liệu ban đầu bằng cách sử dụng
các biến mới trong không gian mà phương pháp PCA tìm được để mô tả dữ liệu.

* Ví dụ mang tính chất minh họa trực quan:


Chúng ta có 2 biến X1 và X2 có tương quan (tuyến tính), được biểu diển bằng đồ
thị sau:

88
Ta biết rằng khi thực hiện các phân tích đa biến mà trong đó các biến có tương quan
với nhau là rất khó. Ta sẽ loại bỏ sự tương quan này bằng cách xoay trục (cơ sở).

99
Ta thấy rằng dữ liệu trên trục mới đã giảm sự tương quan đáng kể (biến Y1 và Y2 gần
như không tương quan), và sự thay đổi của dữ liệu phụ thuộc phần lớn vào biến Y1, ta
có thể chỉ dung một biến Y1 để biểu diễn dữ liệu, điều này giúp ta giảm số chiều dữ
liệu mà không làm giàm quá nhiều “phương sai” của dữ liệu. Đây cũng chính là tư
tưởng của phương pháp PCA. Sau đây chúng ta sẽ làm rõ hơn về mặt lý thuyết của
phương pháp này.
10
IV.Cơ sở lý thuyết

4.1 Phương pháp phân tích thành phần chính – Principle Component Analysis
(PCA) là gì:
Với dữ liệu cần phân tích ban đầu phụ thuộc nhiều biến, vấn đề là các biến này
thường có tương quan với nhau sẽ bất lợi cho việc áp dụng các biến này để xây
dựng các mô hình tính toán ví dụ: hồi quy… và với số biến giải thích lớn chúng ta
sẽ rất khó để có cái nhìn trực quan về dữ liệu ví dụ: thị trường ta quan tâm có
hàng ngàn mã cổ phiếu làm cách nào để khi quan sát dữ liệu từ hàng ngàn cổ
phiếu này ta hình dung được xu hướng của toàn thị trường…

Phương pháp PCA sẽ “chiếu” (biễu diễn) dữ liệu đa chiều lên một không gian có
cơ sở trực giao, tức nếu ta xem mỗi cơ sở trong không gian mới là một biến thì
hình ảnh của dữ liệu gốc trong không gian mới này sẽ được biểu diễn thông qua
các biến độc lập (tuyến tính).
11
Vấn đề: nếu chuyển dữ liệu ban đầu sang không gian mới thì những thông
tin đáng quan tâm của dữ liệu ban đầu liệu có bị mất? Để giải quyết vấn đề
này phương pháp PCA sẽ tìm không gian mới với tiêu chí cố gắng phản ánh
được càng nhiều thông tin gốc càng tốt, và thước đo cho khái niệm “thông
tin” ở đây là phương sai. Một điểm hay nữa là: do các biến trong không gian
mới độc lâp, nên ta có thể tính toán được tỷ lệ giải thích phương sai của
từng biến mới đối với dữ liệu, điều này cho phép ta cân nhắc việc chỉ dùng
số ít các biến để giải thích dữ liệu.

12
4.2 Tương quan dữ liệu
Mong muốn có thể tạo ra một không gian mới nhỏ hơn mà vẫn có thể giữ lại được các
thông tin quan trọng, nhưng lại gặp rắc rối với việc cân nhắc rằng có thể giảm bao nhiêu
chiều và đó là những chiều nào. Vì vậy ta xây dựng nên thuật ngữ phương sai hay còn
gọi là độ phân tán dữ liệu. Dựa vào so sánh giá trị phương sai giữa các chiều ta đưa đến
mức độ quan trọng, đó là lượng thông tin mà chiều đó chứa được.
Từ đó, ta có thể lược bỏ đi các chiều không quan trọng – có phương sai không đáng kể
(≈ 0 ). Theo định nghĩa của phương sai, phương sai của một bản dữ liệu X ban đầu có giá
trị xác định không đổi và bằng tổng phương sai theo từng chiều. Dữ liệu ban đầu X (D
chiều) có phương sai theo từng chiều có giá trị đáng kể, ta có thể nói các chiều ban đầu
của dữ liệu X đều có mức độ quan trọng nhất định. Ta không thể lược bỏ đi chiều của nó.
Vì thế ta cần một phép biến đổi nào đó để quay các chiều dữ liệu của X đến khi có K
chiều nhận giá trị phương sai lớn nhất. Vì phương sai của dữ liệu X là hằng số nên ta có
thể nói (D-K) chiều còn lại có mức độ quan trọng rất ít (Phương sai không đáng kể) và ta
được phép lược bỏ các chiều đó đi. Cuối cùng, ta có thể biểu diễn X trên cơ sở mới với
độ mất mát ít nhất trong không gian với số chiều nhỏ hơn.
13
4.3 Ý tưởng chính

PCA chính là phương pháp đi tìm một hệ cơ sở mới sao cho thông tin của dữ liệu chủ
yếu tập trung ở một vài toạ độ, phần còn lại chỉ mang một lượng nhỏ thông tin. Và để
cho đơn giản trong tính toán, PCA sẽ tìm một hệ trực chuẩn để làm cơ sở mới.
Giả sử hệ cơ sở trực chuẩn mới là U và chúng ta muốn giữ lại K toạ độ trong hệ cơ sở
mới này. Không mất tính tổng quát, giả sử đó là K thành phần đầu tiên. Quan sát Hình (
) dưới đây:

14
Hình ( ) : Ý tưởng chính của PCA: Tìm một hệ trực chuẩn mới sao cho trong hệ này,
các thành phần quan trọng nhất nằm trong K thành phần đầu tiên.
Với cơ sở mới này, ma trận dữ liệu có thể được viết thành: (1)

Từ đây ta cũng suy ra: (2)

15
Mục đích của PCA là đi tìm ma trận trực giao U sao cho phần lớn thông tin được
giữ lại ở phần màu xanh và phần màu đỏ sẽ được lược bỏ và thay bằng một ma
trận không phụ thuộc vào từng điểm dữ liệu. Nói cách khác, ta sẽ xấp xỉ Y
bởi một ma trận có toàn bộ các cột là như nhau. Chú ý rằng các cột này có thể
phụ thuộc vào dữ liệu training nhưng không phụ thuộc vào dữ liệu test, các bạn
sẽ thấy rõ hơn khi lập trình mà tôi sẽ trình bày trong bài tiếp theo. Gọi mỗi cột đó
là b và có thể coi nó là bias, khi đó, ta sẽ xấp xỉ:

Trong đó ∈ là vector hàng có toàn bộ các phần tử bằng 1. Giả sử đã tìm được U,
ta cần tìm b thoả mãn:

Giải phương trình đạo hàm theo b của hàm mục tiêu bằng 0:

16
Như vậy, việc tính toán sẽ thuận tiện hơn nhiều nếu vector kỳ vọng x = 0. Việc này có
thể đạt được nếu ngay từ đầu, chúng ta trừ mỗi vector dữ liệu đi vector kỳ vọng của
toàn bộ dữ liệu. Đây chính là các bước đầu tiên của PCA.Với giá trị b tìm được này, dữ
liệu ban đầu sẽ được xấp xỉ với: (3)

Kết hợp (1),(2),(3) ta định nghĩa hàm mất mát chính như sau: (4)

Chú ý rằng, nếu các cột của một ma trận V tạo thành một hệ trực chuẩn thì với một ma
trận W bất kỳ, ta luôn có:

17
Vì vậy hàm mất mát trong (4) có thể viết lại thành: (5)

Với là dữ liệu đã chuẩn hóa và với S là ma trận hiệp


phương sai của dữ liệu. Ta gọi ma trận này là zero-
corrected data hoặc dữ liệu đã được chuẩn hoá. Có thể
nhận thấy

18
Công việc còn lại là tìm các để mất mát là nhỏ nhất. Trước hết, chúng ta có
một nhận xét thú vị. Nhắc lại định nghĩa ma trận hiệp phương sai .

19
Với ma trận U trục giao bất kỳ, thay K = 0 vào (5) ta có:
Với là các trị riêng của ma trận nửa xác định dương S. Chú ý rằng các trị
riêng này là thực và không âm.Như vậy L không phụ thuộc vào cách chọn
ma trận trực giao U
và bằng tổng các phần tử trên đường chéo của S. Nói cách khác,L chính
là tổng của các phương sai theo từng thành phần của dữ liệu ban đầu.Vì
vậy, việc tối thiểu hàm mất mát J tương đương với việc tối đa:

20
Định lý 1: F đạt giá trị lớn nhất bằng khi là các vecto riêng có norm 2 bằng 1 ứng với các trị
riêng này. Tất nhiên, chúng ta không quên điều kiện trực giao giữa các
Chú ý rằng λi,i=1,…,K chính là K trị riêng lớn nhất của ma trận hiệp phương sai S. Trị riêng lớn
nhất λ1 của ma trận này còn được gọi là Thành phần chính thứ nhất , trị riêng thứ hai λ2 còn
được gọi là Thành phần chính thứ hai, etc. Chính vì vậy, phương pháp này có tên gọi là Phân
tích thành phần chính. Ta chỉ giữ lại K thành phần chính của dữ liệu khi muốn giảm số chiều dữ
liệu. Để có cái nhìn trực quan hơn, chúng ta cùng theo dõi Hình dưới đây:

Hình ( ) : PCA dưới góc nhìn Thống kê.


PCA có thể được coi là phương pháp đi
tìm một hệ cơ sở trực chuẩn đóng vai trò
một phép xoay, sao cho trong hệ cơ sở
mới này, phương sai theo một số chiều
nào đó là rất nhỏ, và ta có thể bỏ qua.

21
Trong không gian ban đầu với các vector cơ sở màu đen e1,e2, phương sai theo mỗi
chiều dữ liệu đều lớn. Trong không gian mới với các vector cơ sở màu đỏ u1,u2 phương
sai theo chiều thứ hai σ2 rất nhỏ so với σ1. Điều này nghĩa là khi chiếu dữ liệu lên u2 ta
được các điểm rất gần nhau và gần với kỳ vọng theo chiều đó. Trong trường hợp này, kỳ
vọng theo mọi chiều bằng 0 nên ta có thể thay thế toạ độ theo chiều u2 bằng 0. Rõ ràng
là nếu dữ liệu có phương sai càng nhỏ theo một chiều nào đó thì khi xấp xỉ chiều đó
bằng một hằng số, sai số xảy ra càng nhỏ. PCA thực chất là đi tìm một phép xoay tương
ứng với một ma trận trực giao sao cho trong hệ toạ độ mới, tồn tại các chiều có phương
sai nhỏ mà ta có thể bỏ qua; ta chỉ cần giữ lại các chiều/thành phần khác quan trọng
hơn. Như đã chứng minh ở trên, tổng phương sai theo mọi chiều trong hệ cơ sở nào
cũng là như nhau và bằng tổng các trị riêng của ma trận hiệp phương sai.

22
Vì vậy, PCA còn được coi là phương pháp giảm số chiều dữ liệu mà giữ
được tổng phương sai còn lại là lớn nhất.
Tìm giá trị lớn nhất S với điều kiện .Giả sử u1 đã là vector riêng ứng với trị
riêng lớn nhất của S thế thì nghiệm u2 của bài toán tối ưu:

23
Là một vector riêng của S ứng với trị riêng lớn thứ hai λ2 của nó. Chú ý
rằng λ2 có thể bằng λ1 nếu không gian riêng ứng với λ1 có số rank lớn hơn
1.
Sử dụng phương pháp nhân tử Lagrange của giải tích hàm nhiều biến , ta
có hàm Lagrange:

Vậy u2 là một vector riêng của S ứng với ν2. Và để hàm mục tiêu đạt giá trị
lớn nhất, ν2 cần càng lớn càng tốt. Điều này dẫn đến ν2 phải là trị riêng thứ
hai của S.

24
V. Các bước phân tích PCA

Từ các suy luận phía trên, ta có thể tóm tắt lại các bước trong PCA như sau:
1.Tính vector kỳ vọng của toàn bộ dữ liệu:

2.Trừ mỗi điểm dữ liệu đi vector kỳ vọng của toàn bộ dữ liệu:

3.Tính ma trận hiệp phương sai:

25
4.Tính các trị riêng và vector riêng có norm bằng 1 của ma trận này, sắp xếp chúng theo
thứ tự giảm dần của trị riêng.
5.Chọn K vector riêng ứng với K trị riêng lớn nhất để xây dựng ma trận UK có các cột tạo
thành một hệ trực giao. K vectors này, còn được gọi là các thành phần chính, tạo thành
một không gian con gần với phân bố của dữ liệu ban đầu đã chuẩn hoá.
6.Chiếu dữ liệu ban đầu đã chuẩn hoá  xuống không gian con tìm được
7.Dữ liệu mới chính là toạ độ của các điểm dữ liệu trên không gian mới.

Dữ liệu ban đầu có thể tính được xấp xỉ theo dữ liệu mới như sau:

26
VI. Mô phỏng thuật toán

27
VII. Nhược điểm của phương pháp
PCA.
Giả thiết về độ quan trọng của chiều PCA rất nhạy cảm với nhiễu:
dữ liệu:
Vẫn do giả thiết là phương sai của
PCA phân loại theo chiều phân bố
dữ liệu ảnh hưởng đến việc chọn
lớn nhất của tập vector. Mô hình
ra chiều mới. Khi nhiễu xuất hiện,
PCA dựa trên giả thiết rằng chiều
do độ lệch của điểm nhiễu này mà
quan trọng dữ liệu là chiều có
chiều có phương sai của dữ liệu
phương sai độ dữ liệu lớn. Tuy vậy
lớn cũng bị ảnh hưởng đáng kể.
trong thực tế, không phải lúc nào
chiều phân bố dữ liệu lớn nhất cũng
mang lại hiệu quả tốt nhất cho việc
phân tích dữ liệu.

28
VII. Nhược điểm của phương pháp
PCA.
 Thiếu sót thông tin :
Mặc dù phân tích PCA sẽ giữ lại những chiều quan trọng nhất đối với bộ dữ liệu, tuy vậy
nếu sai xót trong việc chọn số chiều giữ lại thì lượng thông tin mà ta đánh mất sau quá
trình phân tích này sẽ rất đáng kể

29
VIII. Một số ứng dụng trong lĩnh vực khác

◈ Giảm dung lượng dữ liệu

◈ Machine Learning (đặc biệt là Data analysis)

◈ Nhận dạng ngôn ngữ cử chỉ

30
Ví dụ: trong nhận dạng ngôn ngữ cơ thể của con người
 Ngôn ngữ cử chỉ là loại ngôn ngữ sử dụng cử chỉ bàn tay, biểu
cảm và khuôn mặt và chuyển động của cơ thể để truyền đạt ý
nghĩa giữa những người khiếm thính với nhau và với người bình
thường.
 Người ta đã phát triển một hệ thống nhận dạng các chữ cái Tiếng
Việt qua cử chỉ bàn tay tĩnh bằng cách sử dụng kĩ thuật PCA.
Hệ thống nhận dạng có 4 giai đoạn : thu nhận dữ liệu, mô hình hoá
cử chỉ, trích chọn đặc trưng và nhận dạng

31
32
33
 Để đánh giá hiệu quả sử dụng thuật toán PCA trong việc nhận dạng
ngôn ngữ chữ cái Tiếng Việt, mô phỏng được thực hiện trên tập cơ sở
dữ liệu 250 ảnh mô tả 25 chữ cái Tiếng Việt, Tất cả các ảnh đều được
chuẩn hoá bằng cách cắt và định lại kích cỡ 100x100 pixel. Hệ thống
kiểm tra với 25 kí tự với mỗi lớp kí tự gồm 10 ảnh và thực hiện đánh
giá dựa trên tỉ lệ thành công

Bảng 1 mô tả kết quả của hệ thống đề xuất khi nhận dạng 25 chữ cái Tiếng Việt
với tỉ lệ thành công lên đến 80.4%. Kết quả chỉ ra rằng tỉ lệ thành công của các
chữ cái “B, D, H, O, T” thấp vì chúng có hình dạng khá giống nhau. Vậy nên đôi
khi hệ thống nhận dạng nhầm. Đối với các chữ cái như “A,E,K,L,N,P,Q,S”, ảnh cử
chỉ bàn tay có chất lượng tốt sau giai đoạn tiền xử lí. Vì vậy hệ thống đạt được tỉ
lệ nhận dạng cao đối với các chữ cái này.

34
Kí tự Tỉ lệ thành công (%)
A 100
B 50
C 75
D 50
Đ 75
E 100
G 80
H 50
BẢNG 1
I 75
K 100
L 100
M 75
N 100
O 50
P 100
Q 100
R 75
S 100
T 50
U 100
V 75
X 100
Y 75 35
Dấu móc 75
- Ứng dụng trong nhận diện khuôn mặt

Ví dụ: Trong nhận diện khuôn mặt:


· Tiền xử lý: Chuẩn hóa kích cỡ giữa ảnh trong cơ sở dữ liệu
· Tách khuôn mặt: Khuôn mặt trên ảnh được phân tách ra phần mặt,
nó sẽ là các khuôn mặt cần tìm và chức năng trích chọn đặc trưng sẽ
được sử dụng các ảnh được tách ra này.
· Trích chọn đặc trưng: Tìm ra các đặc trưng chính của ảnh mặt, từ
các đặc trưng này hình thành các vector đặc trưng, các vector này sẽ
được sử dụng để đối sánh sự giống nhau giữa ảnh mặt cần tìm và
ảnh mặt trong cơ sở dữ liệu.
· Đối sánh: So sánh các vector đặc trưng để chọn ra độ tương tự giữa
ảnh cần tìm và ảnh trong cơ sở dữ liệu.

36
VÍ DỤ MINH HỌA & CODE MATLAB

I. Ví dụ minh hoạ
Một trung tâm thương mại trong 10 năm gần đây phân tích dữ liệu
và nhận thấy rằng nguồn khách hàng đăng kí hội viên hằng năm
phụ thuộc vào số lượng khách hàng tiềm năng được biểu diễn gần
với hàm bậc nhất y=A0+A1*x . Sau đây là bảng số liệu đã thống kê
(Khách hàng tiềm năng; Khách hàng hội viên): (23;67) , (30;72),
(42;81), (47;90) (55;102) (72;110) (85;135) (93;165) (105;174)
(112;192) , đơn vị tính là ngàn người. Tìm đường hồi quy tuyến tính
và dự đoán nếu năm nay có 200 ngàn khách hàng tiềm năng thì sẽ
có bao nhiêu hội viên tham gia.

37
Bước 1: Tính Giá trị trung bình của X1 là               

Giá trị trung bình của X2 là                

Bước 2: Tính vecto                    ( độ lệch)


Bước 3: Tính ma trận hiệp phương sai

38
39
Bước 4: Xác định vecto riêng của ma trận hiệp phương sai, ta được           ứng với trị
riêng lớn nhất                  và            ứng với trị riêng còn lại là               

Kết luận: Theo định nghĩa PCA, đường hồi quy chính có chiều là thành phần chính thứ
nhất      và đi qua giá trị trung bình      . Vậy đường thẳng hồi quy là:
                                                

Dự đoán số khách hang làm hội viên khi có 200 ngàn khách hang tiềm năng:
                              (ngàn người).

40
Hình ảnh trực quan dữ liệu
41
I. Phần code Matlab:

function pcahoiquytt
%Nhap cac so lieu:
%N=input('Nhap N: ');
%X=zeros(N,2);
% for i=1:1:N
% for j=1:1:2
% X(i,j)=input(['X(' num2str(i) ',' num2str(j) ')=
']);
% end
% end
%So lieu cho san:
N=10;
X=[23 67; 30 72; 42 81; 47 90; 55 102; 72 110; 85 135;
93 165; 105 174; 112 192];
% Buoc 1: Tinh gia tri trung bình Xtb cua X: II. Phần code
Xtb=mean(X)
% Buoc 2: Tinh vecto Xnew=X-Xtb (Do lech): Matlab
Xnew=X-Xtb
% Buoc 3: Tinh ma tran hiep phuong sai S:
S=(1/(N-1))*Xnew'*Xnew
% Buoc 4: Tim tri rieng va vecto rieng cua S:
[P D]=eig(S)
%Buoc 5: Bieu dien
x=20:0.1:120;
a=P(2,2)/P(1,2); %Nhan thay cot 2 cua ma tran P la
chieu cua duong hoi quy
b=Xtb(1,2)-a*Xtb(1,1);
y=a*x+b;
plot (x, y ,'LineWidth',2);
hold on;
plot(X(:,1),X(:,2),'b-',X(:,1),X(:,2),'rx')
xlabel("Khach hang tiem nang");
ylabel("Khach hang hoi vien");
title("Hinh anh truc quan du lieu");
grid on;
42
end
Giải thích các lệnh Matlab được dung
STT Lệnh Công dụng
1 N=input('Nhap N: '); Nhập dữ liệu đầu vào, ở đây cho nhập N

2 X=zeros(N,2); Tạo ma trận 0, ở đây ma trận có cỡ N2


for i=1:1:N Vòng lặp for với số lần biết trước, ở đây lặp từ 1
3
end đến N với mức tăng 1
4 num2str(i) Chuyển dữ liệu số sang dữ liệu chuỗi
X=[23 67; 30 72; 42 81; 47 90; 55 102; 72
5 Tạo ma trận, ở đây là ma trận cỡ 102
110; 85 135; 93 165; 105 174; 112 192];
Tính giá trị trung bình của ma trận, ở đây là ma
6 Xtb=mean(X)
trận X
Tìm ma trận chuyển vị của ma trận, ở đây là ma
7 Xnew'
trận Xnew
Chéo hóa trực giao để tìm trị riêng và vecto
8 [P D]=eig(S)
riêng, ở đây là chéo hóa trực giao ma trận S 43
9 Plot (x, y, ‘LineWidth’, 2);
Vẽ biểu đồ đường
   

10 ‘LineWidth’, 2 Xác định độ rộng đường vẽ, ở đây là bằng 2

11 hold on; Thêm nét vẽ vào đồ thị đã có sẵn


Lấy ra một cột của một ma trận, ở đây là lấy
12 x(:,1)
cột 1 của ma trận X

13 ‘b-‘ Định dạng đồ thị màu xanh da trời + nét liền

14 ‘rx’ Định dạng đồ thị màu đỏ + dấu x

xlabel(“Khach hang tiem nang”);


15 Đặt tên cho 2 trục Ox và Oy
ylabel(“Khach hang hoi vien”);

16 title(“Hinh anh truc quan du lieu”); Đặt tiêu đề cho đồ thị được vẽ

17 grid on; Hiển thị lưới toạ độ


44
THANKS FOR WATCHING

45

You might also like