logo xDuLieu.com

Trang trướcKhảo sát thăm dòTrang sau

Khái quát

 

Trước khi thực hiện các phân tích chi tiết, ta nên tiến hành một vài khảo sát thăm dò. Công việc này không tốn nhiều thời gian nhưng lại giúp chúng ta có nhận định tổng quát về dữ liệu. Điều này sẽ giúp việc phân tích sau này thích hợp hơn, tiết kiệm được thời gian và công sức. Ngoài ra việc thăm dò này có thể phát hiện một số điểm chưa hoàn chỉnh của dữ liệu, từ đó thực hiện một vài điều chỉnh nếu cần thiết.

Hai dạng khảo sát thăm dò thường được tiến hành là thực hiện một số bảng tóm tắt và xây dựng một vài biểu đồ. Để minh họa, chúng ta sử dụng R và bảng dữ liệu khach-hang.csv. Bảng này được biên tập lại từ Custdata.tsv của Zumel và Mount để có kích thước nhỏ gọn hơn và phù hợp hơn cho mục đích minh họa. Bảng này được chuyển vào R với tên kh.


Bảng tóm tắt

 

Trước hết ta sẽ tìm hiểu qua về cấu trúc của bảng dữ liệu bằng lệnh str. Thí dụ:

> str(kh)
'data.frame':	936 obs. of  7 variables:
 $ kh_id    : int  2068 2073 2848 5641 6369 8322 8521 12195 14989 15917 ...
 $ Gioi_Tinh: Factor w/ 2 levels "Nam","Nu": 2 2 1 1 2 2 1 1 1 2 ...
 $ Thu_Nhap : int  11300 0 4500 20000 12000 180000 120000 40000 9400 24000 ...
 $ TT_GD    : Factor w/ 4 levels "CGD","DT","GB",..: 1 1 2 2 2 2 2 1 1 4 ...
 $ BH_YT    : Factor w/ 2 levels "Co","Khong": 1 1 2 2 1 1 1 1 1 1 ...
 $ So_Xe    : int  2 3 3 0 1 1 1 3 2 1 ...
 $ Tuoi     : int  49 40 22 22 31 40 39 48 44 70 ...

Ta thấy bảng dữ liệu gồm 7 biến liên quan đến 936 khách hàng. Ngoài biến kh_id dùng để định danh (identification) khách hàng, ta có 3 biến có kiểu định danh là Gioi_Tinh, TT_GD (tình trạng gia đình), và BH_YT (bảo hiểm y tế), 3 biến có kiểu số là Thu_Nhap, So_Xe và Tuoi.

Để có một nhận định chung về các biến trong bảng dữ liệu, summary là lệnh phù hợp hơn cả. Thí dụ:

> summary(kh)
     kh_id         Gioi_Tinh    Thu_Nhap      TT_GD       BH_YT         So_Xe      
 Min.   :   2068   Nam:516   Min.   : -8700   CGD:503   Co   :799   Min.   :0.000  
 1st Qu.: 342222   Nu :420   1st Qu.: 17000   DT :196   Khong:137   1st Qu.:1.000  
 Median : 704246             Median : 37000   GB : 89               Median :2.000  
 Mean   : 697822             Mean   : 55919   LT :148               Mean   :1.917  
 3rd Qu.:1043102             3rd Qu.: 70000                         3rd Qu.:2.000  
 Max.   :1414286             Max.   :615000                         Max.   :6.000  
      Tuoi      
 Min.   : 0.00  
 1st Qu.:39.00  
 Median :50.00  
 Mean   :51.27  
 3rd Qu.:63.00  
 Max.   :93.00 

Ta thấy bảng trên cung cấp một số thông tin khái quát về các biến trong dữ liệu:

  • với các biến kiểu định danh, như TT_GD, ta có số lượng phần tử tương ứng với mỗi mức, như 196 khách hàng trong dữ liệu còn độc thân,
  • với các biến kiểu số ta có giá trị thấp nhất, cao nhất, trung bình, số trung vị, số tứ phân thứ nhất và thứ ba,
  • một vài trường hợp không bình thường, cần xem xét thêm: Tuoi có giá trị Min. bằng 0, Thu_Nhap có giá trị Min. âm (-8700).

Như vậy, ta thấy với lệnh summary ta đã có một số thông tin đáng kể về đối tượng khảo sát.


Biểu đồ

 

Để bổ sung thêm hiểu biết về đối tượng, ta vẽ một số biểu đồ từ dữ liệu. Thực ra trong một số trường hợp, lượng thông tin của biểu đồ không hơn gì bảng (thí dụ về tình trạng gia đình, một biểu đồ thanh và một bảng tóm tắt như ở trên có lượng thông tin như nhau). Nhưng biểu đồ thường cho ta một nhận định trực quan, rõ ràng hơn so với bảng, đặc biệt khi được thiết kế cẩn thận. Trong nhiều trường hợp, biểu đồ có ưu thế hơn so với bảng để trình bày dữ liệu..

Phương pháp vẽ các biều đồ thông dụng bằng R được đề cập tương đổi chi tiết tại chương "Vẽ biểu đồ bằng R". Ở đây chỉ trình bày lại một số điểm chính, một vài trường hợp chuyên biệt và lưu ý thêm về sử dụng trong khảo sát thăm dò dữ liệu.

Biểu đồ mật độ

Biểu đồ này cho ta biết hàm mật độ của một biến liên tục. Trong R ta sử dụng lệnh density phối hợp với lệnh plot để vẽ đường cong của hàm mật độ và với lệnh polygon để tô màu. Thí dụ để vẽ hàm mật độ của thu nhập, ta sử dụng đoạn lệnh sau:

thnh <- density(kh$Thu_Nhap)
plot(thnh, main = "Phân bố thu nhập của khách hàng")
polygon(thnh, col = "#abcdef")

Và thu được biểu đồ trên Hình 1.

Hình 1 Hàm mật độ của thu nhập khách hàng

Hàm mật độ cho ta thấy có một nhóm nhỏ khách hàng có thu nhập đặc biệt cao (khoảng 400.000 hay hơn). Rất có thể ta cần tách nhóm này ra để xử lý riêng. Các bảng tóm tắt không thể cho ta thấy điều này.


Biểu đồ xy

Thông thường, ta dùng biểu đồ xy để phát hiện mối tương quan giữa hai biến có kiểu số liên tục. Ngoài các điểm biểu diễn các cặp số, ta còn có thể đưa vào các đường thẳng hay cong thể hiện xu thế của mối tương quan. Thí dụ ta muốn xem xét mối tương quan giữa thu nhập và tuổi của khách hàng, ta có thể sử dụng lệnh scatter.smooth như sau:

scatter.smooth(kh$Tuoi, kh$Thu_Nhap, pch = 20, col = "#aaaaaa",
               xlab = "Tuổi", ylab = "Thu nhập", lpars = list(lwd=2, col="red"))

Và ta có biểu đồ trên Hình 2.

Hình 2 Biểu đồ xy của tuổi và thu nhập khách hàng


Ma trận biểu đồ xy

Nếu ta muốn vẽ cùng một lúc nhiều biểu đồ xy của nhiều cặp biến cùng một lúc một cách thật đơn giản, ta có thể sử dụng lệnh plot với đối số là các biến muốn đưa vào biểu đồ. Thí dụ như với lệnh sau:

plot(kh[,-1], pch = 20, col = "red", cex = 0.7)

ta sẽ thu được biểu đồ trên Hình 3.

Hình 3 Ma trận các biểu đồ xy trong dữ liệu khách hàng

Bằng Hình 3, ta có thể có một cái nhìn khái quát về mối tương quan giữa các biến trong dũ liệu.




Trang trướcVề đầu chươngTrang sau


Trang web này được cập nhật lần cuối ngày 25/11/2018