Trong đó:Data Warehouse Kho dữ liệu: Chứa dữ liệu tổng hợp của doanh nghiệp Data Mining Khai phá dữ liệu: Các kỹ thuật dùng để khai phá dữ liệu và phát hiện tri thức như phân loại Classi
Trang 1Có rất nhiều định nghĩa về BI như dưới đây, mỗi định nghĩa nêu lên một đặc trưng
nổi bật của BI nhưng chung qui lại tất cả đều đề cập đến khả năng trợ giúp ra quyết định hiệu quả trong kinh doanh của BI.
Dưới đây là một số định nghĩa về BI
Business Intelligence đề cập đến các kỹ năng, qui trình, công nghệ, ứng dụng được
sử dụng để hỗ trợ ra quyết định (Business Intelligence (BI) refers to skills,
Trang 2processes, technologies, applications and practices used to support decision
making)
BI là các ứng dụng và công nghệ để chuyển dữ liệu doanh nghiệp thành hành động
(BI is the applications and technologies transforming Business Data into Action)
Hoặc
BI là công nghệ mới giúp doanh nghiệp hiểu biết về quá khứ và dự đoán tương lai
(BI is the new technology for understanding the past & predicting the future)
Tóm lại:
BI là qui trình và công nghệ mà các doanh nghiệp dùng để kiểm soát khối lượng dữ liệu khổng lồ, khai phá tri thức giúp cho các doanh nghiệp có thể đưa các các quyết định hiệu quả hơn trong hoạt động kinh doanh của mình Công nghệ BI (BI
technology) cung cấp một cách nhìn toàn cảnh hoạt động của doanh nghiệp từ quá khứ, hiện tại và các dự đoán tương lai Mục đích của BI là hỗ trợ cho doanh nghiệp
ra quyết định tốt hơn Vì vậy một hệ thống BI (BI system) còn được gọi là hệ
thống hỗ trợ quyết đinh (Decision Support System -DSS)
Các thành phần chính của hệ thống BI được mô tả như hình dưới đây
Trang 3Vấn đề cốt lõi trong hệ thống BI là kho dữ liệu (Data Warehouse) và khai phá dữ liệu (Data Mining) vì dữ liệu dùng trong BI là dữ liệu tổng hợp (Nhiều nguồn, nhiều định dạng, phân tán và có tính lịch sử) đó là đặc trung của kho dữ liệu Đồng thời việc phân tích dữ liệu trong BI không phải là những phân tích đơn giản (query, Filtering) mà là những kỹ thuật trong khai phá dữ liệu (Data Mining) dùng để phân loại (classification) phân cụm (clustering), hay dự đoán (Prediction) Vì vậy BI có mối quan hệ rất chặt chẽ với Data Warehouse và Data mining
Hệ thống BI đơn giản có thể được xem là sự kết hợp của 3 thành phần chính như sau:
Trang 4Trong đó:
Data Warehouse (Kho dữ liệu): Chứa dữ liệu tổng hợp của doanh nghiệp
Data Mining (Khai phá dữ liệu): Các kỹ thuật dùng để khai phá dữ liệu và phát hiện tri thức như phân loại (Classification), phân nhóm (clustering), phát hiện luật kết hợp (Association Rule), Dự đoán (Predcition),…
Business Analyst (Phân tích kinh Doanh: Các nhà lãnh đạo Doanh nghiệp đưa ra những quyết định chiến lược đối với hoạt động kinh doanh của doanh nghiệp
Dưới đây là quan điểm của SAS về BI
Trang 5BI có lợi ích gì?
• BI làm tăng khả năng kiểm soát thông tin của doanh nghiệp một cách chính xác, hiệu quả từ đó có thể phân tích, khai phá tri thức giúp doanh nghiệp có thể dự đoán về xu hướng của giá cả dịch vụ, hành vi khách hàng, phát hiện khách hàng tiềm năng để đề ra các chiến lược kinh doanh phù hợp nhằm tăng khả năng cạnh tranh doanh nghiệp
• BI giúp cho các doanh nghiệp sử dụng thông tin một cách hiệu quả, chính xác để thích ứng với môi trường thay đổi liên tục và cạnh tranh khốc liệt trong kinh doanh
• Ra các quyết định kinh doanh hiệu quả hơn
• Xác định được vị trí và sức cạnh tranh của DN
• Phân tích hành vi khách hàng
• Xác định mục đích và chiến lược Marketing
• Dự đoán tương lai của doanh nghiệp
• Xây dựng chiến lược kinh doanh
• Giữ được khách hàng có giá trị và dự đoán khách hành tiềm năng
Các công nghệ hỗ trợ BI (Technologies supporting for BI)
• Kho dữ liệu (Data warehousing),
Trang 6• Hệ thống hoạch định nguồn lực Doanh nghiệp (Enterprise resource planning (ERP) systems)
• Công nghệ truy vấn và lập báo cáo (Query and report writing technologies)
• Công cụ khai phá và phân tích dữ liệu (Data mining and analytics tools)
• Hệ thống hỗ trợ ra quyết định (Decision support systems)
• Quản lý quan hệ khách hàng (Customer relation management)
Lưu ý
Mặc dù chúng ta gọi là Business Intelligence (BI) nhưng khái niệm và các kỹ thuật của BI có thể dùng được cho hầu hết các tổ chức kinh tế xã hội như giáo dục
(Education), chính phủ(Government), chăm sóc sức khỏe (health care)….
Các hoạt động chính của IB (BI Activities)
• Hỗ trợ quyết định (decision support),
• Truy vấn và báo cáo (query and reporting),
• Phân tích xử lý trực tuyến (online analytical processing (OLAP)),
• Phân tích thống kê (statistical analysis),
• Dự đoán (forecasting), và
• Khai phá dữ liệu (data mining)
Business Intelligence Development Studio (BIDS) của
Microsoft
BIDS là công cụ cho phép tổ chức quản lý và khai thác kho dữ liệu (Xử lý phân tích trực tuyến) cũng như xây dựng các mô hình khai phá dữ liệu rất dễ sử dụng và hiệu quả của Microsoft
BIDS cho phép triển khai các mô hình khai phá dữ liệu sau:
Micorosft Decision Tree (Cây quyết định)
Trang 7Microsoft Clustering (Phõn cụm)
Micorosoft Naive Bayes(Phõn lớp với Bayes Rules)
Micorosoft Time Series (Chuỗi thời gian)
Micorosoft Association (Luật kết hợp)
Micorsoft Sequence Clustering (Phõn tớch chuỗi)
Microsoft Neural Network (Mạng Neural)
Micorsoft Linear Regression(Hồi qui tuyến tớnh)
Micorsoft Logistics Regression(Hồi qui logistics)
Qui trỡnh Xõy dựng mụ hỡnh khai phỏ dữ liệu với BIDS như sau :
• Tạo mới 1 project (Analysis Services Project)
• Tạo một Data Source
• Tạo một Data Source View
• Tạo một Mining model structure
• Tạo cỏc Mining models
• Khai thỏc Mining models
• Kiểm tra độ chớnh xỏc của Mining Models
• Sử dụng Mining Models để dự đoỏn
Mụ tả dữ liệu và mục tiờu khai phỏ dữ liệu
Cơ sở dữ liệu được sử dụng để minh họa trong bài viết này cú tờn là AdventureWorksDW, đõy là kho dữ liệu của cụng ty Adventure Works chuyờn sản xuất xe đạp Cơ sở dữ liệu mẫu này cú sẵn khi bạn cài SQL Server Mục đớch của việc xõy dựng cỏc mụ hỡnh khai phỏ dữ liệu nhằm để phõn loại khỏch hàng, tỡm ra cỏc khỏch hàng tiềm năng cũng như dự đoỏn được khỏch hàng nào cú thể mua sản phẩm của cụng ty Adventure Works giỳp cho bộ phận Marketing xõy dựng cỏc chiến lược quảng cỏo, tiếp thị nhằm mở rộng thị trường, tỡm kiếm khỏch hàng, mở rộng kinh doanh
Sau đõy mụ tả chi tiết từng bước quỏ trỡnh xõy dựng mụ hỡnh khai phỏ dữ liệu với BIDS
1.Thuật toán cây quyết định (MS Decision Tree):
Trang 8a Gới thiệu
Cây quyết định là một flow-chart có cấu trúc cây Trong đó mỗi node biểu diễn giá trị của mỗi thuộc tính đầu vào và node lá đại diện cho các phân loại còn các nhánh đại diện cho luật kết hợp các thuộc tính dẫn tới phân loại đó
b Nguyên tắc cơ bản của giải thuật
Nguyên tắc cơ bản của giải thuật cây quyết định là chia dữ liệu một cách đệ quy
từ trên xuống và theo cách thức chia để trị thành các tập hợp con
- Ban đầu toàn bộ dữ liệu ở gốc,
- Chọn thuộc tính phân loại tốt nhất( mục đích làm tối thiểu hóa, chẳng hạn tối thiểu chiều cao của cây),
- Dữ liệu đợc phân chia theo các trạng thái của thuộc tính đợc chọn.Lặp lại quá trình trên với tập dữ liệu ở mỗi nút vừa tạo ra Điều kiện để dừng phân chia là:
- ở một nút tất cả phần tử của dữ liệu tại nút đó thuộc về cùng một lớp
- Không còn thuộc tính nào để thực hiện phân chia tiếp
- Số lợng phần tử của dữ liệu tại một nút bằng không, trong thực tế tập dữ liệu đầu vào rất lớn, với điều kiện dừng này cây quyết định thu đợc rất phức tạp, với những đờng đi dài Để tránh hiện tợng này trong thuật toán MS Decision tree,
đã tích hợp tham số MINIMUM_SUPPORT để thiết lập giá trị ngỡng, không chia một nút nếu tạo ra nút có số phần tử nhỏ hơn ngỡng này
Để chọn thuộc tính hữu ích nhất, chúng ta cần một đại lợng mà có thể đánh giá trờng hợp nào cho ra một sự phân chia cân bằng nhất (với chiều sâu và chiều rộng của cây) Thuật toán MS Decision tree cung cấp 3 phơng pháp tính điểm để đo
độ lợi thông tin: Entropy, Bayesian with K2 Prior và Bayesian Dirichlet Equivalent with Uniform prior
Phơng pháp tính điểm Entropy:
Trang 9Phơng pháp tính điểm này dựa trên công thức tính Entropy trong lý thuyết thông tin của nhà vật lý, toán học Shannon Lý thuyết thông tin của Shannon vào năm 1948 cung cấp khái niệm entropy để đo tính hỗn loạn của một tập hợp Một tập hợp là thuần nhất nếu tất cả các phần tử của tập hợp đều thuộc cùng một loại, và khi đó độ hỗn loạn của tập hợp này thấp nhất Khi tập hợp thuần nhất thì ta biết chắc chắn về giá trị của một phân tử cần phần loại có thuộc về tập này hay không? hay ta có lợng thông tin về tập đó là cao nhất, và ngợc lại, khi tập hợp có độ hỗn loạn cao nhất, thì ta không thể cho biết chính xác phần tử kiểm tra thuộc loại nào? hay lợng thông tin ta có đợc về tập này là thấp ít nhất.
Giả sử một tập dữ liệu S có hai lớp: lớp N và lớp P, với n phần tử thuộc lớp N
và p phần tử thuộc lớp P Entropy đo độ hỗn loạn của tập S nh sau:
Entropy(S) =
-) ( log2
p n
n p
p n
p p
là xác suất phần tử bất kỳ thuộc lớp P
Một cách tổng quát hơn, nếu S có c lớp, và pi là xác suất của một phần tử trong tập dữ liệu thuộc lớp thứ i, thì ta có công thức tính entropy tổng quát:
Entropy(S)=
i c
phân chia chúng ta đợc các tập con thuần nhất, càng nhanh càng tốt Tức là chọn thuộc tính mang lại độ lợi thông tin lớn nhất
Trang 10Giả sử khi ta sử dụng thuộc tính A có v trạng thái{ S1, S2, , Sv}, entropy của tập dữ liệu sau khi phân chia trên thuộc tính này là:
Entropy(A) =
∑
=
v k
Và độ lợi thông tin có đợc bởi việc phân nhánh trên thuộc tính A là:
Gain(A) = Entropy(S) - Entropy(A)Chúng ta có thể minh họa nguyên tắc của thuật toán qua việc xét ví dụ:
Phòng Marketing của công ty Adventure Works Cycle muốn dự đoán một khách hàng với những đặc điểm đợc xác định có mua xe tại công ty hay không?, dựa vào những đặc điểm của các khách hàng đã mua sản phẩm của công ty đợc lu trong cơ sở dữ liệu Bằng cách sử dụng thuật toán MS Decision tree để phân tích những thông tin này, phòng Marketing có thể xây dựng một mô hình khai phá có cấu trúc:
Bảng 2.5: Cấu trúc mô hình TM Decision Tree
Từ dữ liệu của công ty ta có các bảng sau;
Trang 11r
CommuteDistance0-1 Miles 1-2 Miles 2-5 Miles 5-10 Miles 10+ Miles
<54
>=54
<59
>=59
<65
>=65
<70
>=70
<74
>=74
<86
>=86
Trang 12Hình 2.4: Biểu đồ thể hiện sự phân loại theo thuộc tính Age
Trang 13Hình 2.5: Biểu đồ thể hiện sự phân loại theo thuộc tính Number Car Owner
Bảng 2.9: Sự phân loại theo thuộc tính Total Children
Hình 2.6: Biểu đồ thể hiện sự phân loại theo thuộc tính Total Children
Trang 14Trong các bảng trên mỗi cột là một trạng thái của thuộc tính đầu vào, mỗi dòng là một trạng thái của thuộc tính dự đoán, mỗi ô là số khách hàng thỏa mãn mối tơng quan giữa một trạng thái của thuộc tính đầu vào với một trạng thái của thuộc tính dự đoán Các biểu đồ biểu diễn tơng quan đó Cột màu đỏ biểu diễn số khách hàng mua xe và cột màu xanh biểu diễn số khách hàng không mua.
Dữ liệu của công ty gồm có 18484 khách hàng trong đó có 9132 ngời mua xe,
9352 ngời không mua, nên entropy của tập dữ liệu này là:
Entropy(2-5 Miles) = 0,9863 ; Entropy(5-10 Miles) = 0,9765 ;
Trang 15)Entropy(5-10 Miles) + ( 18484
1586
908 +
)Entropy(10+ Miles)= 0,3377 + 0,1745 + 0,1726 + 0,1698 + 0,1276 = 0,9822
Xây dựng mô hình trên trong môi trờng BI và chọn phơng pháp tính điểm là Entropy, thực hiện khai phá mô hình chúng ta có thể sử dụng tab Mining Model Viewer để quan sát kết quả.
Trang 16Hình 2.7: Cây quyết định với phơng pháp tính điểm Entropy
Tuy nhiên với phơng pháp tính điểm này còn có một số hạn chế, nó có xu ớng thiên về chọn những thuộc tính có nhiều trạng thái khác nhau Ví dụ sự phân chia trên tập thuộc tính Customer_ID sẽ cho một lợng lớn các tập con thuần nhất, mỗi tập con chỉ chứa duy nhất một bộ Entropy của thuộc tính này bằng 0 và độ lợi thông tin có đợc bởi việc phân nhánh trên thuộc tính Customer_ID là lớn nhất Rõ ràng, phép phân chia trên là không hữu dụng MS Decision tree mặc định sử dụng phơng pháp tính điểm Bayesian Dirichlet Equivalent with Uniform prior Và kết quả của mô hình với phơng pháp tính điểm mặc định nh sau
Trang 17h-Hình 2.8: Cây quyết định với phơng pháp tính điểm mặc định
Hình trên biểu diễn mô hình cây quyết định cho một khách hàng mua xe tại công ty Adventure Works Cycle, cây đợc đặt nằm ngang với nút gốc nằm phía bên trái nhất và hộp thoại Mining Legned biểu diễn thông tin của một nút Ta thấy cây này có độ rộng nhỏ hơn nhng có chiều sâu lớn hơn so với cây đợc tạo ra bằng ph-
ơng pháp tính điểm Entropy Mỗi đờng đi từ nút gốc đến một nút định dạng một luật, nh luật tại nút Number Cars Owned=4 sẽ là Number Cars Owned = 4 (đợc chỉ ra ở góc dới bên trái của hộp thoại Mining Legned) Mỗi nút chứa một biểu đồ hình cột đại diện cho tỉ lệ các trạng thái của thuộc tính dự đoán thỏa mãn luật tại nút đó (nh hình trên màu xanh biểu diễn số ngời không mua, màu đỏ nhạt biểu diễn
số ngời mua xe) Khi một nút đợc chọn trên hộp thoại Mining Legned sẽ hiển thị
Trang 18tổng số phần tử, số phần tử của mỗi trạng thái của thuộc tính dự đoán thỏa mãn luật tại nút đó và xác suất tơng ứng (nh đã nói ở phần trên, cây quyết định cũng là một phơng tiện có tính mô tả cho việc tính các xác suất có điều kiện) Trong hình trên, nút
đợc chọn là Number Car Owned=4, ở hộp thoại Mining Legend cho thấy tổng số khách hàng có Number Car Owned=4 là 1261 trong đó có 466 ngời mua xe, 795 ngời không mua với xác suất tơng ứng là 62,98 % và 36,95 % Các xác suất này đợc tính
nh sau:
Gọi A là biến cố ngời đó mua xe, B là biến cố ngời đó có Number Car Owned =
4 Vậy xác suất ngời đó sẽ mua xe nếu ngời đó có Number Car Owned = 4 là:
P(A/B) = ( )
) (
B P
AB P
= 1261:18484
18484 : 466
≈ 36,95 %
Tơng tự gọi C là biến cố ngời đó không mua xe, ta có:
P(C/B) = ( )
) (
B P
CB P
= 1261:18484
18484 : 795
≈ 63,05 %
Dựa vào cây quyết định trên Mining Model Viewer phòng Marketing có thể xác định một khách hàng có xác suất sẽ mua xe và không mua xe là bao nhiêu, chẳng hạn với khách hàng có Number Car Owned =4 thì xác suất ngời này không mua lớn hơn xác suất mua xe (kết quả trên), từ đó phòng Marketing có kế hoạch không nên chú trọng đến những khách hàng này
Nh vậy, cây quyết định giúp ta nhanh chóng biểu diễn dữ liệu phức tạp thành một cấu trúc đơn giản hơn rất nhiều
c Các tham số của thuật toán
Có một số tham số của giải thuật đó là các tham số giúp kiểm soát sự phát triển của cây, hình dạng cây, các thiết lập cho các thuộc tính đầu vào, đầu ra
Là một số thực thuộc khoảng (0,1), giảm giá trị của tham số này để tăng khả năng phân chia của một nút trong cây, trong khi tăng giá trị của tham số này để giảm khả
Trang 19năng phân chia Giá trị mặc định của tham số này phụ thuộc vào số lợng các thuộc tính đầu vào của một mô hình:
- Từ 1 đến 9 thuộc tính, giá trị mặc định là 0,5
- Từ 10 đến 99 thuộc tính, giá trị mặc định là 0,9
- Từ 100 thuộc tính trở lên, giá trị mặc định là 0,99
Nh trong ví dụ trên nếu giá trị của tham số này đợc đặt là 100, khi cây sinh ra các nút, nút nào có tổng số khách hàng thỏa mãn luật ở nút đó nhỏ hơn 100 thì sự phân chia này không đợc chấp nhận Thông thờng tập dữ liệu huấn luyện có nhiều bản ghi thì nên tăng giá trị này lên để tránh trờng hợp Overtraning Giá trị mặc định bằng 10
tính độ lợi thông tin cho các thuôc tính tại mỗi nút trong khi phát triển cây, đã đợc nhắc đến trong phần trớc
- Thiết lập bằng 1 để chọn phơng pháp Entropy
- Thiết lập bằng 3 để chọn phơng pháp Bayesian with K2 Prio
- Mặc định thiết lập bằng 4 để chọn phơng pháp Bayesian Dirichlet Equivalent with Uniform prior
cần xây dựng, ví dụ là cây nhị phân hay cây có hình dạng phức tạp Chẳng hạn xét
sự phân chia bởi thuộc tính Tuổi có ba trạng thái: trẻ, trung tuổi và già
- Thiết lập bằng 1 để chỉ ra cây có dạng nhị phân Tức thuật toán phải tách ra thành hai nút với lựa trọng trạng thái là: trẻ và không trẻ
- Thiết lập bằng 2 để không hạn chế số phân chia Tức là thuật toán phân tách thành 3 nút với các trạng thái: trẻ, trung tuổi và già
- Mặc định thiết lập bằng 3, để thuật toán chọn số phân chia tối u nhất