Tích hợp dữ liệu (Data Integration)

Một phần của tài liệu ĐỀ TÀI TIỀN XỬ LÝ DỮ LIỆU (Trang 35 - 40)

“Tích hợp dữ liệu” nghĩa là sự kết hợp dữ liệu từ nhiều nguồn lại với nhau vào cùng một kho chứa một cách chặt chẽ, mạch lạc. Những nguồn dữ liệu này có thể bao gồm các cơ sở dữ liệu (database), khối dữ liệu (data cube), hoặc file.

Có khá nhiều vấn đề cần phải quan tâm đến trong quá trình tích hợp dữ liệu, trong đó có Schema IntegrationObject matching. Trên thực tế, có nhiều thực thể tương đương nhau nhưng có tên goị khác nhau ở các nguồn dữ liệu khác nhau. Ví dụ:

ID và MASO

Customer_ID và cust_number

Vấn đề xác định tính tương đương giữa các thực thể như vậy gọi là “Entity identification problem”. Chúng ta có thể dựa vào các metadata của mỗi thuộc tính (gồm tên, ý nghĩa, kiểu dữ liệu, khoảng giá trị, các giá trị null…) để giải quyết phần nào vấn đề này. Các metadata này cũng giúp ích trong việc chuyển đổi dữ liệu. Ví dụ: thuộc tính pay_type trong cơ sở dữ liệu này có thể mang giá trị là ‘H’ hoặc ‘S’ và mang giá trị ‘1’ hoặc ‘2’ trong 1 cơ sở dữ liệu khác. Do đó, bước này cũng liên quan đến việc làm sạch dữ liệu mà chúng ta đã thảo luận ở phần trước.

Một vấn đề quan trong khác là sự dư thừa dữ liệu. Một thuộc tính (như tổng doanh thu hàng năm) có thể xem như dư thừa vì nó có thể được suy ra từ các thuộc tính khác. Sự không nhất quán trong việc đặt tên các thuộc tính (hoặc các chiều dữ liệu) cũng có thể gây ra sự dư thừa trong tập dữ liệu kết quả.

Các thuộc tính dư thừa có thể được phát hiện bằng cách sử dụng phân tích tương quan (correlation analysis). Dựa vào phép phân tích này, ta có thể biết mức

độ tương quan (nghĩa là mức độ phụ thuộc của thuộc tính này vào thuộc tính kìa) giữa 2 thuộc tính cho trước, dựa trên bộ dữ liệu có sẵn. Đối với thuộc tính số, ta có thể ước đoán độ tương quan giữa chúng bằng cách tính hệ số tương quan (correlation coefficient), còn gọi là “Pearson’s product moment coefficent” – hệ số mômen tích Pearson, do Karl Pearson phát minh ra. Công thức tính hệ số này như sau:

Trong đó:

- N: số record

- ai, bi là giá trị của thuộc tính A và B trong record thứ i - : giá trị trung bình của A và B

- σA, σB: độ lệch chuẩn của A và B

- ∑(aibi): tổng của tich vô hướng AB (nghĩa là: với mỗi record, lấy giá trị của A nhân với giá trị của B trong cùng record đo).

Lưu ý rằng |rA,B| ≤ 1 Các trường hợp xảy ra:

- rA,B > 0: A và B tương quan cùng chiều, nghĩa là A tăng khi B tăng. Giá trị này càng lớn thì độ tương quan càng lớn

- rA,B = 0: A và B độc lập với nhau

- rA,B < 0: A và B tương quan ngược chiều (A tăng khi B giảm).

Ta thấy rằng, nếu giá trị tuyệt đối của rA,B lớn thì A hoặc B có thể bị bỏ đi do trùng lắp dữ liệu. Có thể dùng scatter plot (tạm dịch: đồ thị phân tán) để thấy được

sự tương quan giữa các thuộc tính.

Lưu ý rằng, hai thuộc tính tương quan với nhau không có nghĩa là giữa chúng có quan hệ nhân quả. Lấy ví dụ: khi phân tích một cơ sở dữ liệu về dân số, người ta phát hiện ra rằng thuộc tính “số bệnh viện” và thuộc tính ”số vụ trộm xe hơi” trong 1 khu vực nào đó là có tương quan với nhau. Điều đó không có nghĩa là cái này là nguyên nhân gây ra cái kia. Thực ra, cả 2 thuộc tính này liên quan tới 1 thuộc tính thứ 3, là “dân số”.

Đối với dữ liệu rời rạc, quan hệ tương quan giữa 2 thuộc tính A và B có thể được phát hiện bằng kiểm định chi square (chi bình phương). Giả sử A có c giá trị rời rạc (a1, a2,… ac) và B có r giá trị rời rạc (b1, b2,… br). Các bộ dữ liệu mô tả A và B có thể biểu diễn trong contingency table, với c cột và r dòng. Ký hiệu (Ai, Bj) là sự kiện mà (A=ai; B=bj). Mỗi (Ai, Bj) có 1 ô trong bảng. Giá trị chi-square được tính như sau: ∑∑ − = = = c i r j Eij E Oij ij 1 1 2 2 ( ) χ

Trong đó oij là tần số quan sát (nghĩa là số lượng đếm được trong thực tế) của sự kiện (Ai, Bj) còn eij là tần số mong muốn của sự kiện (Ai, Bj), được tính như sau:

Trong đó N là số record, count(A=ai) là số bộ mà A=ai (tương tự với count(Bj)). Tổng trong công thức (2.9) được tính với tất cả r * c ô. Lưu ý rằng những ô “đóng góp” nhiều nhất vào giá trị chi-square chính là những ô mà số lượng đếm được thực tế (oij) khác xa so với số lượng mong muốn (eij).

Thống kê chi-square kiểm định giả thuyết “2 biến A và B có độc lập với nhau”. Phép kiểm định này dựa trên 1 độ tin câỵ với (r-1)*(c-1) bậc tự do. Chúng ta

sẽ minh họa cách sử dụng thống kê này trong ví dụ dưới đây. Nếu giả thuyết bị bác bỏ, chúng ta có thể nói rằng A và B có quan hệ với nhau, về mặt thống kê.

Ví dụ cụ thể:

Xét bảng dữ liệu (2x2) sau. Kiểm tra xem Giới tính và sở thích đọc sách có liên quan gì với nhau hay không.

Male Female Total

Fiction 250 (90) 200 (360) 450

Non-fiction 50 (210) 1000 (840) 1050

Total 300 1200 1500

Giả sử có 1 nhóm 1500 người tham gia 1 cuộc khảo sát. Người ta ghi nhận lại giới tính và thể loại sách ưa thích của họ. Vậy là chúng ta có 2 thuộc tính cho mỗi người là giới tính và sở thích đọc sách. Tần số quan sát của mỗi sự kiện được ghi nhận trong bảng trên, còn con số trong ngoặc đơn biểu diễn tần số mong muốn. Ví dụ, tần số mong muốn cho ô (male, fiction) là:

Lưu ý rằng, trong bất cứ dòng nào, tổng của các tần số mong muốn cũng bằng với tổng tần số quan sát của dòng đó. Tương tự, tổng các tần số mong muốn trong bất cứ cột nào cũng bằng với tổng tần số quan sát của cột đó.

Với bảng 2x2, bậc tự do là (2-1)x(2-1)=1. Với 1 bậc tự do, giá trị χ2 cần thiết để bác bỏ giả thuyết (với độ tin cậy 0.001) là 10.828. Do giá trị χ2 ta tính được ở trên lớn hơn con số này nên chúng ta có thể bác bỏ giả thuyết “giới tính và sở thích đọc sách độc lập với nhau”. Ta kết luận rằng 2 thuộc tính này có tương quan mạnh với nhau, với tập dữ liệu cho trước.

Bên cạnh việc xác định sự dư thừa dữ liệu giữa các thuộc tính, sự dư thừa còn có thể gặp ở mức bộ (tuple, record), nghĩa là có 2 hay nhiều bộ giống nhau ở 1 thuộc tính nào đó. Việc sử dụng các table không chuẩn (thường dùng để tăng tốc độ xử lý, nhờ hạn chế được phép kết - join) cũng là 1 nguyên nhân của việc dư thừa dữ liệu. Sự không nhất quán cũng thường xuất hiện giữa những dữ liệu lặp khác nhau, do sự không chính xác của dữ liệu, hoặc việc cập nhật dữ liệu chỉ được thực hiện với một vài phần chứ không phải là toàn bộ thể hiện (occurrence) của dữ liệu.. Lấy ví dụ, nếu 1 database đơn đặt hàng chứa thuộc tính tên người đặt hàng và địa chỉ của họ, thay vì 1 khóa tham chiếu đến database người đặt hàng, thì sự không nhất quán có thể xảy ra: cùng 1 tên người đặt hàng nhưng lại mang địa chỉ khác nhau trong database đơn đặt hàng.

Một vấn đề quan trong nữa trong tích hợp dữ liệu là phát hiện và xử lý xung đột giá trị dữ liệu. Ví dụ, với cùng 1 thực thể, giá trị các thuộc tính trong các nguồn dữ liệu khác nhau có thể khác nhau. Điều này có thể xảy ra do sự thể hiện dữ liệu khác nhau. Ví dụ, cân nặng có thể được đo bằng các đơn vị khác nhau. Với 1 chuỗi khách sạn, giá phòng ở các thành phố khác nhau có thể khác nhau, không chỉ về đơn vị tiền tệ mà còn về dịch vụ và thuế. Một thuộc tính trong 1 hệ thống có thể được ghi nhận ở 1 cấp độ trừu tương thấp hơn thuộc tính tương tự ở trong 1 hệ thống khác. Ví dụ, thuộc tính total_sales trong 1 database có thể để ám chỉ tổng doanh số của 1 chi nhánh của hãng All_Electronics, trong khi 1 thuộc tính cùng tên trong 1 database khác lại ám chỉ tổng doanh số của tất cả các cửa hàng của All_Electronics ở 1 địa phương cho trước.

khác trong quá trình tích hợp dữ liệu, cần phải chú ý đặc biệt đến cấu trúc của dữ liệu. Điều này nhằm đảm bảo rằng mọi phụ thuộc hàm của thuộc tính và các ràng buộc khóa ngoại trong hệ thống nguồn phải được đảm bảo ở trong hệ thống đích. Ví dụ, trong 1 hệ thống, thuộc tính discount có thể được áp dụcho 1 đơn đặt hàng, trong khi ở 1 hệ thống khác, nó được áp dụng cho từng mặt hàng trong đơn hàng đó. Nếu điều này không được chú ý trước khi thực hiện việc tích hợp, các mặt hàng trong hệ thống đích có thể sẽ không được “discount” chính xác.

Sự khác biệt về ngữ nghĩa và cấu trúc của dữ liệu gây ra 1 thách thức lớn trong việc tích hợp dữ liệu. Nếu công việc này được thực hiện cẩn thận thì sẽ giảm thiệu hoặc tránh được sự dư thừa hoặc không nhất quán về dữ liệu trong tập dữ liệu kết quả. Điều này giúp cải thiện độ chính xác và tốc độ của quá trình mining.

Một phần của tài liệu ĐỀ TÀI TIỀN XỬ LÝ DỮ LIỆU (Trang 35 - 40)

Tải bản đầy đủ (PDF)

(81 trang)