Nguyên tắc cơ bản của giải thuật Thuật tốn tính xác suất cĩ điều kiện của các trạng thái của mỗi cột đầu vào với mỗi trạng thái của cột dự báo.. Thuật tốn MS Nạve Bayes Với cột đầu vào
Trang 1Các giải thuật khai phá dữ liệu trên SQL Server 2005 và ứng dụngGVHD :
Trang 2Nội dung (1/2)
• I.Giới thiệu khai phá dữ liệu(KPDL)
- Khái niệm về KPDL
- Các bài tốn thơng dụng trong KPDL
• II Các giải thuật KPDL trên SQL Server 2005
- Thuật tốn Microsoft Nạve Bayes
- Thuật tốn cây quyết định
- Thuật tốn Time Series
Trang 3Nội dung (2/2)
• III Thực hiện KPDL bằng wizard trên môi
trường Business Intelligence Development Studio (BIDS)
- Giới thiệu BIDS
- Tạo, huấn luyện mô hình KPDL
• IV ỨNg dụng KPDL vào dự đoán giá cổ
phiếu trong thị trường chứng khoán
Trang 4KPDL là tiến trình khái quát các sự kiện
rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cức cho các tiến trình ra quyết định.
Trang 5I Giới thiệu (2/5)
2 Các bài toán thông dụng trong KPDL
- Bài toán Phân lớp (Classification) : phân dữ liệu
mới vào trong những lớp (còn gọi là loại) đã được
xác định trước.
- Bài toán Dự đoán (prediction) : khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên thông tin đang có để
đưa ra một giá trị số học cần dự đoán Ví dụ: Dự
đoán giá cổ phiếu.
- Bài toán Tìm luật liên kết (Association Rule) : tìm kiếm các mối liên kết giữa các phần tử dữ liệu Ví dụ: Nhóm các mặt hàng thường được mua kèm với nhau.
- Bài toán Phân cụm (Clustering) : nhóm các đối
tượng dữ liệu có tính chất giống nhau vào cùng một nhóm.
Trang 6II Các giải thuật khai phá dữ liệu trên SQL Server 2005
Microsoft SQL Server 205 Analysis Service (SSAS) đã hồn thiện các thuật tốn
thường sử dụng trong KPDL một cách hồn chỉnh nhất so với SQL Server 2000 AS.
Trong nội dung bài báo cáo tơi xin trình
bày 4 thuật tốn :
- Microsoft (MS) Nạve Bayes
- MS Decision Tree
- MS time series
Trang 7
1 Thuật tốn MS Nạve Bayes
a Giới thiệu:
Thuật tốn dùng để khám phá quan hệ
giữa các cột đầu vào với các cột dự đốn,và giả sử rằng các cột độc lập với nhau Do giả thiết này nên thuật tốn cĩ tên là Naive
Trang 81 Thuật tốn MS Nạve Bayes
b Nguyên tắc cơ bản của giải thuật
Thuật tốn tính xác suất cĩ điều kiện của các trạng thái của mỗi cột đầu vào với mỗi
trạng thái của cột dự báo.
Định nghĩa về xác suất cĩ điều kiện như sau:
Xác suất của biến cố A với điều kiện biến cố B xảy ra được ký hiệu P(A/B) và
Trang 91 Thuật tốn MS Nạve Bayes
b Nguyên tắc cơ bản của giải thuật
Ví dụ : Trong chiến lược quảng cáo về mẫu xe đạp mới của phịng Marketing thuộc cơng ty Adventure Works Cycle, họ quyết
định dùng cách phát tờ rơi Để giảm chi phí,
họ muốn chỉ gửi đến những khách hàng quan tâm đến mặt hàng này
Xây dựng mơ hình TM Naive Bayes với cấu trúc như sau:
Trang 101 Thuật tốn MS Nạve Bayes
Với cột đầu vào CommuteDistance, từ dữ liệu lưu trữ thơng tin 18484 khách hàng của cơng ty ta cĩ bảng thống kê sau:
Như đã nĩi ở trên: Thuật tốn tính xác suất cĩ điều kiện của các trạng thái của mỗi cột đầu vào với mỗi trạng thái của cột dự báo.
Trang 111.Thuật tốn MS Nạve Bayes
b Nguyên tắc cơ bản của giải thuật
A :biến cố khách hàng cĩ khoảng cách từ nhà đế chỗ làm việc từ 0-1 Miles
B 1 : là biến cố người đĩ mua xe đạp
B 2 : là biến cố người đĩ khơng mua xe đạp
Trang 121.Thuật tốn MS Nạve Bayes
b Nguyên tắc cơ bản của giải thuật
Trang 131.Thuật tốn MS Nạve Bayes
b Nguyên tắc cơ bản của giải thuật
Xét với 1000 khách hàng mua xe và 1000 khách hàng khơng mua xe.
Trạng thái 0-1 Miles phân biệt giữa các khách hàng mua và khơng mua xe rõ nhất, và trạng thái 10+ Miles phân biệt giữa khách hàng
khơng mua và khách hàng mua xe tại cơng ty
rõ ràng nhất.
Trang 141 Thuật tốn MS Nạve Bayes
c Các tham số của thuật tốn
• MAXIMUM_INPUT_ATTRIBUTES : xác định số thuộc
tính đầu vào lớn nhất Thiết lập tham số này bằng 0
để thuật tốn tính đên tất cả các thuộc tính Giá trị mặc định là 255.
• MAXIMUM_OUTPUT_ATTRIBUTES : xác định số thuộc
tính đầu ra lớn nhất Thiết lập tham số này bằng 0
để thuật tốn tính đến tất cả các thuộc tính.Mặc
định giá trị là 255.
• MAXIMUM_STATES : chỉ ra số trạng thái lớn nhất của
một thuộc tính được tính đến Thiết lập băng khơng
sẽ cho thuật tốn tính đến tất cả các trạng thái Giá trị mặc định là 100.
• MINIUMUM_DEPENDENCY_PROBABILITY : là một số từ
0 đến 1, giá trị của tham số này được thiết lập để
giới hạn kích thước của nội dung mơ hình được tạo ra bởi thuật tốn Giá trị này lớn thì sẽ giảm số thuộc tính trong nội dung của mơ hình Giá trị mặc định là 0.5
Trang 152 Thuật toán MS Decision
Tree
a Giới thiệu:
Là kĩ thuật phổ biến nhất, hỗ trợ cả việc phân loại và hồi quy Nhưng phổ biến nhất là tác vụ phân loại.
Thuật toán này có thể sử dụng cho cả
thuộc tính rời rạc và liên tục.
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.
Trang 162 Thuật toán MS Decision
Tree
b Nguyên tắc của thuật toán
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
Trang 172 Thuật toán MS Decision
Tree
b Nguyên tắc cơ bản của giải thuật
Đ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.
Trang 18
2.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Để 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
- Bayesian Dirichlet Equivalent with Uniform prior.
Trang 192.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Lý thuyết thông tin của Shannon 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
Giả sử một tập dữ liệu S có hai lớp: lớp N và lớpP, 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
Trang 202.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Một cách tổng quát hơn, nếu S có c lớp, và p i
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:
Theo Shannon thì lượng thông tin nhận được chính là lượng giảm độ hỗn loạn của tập dữ liệu sau khi phân chia, và ta gọi độ giảm tính hỗn loạn này là độ lợi thông tin
Vậy, điều ta mong muốn ở đây là làm sao chọn được thuộc tính mà sau khi 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 212.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Giả sử khi chọn thuộc tính A có v trạng thái{ S 1 , S 2 , , S v }, entropy của tậ dữ liệu sau khi phân chia trên thuộc tính này là:
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?
•
Trang 222.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Bằng cách sử dụng thuật toán MS Decision tree, phòng Marketing có thể xây dựng một mô hình khai phá có cấu trúc:
Trang 232.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Từ dữ liệu của công ty ta có các bảng sau
Trang 242.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Trang 252.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
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à:
Nếu rẽ nhánh trên thuộc tính đầu vào CommuteDistance
Tương tự ta có: Entropy(2-5 Miles) = 0,9863 ;
Entropy(5-10 Miles) = 0,9765 ; Entropy(10+ Miles)= 0,946
Trang 262.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Và độ lợi thông tin có được:
Gain(CummuteDistance) = Entropy(S) -
Entropy(CummuteDistance) = 0,9999 - 0,9822 = 0,0177.
Hoàn toàn tương tự với các thuộc tính còn lại ta có: Gain(Age) = 0,0297 ; Gain(NumberCarOwner) = 0,0289
Gain(TotalChildren) = 0,0190.
Trang 272.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Mining Model Viewer để quan sát kết quả
Trang 282.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
Tuy nhiên với phương pháp tính điểm này còn có một số hạn chế:
Có có xu hướ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
Trang 292.Thuật toán MS Decision Tree
b Nguyên tắc của thuật toán
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à:
Tương tự gọi C là biến cố người đó không mua xe, ta có:
Trang 302 Thuật tốn MS Decision
Tree
C Các tham số của thuật tốn
Ngồi hai tham số
MAXIMUM_INPUT_ATTRIBUTE và
MAXIMUM_OUTPUT_ATTRIBUTE như thuật
tốn MS Nạve Bayes.
• COMPLEXITY_PENALTY kiểm sốt sự phát triển
của cây Nĩ là một số thực cĩ giá trị trong
đoạn [0,1].
- 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.
Trang 312 Thuật toán MS Decision
Tree
c Các tham số của thuật toán:
• MINIMUM_SUPPORT dùng để chỉ ra số phần tử nhỏ nhất của một nút lá trên cây Nếu giá trị này được
đặt là 20 thì khi cây sinh ra các nút, nút nào có số lượng phần tử nhỏ hơn 20 thì sẽ không được chấp
nhận.Mặc định là 10
• FORCE_REGRESSOR là tham số cho cây hồi quy Nó
chỉ ra thuộc tính là biến hồi quy.
• SCORE_METHOD có giá trị dạng số nguyên Được
dùng để xác định phương pháp tính độ lợi thông tin:
prior.
Trang 322 Thuật toán MS Decision
Tree
c Các tham số của thuật toán:
• SPLIT_METHOD có giá trị dạng số nguyên Được
dùng để chỉ ra hình dạng của cây 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
Trang 333 Thuật toán Time Series
a Giới thiệu
MS Time series là một thuật toán hồi quy được dùng để tạo mô hình dự đoán các cột có giá trị liên tục, chẳng hạn giá cổ phiếu của
một công ty.
Một time series là một chuỗi dữ liệu được thống kê theo thời gian.
Trang 34
3.Thuật toán Time Series
b Nguyên tắc của thuật toán
Time Series là sự kết hợp giữa kỹ thuật cây quyết
định và tự hồi quy nên còn có tên ART
Trang 353.Thuật toán Time Series
b Nguyên tắc của thuật toán
Một trong những bước quan trọng của ART đổi dữ liệu
Trang 363.Thuật toán Time Series
b Nguyên tắc của thuật toán
Cây tự hồi quy: tương tự như cây quyết định
là một flow-chart, trong đó các nút biểu diễn nhãn của các phần tử thuộc nút đó,đường đi
từ gốc tới một nút hình thành một luật và mỗi nút lá tương ứng với một công thức hồi quy
Close = -1.665 + 1.405 * High(- 1)
-0.357 * Close(-1)
Trang 373 Thuật toán Time Series
b Nguyên tắc của thuật toán
Khi kiểm định công thức hồi quy ở mỗi nút
lá biến giải thích nào không có ý nghĩa cũng được bỏ qua (ở đây chỉ có High(-1) và Close(- 1)) Công thức hồi quy trên có dạng Close = c + a*High(-1) + b*Close(-1).
Các hệ số a, b, c có thể được xác định như sau:
Trang 383.Thuật toán Time series
c Các tham số của thuật toán
Ngoài hai tham số MINIMUM_SUPPORT
và COMPLEXITY_PENALTY như thuật toán
cây quyết định, MS Time series còn hỗ trợ các tham số:
• Historical_Model_Count : kiểu Integer Nó xác
định số mô hình lịch sử sẽ được xây dựng
Mặc định là 1.
• Historical_Model_Gap : có kiểu Integer Nó xác
định khoảng thời gian giữa hai historical
model liên tiếp nhau Ví dụ: tham số này
bằng g, khoảng cách các historical model
cách nhau lần lượt là: g, 2*g,3*g…Mặc định là 10.
Trang 393.Thuật toán Time Series
b Các tham số của thuật toán
• MISSING_VALUE_SUBSTITUTION:Xác định phương thức để điền vào chỗ dữ liệu bị thiếu Có thể
chọn các phương thức: giá trị trước đó, giá trị
trung bình, hay bằng một hằng số xác định.
• Periodicity_Hint: sự gợi ý cho thuật toán về chu
kỳ của dữ liệu Nếu lượng hàng hóa bán được
biến đổi hàng năm và đơn vị của phép đo trong series là tháng thì PERIODICITY_HINT = '{12}' nghĩa là chu kỳ của dữ liệu là 12 tháng Khi đó thuật toán sẽ xem xét thêm các time slot t-12, t- 24,…,t-8*12 Mặc định là {1}.
• Auto_Detect_Periodicity: số thực với giá trị thuộc
[0,1] Nó được sử dụng để dò tìm tính chu kỳ
Trang 403.Thuật toán Time serie
C Các tham số của thuật toán
• Maximum_Series_Value : xác định cận trên cho giá trị dự báo
• Minimum_Series_Value : Xác định cận dưới
cho giá trị dự báo
Trang 41III.Thực hiện KPDL bằng wizard
1 Business Intelligence Development Studio (BIDS) BIDS là một môi trường được tích hợp vào
Microsoft Visual Studio (VS) khi cài đặt SQL Server 2005.
BIDS là tập hợp những công cụ thiết kế để tạo
mô hình, huấn luyện mô hình và khai phá mô hình BIDS làm việc theo 2 mô hình xử lý: Immediate Mode và Offline Mode.
Trang 42III.Thực hiện KPDL bằng wizard
c Thiết lập Data sources và Data Source
* Data Source View (DSV)
Là một lớp trừu tượng (abstraction layer) cho phép thay đổi cách xem xét data source