Tải bản đầy đủ
CHƯƠNG 3: PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG DỰA TRÊN KHAI PHÁ DỮ LIỆU

CHƯƠNG 3: PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG DỰA TRÊN KHAI PHÁ DỮ LIỆU

Tải bản đầy đủ

39

3.1 Khai phá dữ liệu
Trong thời đại công nghệ thông tin, các hệ thống thông tin có thể lưu trữ một khối
lượng lớn dữ liệu về hoạt động hàng ngày của chúng. Từ khối dữ liệu này, chúng ta có
thể áp dụng các kỹ thuật trong Khai phá dữ liệu ( KPDL ) để lấy ra những thông tin
hữu ích mà chúng ta quan tâm. Các thông tin thu được có thể vận dụng ngược trở lại
nhằm cải thiện hiệu năng của hệ thống thông tin ban đầu.
Định nghĩa về KPDL được phát biểu như sau: “KPDL là việc sử dụng dữ liệu
lịch sử để khám phá những quy tắc và cải thiện những quyết định trong tương lai.” Với
một cách tiếp cận mang tính ứng dụng hơn, Tiến sỹ Fayyad đã đưa ra một định nghĩa
khác : “ KPDL thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là
một quá trình trích dẫn những thông tin ẩn, trước đây chưa biết và có khả năng hưu ích
dưới dạng các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” Nói chung, KPDL là
một quá trình học tri thức mới từ những dữ liệu thu thập được trước đó.
KPDL có năm giai đoạn chính và có thể được lập lại nhiều lần ở một hay nhiều
giai đoạn, chúng bao gồm:


Tìm hiểu nghiệp vụ và dữ liệu



Chuẩn bị dữ liệu



Mô hình hóa dữ liệu



Hậu xử lý và đánh giá mô hình



Triển khai tri thức
Tham gia chính trong quá trình KPDL là các nhà tư vấn và phát triển chuyên

nghiệp trong lĩnh vực KPDL.
Trong giai đoạn Tìm hiểu nghiệp vụ và dữ liệu, nhà tư vấn nghiên cứu kiến thức
về lĩnh vực sẽ áp dụng, bao gồm các tri thức cấu trúc về hệ thống và tri thức, các nguồn
dữ liệu hiện hữu, ý nghĩa, vai trò và tầm quan trọng của các thực thể dữ liệu.
Việc nghiên cứu này được thực hiện qua việc tiếp xúc giữa nhà tư vấn và người dùng.
Khác với phương pháp giải quyết vấn đề truyền thống khi bài toán được xác định
chính xác ở bước đầu tiên, nhà tư vấn tìm hiểu các yêu cầu sơ khởi của người dùng và
đề nghị các bài toán tiềm năng có thể giải quyết với nguồn dữ liệu hiện hữu. Tập các

40
bài toán tiềm năng được tinh chỉnh và làm hẹp lại trong các giai đoạn sau. Các nguồn
và đặc tả dữ liệu có liên quan đến tập các bài toán tiềm năng cũng được xác định.
Giai đoạn Chuẩn bị dữ liệu sử dụng các kỹ thuật tiền xử lý để biến đổi và cải
thiện chất lượng dữ liệu để thích hợp với những yêu cầu của các giải thuật học. Phần
lớn các giải thuật KPDL hiện nay chỉ làm việc trên một tập dữ liệu đơn và phẳng, do
đó dữ liệu phải được trích xuất và biến đổi từ các dạng cơ sơ dữ liệu phân bố, quan hệ
hay hướng đối tượng sang dạng cơ sở dữ liệu quan hệ đơn giản với một bảng dữ liệu.
Các giải thuật tiền xử lý tiêu biểu bao gồm:


Xử lý dữ liệu bị thiếu hoặc mất: các dữ liệu bị thiếu sẽ được thay thế bởi các giá
trị thích hợp.



Khử sự trùng lặp: các đối tượng dữ liệu trùng lặp sẽ bị loại bỏ đi. Kỹ thuật này
không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu.



Giảm nhiễu: nhiễu và các đối tượng tách rời (outlier) khỏi phân bố chung sẽ bị
loại đi khỏi dữ liệu.



Chuẩn hóa: miền giá trị của dữ liệu sẽ được chuẩn hóa.



Rời rạc hóa: các dữ liệu số sẽ được biến đổi ra các giá trị rời rạc.



Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có.



Giảm chiều: các thuộc tính chứa ít thông tin sẽ được loại bỏ bớt.
Các bài toán được giải quyết trong giai đoạn Mô hình hóa dữ liệu. Các giải thuật

học sử dụng các dữ liệu đã được tiền xử lý trong giai đoạn hai để tìm kiếm các qui tắc
ẩn và chưa biết. Công việc quan trọng nhất trong giai đoạn này là lựa chọn kỹ thuật
phù hợp để giải quyết các vấn đề đặt ra. Các bài toán được phân loại vào một trong
những nhóm bài toán chính trong KPDL dựa trên đặc tả của chúng.
Các mô hình kết quả của giai đoạn ba sẽ được hậu xử lý và đánh giá trong giai
đoạn 4. Dựa trên các đánh giá của người dùng sau khi kiểm tra trên các tập thử, các
mô hình sẽ được tinh chỉnh và kết hợp lại nếu cần. Chỉ các mô hình đạt được mức yêu
cầu cơ bản của người dùng mới đưa ra triển khai trong thực tế. Trong giai đoạn này,
các kết quả được biến đổi từ dạng học thuật sang dạng phù hợp với nghiệp vụ và dễ
hiểu hơn cho người dùng.

41
Trong giai đoạn cuối, Triển khai tri thức, các mô hình được đưa vào những hệ
thống thông tin thực tế dưới dạng các module hỗ trợ việc đưa ra quyết định.
Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình KPDL là rất quan trọng
cho việc nghiên cứu trong KPDL. Một giải thuật trong KPDL không thể được phát
triển độc lập, không quan tâm đến bối cảnh áp dụng mà thường được xây dựng để giải
quyết một mục tiêu cụ thể. Do đó, sự hiểu biết bối cảnh vận dụng là rất cần thiết. Thêm
vào đó, các kỹ thuật được sử dụng trong các giai đoạn trước có thể ảnh hưởng đến hiệu
quả của các giải thuật sử dụng trong các giai đoạn tiếp theo.
Trong KPDL, các bài toán có thể phân thành bốn loại chính. Bài toán thông dụng
nhất trong KPDL là Phân lớp (Classification). Với một tập các dữ liệu huấn luyện cho
trước và sự huấn luyện của con người, các giải thuật phân loại sẽ tạo ra bộ phân loại
(classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại) đã
được xác định trước. Nhận dạng cũng là một bài toán thuộc kiểu Phân loại. Với mô
hình học tương tự như bài toán Phân loại, lớp bài toán Dự đoán (Prediction) sẽ tạo ra
các bộ dự đoán. 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 cho hàm cần dự đoán. Bài toán tiêu biểu trong nhóm này là
dự đoán giá sản phẩm để lập kế hoạch trong kinh doanh. Các giải thuật 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ư
nhóm các món hàng thường được mua kèm với nhau trong siêu thị. Các kỹ thuật Phân
cụm (Clustering) sẽ 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.

3.2 Các thuật toán phát hiện bất thường trong khai pháp dữ liệu
Các phương pháp phát hiện xâm nhập truyền thống chủ yếu dựa vào những hiểu
biết về những dấu hiệu của các vụ tấn công đã biết. Các sự kiện cần theo dõi sẽ được
đối chiếu với các ký hiệu để phát hiện các cuộc xâm nhập. Các phương pháp này trích
xuất đặc điểm từ những chuỗi dữ liệu mạng và phát hiện ra xâm nhập bằng cách so
sánh những giá trị đặc điểm với 1 dãy các ký hiệu tấn công được cung cấp bởi các
chuyên gia. Cơ sở dữ liệu dấu hiệu sẽ được chỉnh sửa bằng tay mỗi khi chúng ta tìm
được 1 xâm nhập mới. Điểm hạn chế rõ rệt của các phương pháp dựa trên dấu hiệu là

42
chúng không thể phát hiện các cuộc tấn công mới không có trong cơ sở dữ liệu. So với
các phương pháp truyền thống thì Khai phá dữ liệu mang lại nhiều điểm cải tiến rõ rệt:
khai phá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ,
biến đổi liên tục, đặc biệt là phương pháp này đòi hỏi mức độ sử dụng các chuyên gia
không quá thường xuyên. Các ưu điểm này đem lại cho phương pháp phát hiện xâm
nhập trái phép bằng Khai phá dữ liệu khả năng xử lý khối lượng dữ liệu lớn, có thể sử
dụng trong các hệ thống thời gian thực.

3.2.1 Đánh giá chung về hệ thống
Các kỹ thuật phát hiện xâm nhập dựa trên khai phá dữ liệu thường được chia làm
2 loại: phát hiện dựa trên dò sự lạm dụng và phát hiện bất thường. Trong phát hiện dò
sự lạm dụng, các mẫu trong tập dữ liệu được gán nhãn là “bình thường” hoặc “bất
thường” và một thuật toán học được áp dụng cho toàn bộ các dữ liệu đã gán nhãn. Kỹ
thuật này sẽ được sử dụng trên các tập dữ liệu đầu vào khác nhau để phát hiện tấn
công. Không giống với các hệ thống phát hiện xâm nhập dựa trên dấu hiệu, các mô
hình của phương pháp dò sự lạm dụng được tạo ra một cách tự động và có thể tinh vi
và chính xác hơn so với các dấu hiệu được tạo ra một cách thủ công. Một ưu điểm nổi
bật của phương pháp phát hiện dò sự lạm dụng là phát hiện ra các hành vi tấn công đã
biết và các biến thể của chúng có tính chính xác cao. Tuy nhiên nhược điểm dễ thấy
của phương pháp này là khó có thể phát hiện các hành vi tấn công mang các đặc điểm
đặc biệt chưa từng biết đến cũng như nó đòi hỏi phải gán nhãn bình thường hoặc bất
thường việc này mất rất nhiều thời gian của các chuyên gia. Trong khi đó, phương
pháp phát hiện bất thường xây dựng những mô hình về biểu hiện bất và đánh dấu
những nghi vấn trong tập dữ liệu. Vì vậy kỹ thuật này có khả năng xác định các dạng
xâm nhập mới chưa được biết đến trước đó. Mặc dù chúng ta có thể nhận thấy sự ưu
việt, mạnh mẽ của phương pháp này, nhưng chúng vẫn ẩn chứa một tỷ lệ báo động
nhầm nhất định. Điều này là do các biểu hiện hệ thống chưa từng thấy trước đó (nhưng
vẫn hợp lệ) bị liệt vào danh sách các bất thường và bị đánh dấu như các hành vi tiềm
ẩn sự xâm nhập.
Nói chung chúng ta thường gặp 2 loại tấn công vào hệ thống [5] : loại tấn công
liên quan đến các kết nối đơn lẻ và loại tấn công liên quan đến nhiều kết nối(bursty

43
attacks – tấn công bùng nổ). Giả sử trong 1 giao thông mạng tại 1 thời điểm nào đó cho
trước, mỗi kết nối được gán 1 giá trị và được biểu thị theo 1 đường nằm dọc (hình
3.1). Giá trị này sẽ tương ứng với khả năng mà kết nối mạng bị xâm nhập.

Hình 3.1 : Gán giá trị để lượng hóa các cuộc tấn công trên sơ đồ.
Đại lượng đo lường phát sinh đầu tiên tương ứng với phần diện tích bề mặt giữa
đường tấn công thực sự và đường tấn công giả định (bề mặt được gạch chéo \\\ như
minh họa ở hình 3.1 – surface area). Nếu diện tích bề mặt dưới đường tấn công thực
càng nhỏ thì thuật toán phát hiện xâm nhập càng hiệu quả. Tuy nhiên bản thân diện tích
bề mặt chưa đủ để nắm bắt đầy đủ những khía cạnh khác của thuật toán phát hiện xâm
nhập (ví dụ có bao nhiêu kết nối liên quan đến 1 tấn công, hay mất bao nhiêu thời gian
để thuật toán xử lý phát hiện xâm nhập, vv… ). Vì vậy, các đại lượng đo lường khác có
thể được dùng giúp mổ tả rõ ràng các vấn đề. Chúng được định nghĩa như sau:


Tỉ lệ phát hiện tấn công bùng nổ (BRD) được xác định cho mỗi cuộc tấn công
bùng nổ và nó biểu thị tỉ số giữa tổng số kết nối mạng mang tính xâm nhập n di có
điểm số cao hơn ngưỡng xác định trước trong tấn công mang tính bùng nổ và
tổng số những kết nối mạng mang tính xâm nhập trong các điểm đầu cuối tấn
công (Hình 3.1)



Thời gian phản ứng (tresponse)là khoảng thời gian bắt đầu từ khi xuất hiện tấn
công đến khi kết nối mạng đầu tiên tìm được giá trị cao hơn ngưỡng đã định
trước
(xem tresponse phản ứng ở hình 3.1)

44

3.2.2 Phần tử dị biệt
Chúng ta biết rằng trong Khai phá dữ liệu có một lớp bài toán là “phát hiện phần
tử dị biệt – Outlier Detection”. Nhiệm vụ của lớp bài toán này là tìm ra các phần tử có
đặc điểm khác biệt nhất trong một tập dữ liệu đã cho. Nếu ta coi dữ liệu mạng cần
quan sát là một tập dữ liệu cho bài toán phát hiện phần tử dị biệt, các phần tử là các
hành động bình thường trên mạng thì các phần tử dị biệt có thể tương ứng với các hành
động tấn công. Như vậy chúng ta có thể đưa bài toán phát hiện bất thường về bài toán
phát hiện phần tử dị biệt trong Khai phá dữ liệu.

Hình 3.2 : Minh họa bài toán phát hiện phần tử dị biệt.
Hầu hết các phương pháp tiếp cận phát hiện xâm nhập đã biết đều cố gắng xây
dựng 1 loại mô hình trên các dữ liệu thông thường và sau đó kiểm tra mức độ thích
hợp của những dữ liệu mới với mô hình đó từ đó rút ra kết luận bất thường là những
mẫu chưa từng được quan sát trước đó. Với cách tiếp cận theo phương pháp phát hiện
phần tử dị biệt thì bất thường là mẫu có nhiều khác biệt nhất so với các phần tử còn lại.
Dị biệt (Outlier) là gì? Trong cuốn sách “Statistical Design and Analysis of
Experiments”, các tác giả Mason, Gunst, và Hess định nghĩa outlier như sau: “dị biệt là
các giá trị cực so với các giá trị khác được quan sát trong cùng một điều kiện. Outlier
có thể là một giá trị đơn lẻ, nhưng cũng có thể là giá trị từ hai hay nhiều biến số.”
Vấn đề ở đây là thế nào là “giá trị cực”? Thật là khó trả lời. Không có câu trả lời
định tính, nhưng có thể có câu trả lời định lượng. Có nhiều cách để đánh giá xem một
số liệu có phải là outlier hay không.

45
Trong kỹ thuật phát hiện điểm dị biệt dựa trên số liệu thống kê, các điểm dữ liệu
được mô hình hóa bằng 1 bảng phân phối ngẫu nhiên. Các điểm này có được coi là
thuộc vùng biên hay không sẽ phụ thuộc vào mối quan hệ của chúng với mô hình. Tuy
nhiên, với mật độ lớn và ngày càng tăng, việc ước lượng bảng phân phối đa chiều của
các điểm này ngày càng trở nên phức tạp và thiếu chính xác. Những thuật toán phát
hiện dị biệt mà chúng ta sử dụng sẽ xem xét dưới đây lại dựa vào việc tính toán các
khoảng cách không gian giữa các điểm và tính toán mật độ của các điểm lân cận.

3.2.2.1 Phương pháp điểm lân cận gần nhất (NN)
k

Phương pháp này dựa trên khoảng cách D (O) [5] của điểm lân cận gần nhất thứ
k

k tính từ gốc/ điểm O. Ví dụ những điểm có các giá trị D (O) lớn hơn thường có các
điểm lân cận thưa thớt và chúng có khả năng là điểm dị biệt hơn những điểm nằm
trong các cụm dày đặc. Trong phương pháp này, chúng ta chọn k = 1 và xác định 1
“ngưỡng xem xét” để quyết định liệu điểm đó có phải là 1 dị biệt hay không. Ngưỡng
này chỉ dựa trên các dữ liệu luyện tập và nó được giới hạn trong 2%. Đối với toàn bộ
các điểm dữ liệu trong bảng dữ liệu(giả sử chúng đều là dữ liệu bình thường), ngưỡng
đó được tính dựa trên khoảng cách giữa chúng tới những điểm lân cận gần nhất, sau đó
được sắp xếp lại. Những điểm dữ liệu kiểm tra nào có khoảng cách tới các điểm lân
cận gần nhất lớn hơn ngưỡng đã định sẽ được xếp vào các dữ liệu dị biệt.

Hình 3.3 : Minh họa phương pháp điểm lân cận gần nhất phát hiện phần tử dị biệt.

46

3.2.2.2 Phương pháp pháp hiện điểm dị biệt dựa trên khoảng cách
Mahalanobis
Như đã biết dữ liệu để đào tạo trong mô hình tương ứng với các hành vi bình
thường từ đó có thể tính ra được Trung vị và Độ lệch chuẩn của dữ liệu bình thường.
Khoảng cách Mahalanobis giữa điểm dữ liệu p và Trung vị µ được tính như sau:

Trong đó tổng Σ là ma trận hiệp phương sai của các dữ liệu bình thường. Tương
tự như phương pháp trước, ngưỡng sẽ được tính dựa trên những điểm có khoảng cách
gần nhất tính từ giá trị của các dữ liệu bình thường và nó bằng 2% trong tổng số các
điểm. Mọi điểm dữ liệu kiểm tra có khoảng cách tới trung vị của các dữ liệu đào tạo
bình thường lớn hơn ngưỡng đã định sẽ được xếp vào dạng phần tử dị biệt.
Việc tính khoảng cách theo hệ mét Ơclit chuẩn không phải lúc nào cũng chính
xác, nhất là khi các dữ liệu được phân bố giống như hình minh họa dưới đây. Bằng
cách sử dụng hệ mét Ơclit, khoảng cách giữa p2 và điểm lân cận gần nó nhất lớn hơn
khoảng cách từ điểm p1 đến điểm lân cận gần nó nhất. Rõ ràng trong trường hợp này,
phương pháp dựa trên khoảng cách Mahalanobis sẽ hiệu quả hơn phương pháp hệ mét
Ơ-cơ-lit. [5]

Hình 3.4 : Ưu điểm của phương pháp dựa trên khoảng cách Mahalanobis khi tính các
khoảng cách.

47

3.2.2.3 Thuật toán LOF
Ý tưởng chủ đạo của phương pháp này là gắn cho mỗi mẫu dữ liệu 1 mức độ dị
biệt nào đó, được gọi là nhân tố dị biệt địa phương ( Local Outlier Factor). Như vậy
đối với từng mẫu, mật độ phần tử lân cận đóng một vai trò đặc biệt. Một mẫu không
phải được phân loại là “dị biệt” hay “không dị biệt” mà được đánh giá là mức độ “dị
biệt” như thế nào, tùy theo giá trị LOF của mẫu đó. [7]
Ký hiệu k-dis(x) là khoảng cách đến phần tử lân cận thứ k của mẫu x
Ký hiệu Nk-dis(x) là số lượng phân tử lân cận của x có khoảng cách tới x bé hơn
k-dis(x).
Khoảng cách tiếp cận trung bình của một mẫu x đối với một mẫu y, ký hiệu là R –
dis(x,y) được tính như sau:
R – dis(x,y) = max(k – dis(x),d(x,y))

Hình 3.5 : Ví dụ khoảng cách R-dis (reach-dist)
Chẳng hạn có 7 phần tử như hình 3.5, R – dis(p1,O) và R – dis(p2,O) được tính
trong trường hợp k = 3.
Ta có thể tính được giá trị LOF của một phần tử p như sau:

48
Với : Hàm lrd( ) chỉ mật độ tiếp cận địa phương của một mẫu, và được tính dựa
trên tính nghịch đảo của R – dis(p,o) và MnPts ( số lượng mẫu tối thiểu) các phần tử
lân cận của mẫu p.
Thuật toán tính LOF cho các mẫu dữ liệu được thực hiện qua nhiều bước:


Tính k – dis(p) cho mẫu p



Tính R – dis(p,o) cho mẫu o



Tính hàm lrd( )



Tính LOF(p)
Chúng ta sẽ áp dụng thuật toán trên cho một ví dụ nhỏ cụ thể như sau : Gọi D là

cơ sở dữ liệu có 4 đối tượng ký hiệu lần lượt là P1, P2, P3 và P4 có các khoảng cách
P1P4 = 4, P1P3 = 3, P1P4 = 7, P2P3 = 5, P2P4 = 6 và P3P4 = 8 thu được nhờ một hàm
tính khoảng cách đã biết và xét với MinPts(k) = 2. [8]
Bước 1: tính kdistance của p:
Mục đích tính kdistance của p là xác định các lận cận của p. Định nghĩa đơn giản,
kdistance của p là khoảng cách lớn nhất từ đối tượng p khi mọi đối tượng trong tập dữ
liệu được xem xét có ít nhất k lân cận. kdistance của p được ký hiệu là kdistance(p) và
thu được bằng cách :


Đầu tiên, tính tất cả các khoảng cách của tất cả các đối tượng từ P1 qua một
hàm tính khoảng cách. Các khoảng cách P1P2 = 4, P1P3 = 3, P1P4 = 7



Tiếp theo, chọn ra 2 khoảng cách nhỏ nhất không trùng nhau từ P1. Tất cả các
khoảng cách từ P1 được sắp xếp và 2 khoảng cách nhỏ nhất được chọn.
Min(P1P2=4,P1P3=3,P1P4=7)



Cuối cùng, giá trị lớn nhất trong 2 khoảng cách nhỏ nhất được lựa chọn ở trên là
kdistance của P1. Do đó kdistance(P1) = max(3,4), suy ra kdistance(P1) = 4.
kdistance của các đối tượng còn lại được tính tương tự.
Bước 2: Tìm lân cận kdistance của p:
Lân cận kdistance của p được ký hiệu là ( Nk(p) ), chứa tất cả các đối tượng với

khoảng cách không lớn hơn kdistance(p). Cơ sở cho việc tính ra lân cận kdistance là
tìm các lân cận gần nhất của mỗi đối tượng. Ví dụ lân cận kdistance của P1 bao gồm

49
P2 và P3 từ kdistance(P1) = 4 và khoảng cách của P2, P3 từ P1 không lớn hơn 4( P1P2
= 4, P1P3 = 3).
Bước 3: Tính khoảng cách có thể tới được của p ( reachability distance)
Khoảng cách có thể tới được của đối tượng p với đối tượng o là khoảng cách lớn
hơn trong 2 khoảng cách distance(p,o) và kdistance(o). reachdistk(p,o) =
max{kdistance(o), distance(p,o)}. Mục đích là đảm bảo cho tất cả các đối tượng trong
một lân cạn là đồng nhất. Thêm vào đó, LOF trở nên ổn định khi các đối tượng trong
một lân cận là đồng nhất mặc dù MinPts(k) thay đổi. Sự thay đổi của khoảng cách có
thể tới được (reachability distance) có thể điều khiển bằng việc chọn giá trị k lớn.
Khoảng cách có thể tới của P1 được tính toán theo các bước: Đầu tiên, xác định lân
cận kdistance của P1 ( Nk(P1) = (P2,P3)). Khoảng cách có thể tới của P1 được tính
cùng mối liên hệ tới P2 và P3 khi chúng là lân cận của P1. Với P2 trong lân cận của
P1: reachdistk(P1,P2) = max(kdistance(P2),distance(P1,P2)) = max(5,4) =5. Với P3
trong lân cận của P1: reachdistk(P1,P3) = max(kdistance(P3),distance(P1,P3)) =
max(5,3) =5. Do đó reachdistk(P1,o) = (5,5) nó bao gồm các khoảng cách tới được của
các lân cận của P1.
Bước 4: Tính mật độ tới được địa phương của p - local reachbility density
Mật độ tới được địa phương của một đối tượng p, được ký hiệu là lrdk(p) là
nghịch đảo của giá trị trung bình các khoảng cách tới được từ lân cận kdistance của p.
Nó cung cấp một cách so sánh giữa các khoảng cách tới được.

Mật độ tới được địa phương của P1 được tính như sau : lrdk(P1) = 1/{(5+5)/2} =
2/10, khi (5,5) là khoảng cách tới được địa phương của P1 và số các lân cận của
kdistance là 2. Ta cũng có lrdk(P2) = 2/9, lrdk(P3) = 2/9, lrdk(P4) = 2/13.
Bước 5: Nhân tố dị biệt địa phương của p
Nhân tố dị biệt địa phương là tỷ số đánh giá một đối tượng là dị biệt hoặc không
trong lân cận của nó. Nhân tố dị biệt địa phương của một đối tượng được ký hiệu là