← 10. 패턴·세분화

DBSCAN과 HDBSCAN

군집 수를 정하지 않고, 점이 모인 정도로 구역을 찾습니다.

eps·min_samples핵심점과 노이즈계층적 밀도군집 안정성

eps=150m · min_samples=8군집 A군집 B군집 C노이즈GPS 좌표 2,400개

야생동물의 GPS 추적 기록을 지도에 표시하면 어떤 지역에는 위치 점들이 빽빽하게 모이고, 다른 지역에는 점들이 드문드문 나타납니다. 연구자는 이러한 기록을 이용해 동물들이 자주 머무는 활동 구역을 찾으려고 합니다.

그러나 활동 구역이 원형으로 모여 있다는 보장은 없고, 산맥이나 계곡을 따라 길게 형성될 수도 있습니다. 서로 떨어진 몇 개의 관측값은 이동 중에 기록된 위치일 가능성도 있습니다.

이처럼 점들이 밀집한 영역을 군집으로 보고, 밀도가 낮은 위치를 별도로 구분하는 대표적인 방법이 DBSCAN과 HDBSCAN입니다. 두 방법은 군집 수를 미리 지정하지 않아도 되며, K-Means가 잘 포착하지 못하는 불규칙한 모양의 군집을 찾는 데 유용합니다. 다만 밀도를 정의하는 방식과 다양한 밀도를 처리하는 능력에는 차이가 있습니다.

이번 글에서는 두 알고리즘의 작동 원리와 주요 설정, GPS 분석 예제, 노이즈와 군집 안정성 해석, 실루엣 점수의 한계, 실제 연구에서 주의할 점까지 살펴보겠습니다.

SECTION 1

밀도 기반 군집분석이란 무엇인가요?

밀도 기반 군집분석은 관측값이 충분히 가까이 모여 있는 지역을 군집으로 정의합니다.

다른 군집과 분리된 밀집 영역은 각각 별도의 군집으로 분류하고, 주변에 충분한 이웃이 없는 관측값은 노이즈로 표시할 수 있습니다. 여기서 노이즈는 잘못된 데이터라는 의미가 아닙니다. 선택한 밀도 기준으로 어느 군집에도 속하지 않았다는 뜻입니다.

계곡먹이터휴식지노이즈
밀집 구역과 드문 위치

예를 들어 야생동물이 먹이터 주변에 오래 머물렀다면 GPS 좌표가 좁은 범위에 많이 기록될 수 있습니다. 반대로 먹이터 사이를 이동하는 동안 기록한 좌표는 비교적 드물게 나타납니다. 밀도 기반 알고리즘은 이처럼 공간상의 점 분포가 다른 상황을 구분하는 데 활용할 수 있습니다.

다만 GPS 위치가 많다는 사실만으로 반드시 선호하는 서식지라고 결론 내릴 수는 없습니다. 추적 장치의 기록 주기와 개체별 관측 시간, 이동속도도 점의 밀도에 영향을 주기 때문입니다.

SECTION 2

K-Means와 무엇이 다른가요?

K-Means는 군집 수 K를 먼저 정하고 각 관측값을 가장 가까운 중심점에 할당하는 방법입니다.

따라서 대체로 중심을 기준으로 묶이는 군집을 찾는 데 적합하며, 모든 관측값을 어느 한 군집에 배정합니다.

K-Means두 호가 잘림DBSCAN모양대로 묶임
K-Means와 밀도 기반 군집 비교

반면 DBSCAN과 HDBSCAN은 점들이 모인 지역의 밀도를 중심으로 군집을 정의합니다. 구불구불한 계곡을 따라 형성된 활동 구역이나 주변과 분리된 작은 밀집 영역도 찾을 수 있습니다. 군집 밖의 점을 노이즈로 표시할 수도 있습니다.

비교 항목K-MeansDBSCANHDBSCAN
군집 수 사전 지정필요불필요불필요
군집 모양중심 기반, 비교적 단순한 형태에 유리불규칙한 형태 가능불규칙한 형태 가능
밀도 차이직접 모델링하지 않음하나의 거리 기준에 민감여러 밀도 수준을 계층적으로 검토
노이즈 표시기본적으로 없음가능가능
주요 설정n_clusterseps, min_samplesmin_cluster_size, min_samples

HDBSCAN이 항상 더 좋은 것은 아닙니다. 데이터의 밀도 구조가 비교적 일정하고 거리 기준을 설명하기 쉬운 상황이라면 DBSCAN으로도 충분할 수 있습니다.

SECTION 3

실제 사례: 산악 지역의 야생동물 GPS 추적 기록

한 생태 연구팀이 산악 지역의 야생동물 20개체에 GPS 추적기를 부착해 8주 동안 위치를 기록했다고 가정하겠습니다.

데이터 품질 검사를 마친 뒤 시간 간격을 일정하게 맞춘 유효 좌표 2,400개를 분석에 사용했습니다. 연구자는 반복적으로 이용하는 공간적 활동 구역을 확인하려고 합니다.

항목예제 설정
관측 단위일정한 시간 간격으로 기록한 GPS 위치
데이터 수좌표 2,400개
개체 수20개체
기간8주
분석 변수동서·남북 위치 좌표(미터 단위로 투영)
분석 목적주요 밀집 구역과 상대적으로 드문 위치 식별

이 예제에서 군집은 GPS 좌표가 밀집한 공간적 위치 집합이지 동물 개체의 유형이 아닙니다. 또한 하나의 개체가 여러 군집에 걸쳐 이동할 수 있습니다. 특정 개체의 행동을 분석하려면 시간 순서와 개체 ID를 추가로 고려해야 합니다.

SECTION 4

DBSCAN은 어떻게 작동하나요?

DBSCAN은 Density-Based Spatial Clustering of Applications with Noise의 약자로, 일정 거리 이내에 충분한 이웃이 있는지를 바탕으로 밀집 영역을 찾습니다.

핵심 설정은 eps와 min_samples입니다. eps는 한 관측값의 이웃으로 인정할 최대 거리를 의미합니다. min_samples는 핵심점(Core Point)으로 인정하기 위한 이웃 수의 기준이며, 일반적인 구현에서는 자기 자신을 포함해 계산합니다.

핵심점들이 서로 도달 가능한 범위에서 연결되면 같은 군집을 이루고, 핵심점 주변에 있지만 핵심점은 아닌 관측값은 경계점(Border Point)이 됩니다.

핵심점eps 안에 이웃 8개 이상경계점핵심점 범위 안 · 이웃 부족노이즈어느 범위에도 없음
핵심점·경계점·노이즈
점 유형의미
핵심점eps 이내에 min_samples 이상의 관측값이 존재하는 점
경계점핵심점은 아니지만 핵심점의 이웃 범위에 포함되는 점
노이즈어느 군집에도 배정되지 않은 점

예를 들어 eps=150m, min_samples=8이라면 한 GPS 위치를 중심으로 반경 150m 이내에 자신을 포함해 최소 8개 좌표가 있는지 확인합니다. 군집은 이 조건을 만족하는 핵심점들의 연결을 바탕으로 형성됩니다.

SECTION 5

DBSCAN의 주요 설정은 어떻게 정하나요?

eps가 너무 작으면 실제로 연결된 활동 구역도 여러 군집으로 쪼개지고 노이즈가 많아질 수 있습니다.

반대로 너무 크면 떨어진 활동 구역들이 하나의 군집으로 합쳐질 수 있습니다. min_samples가 커지면 핵심점으로 인정되는 기준이 엄격해져 작은 밀집 영역이 군집으로 남기 어려워집니다.

eps 작음쪼개짐 · 노이즈↑eps 적당세 구역 그대로eps 큼구역이 합쳐짐
eps 크기에 따른 결과 변화

거리 기반 분석이므로 좌표계도 중요합니다. 위도와 경도를 그대로 유클리드 거리로 계산하면 도 단위를 미터처럼 잘못 해석할 수 있습니다. 지역에 적합한 투영좌표계로 변환하거나, 위경도 자료에 알맞은 구면거리(Haversine) 등을 사용해야 합니다.

0150300450eps 후보 · 꺾이는 지점거리(m)거리순 정렬 →
k-거리 도표

eps를 정하는 보조 방법으로 k-최근접 이웃 거리 도표를 사용할 수 있습니다. 각 점에서 k번째 가까운 이웃까지의 거리를 정렬해 거리 증가가 급격해지는 구간을 참고하는 방식입니다.

다만 도표의 꺾이는 지점이 항상 뚜렷하지 않고, 이를 기계적으로 적용해서는 안 됩니다. 여러 설정에서 군집의 안정성과 생태학적 해석 가능성을 함께 검토하는 것이 좋습니다.

SECTION 6

DBSCAN 분석 결과는 어떻게 읽나요?

2,400개 GPS 좌표에 DBSCAN을 적용했다고 가정하겠습니다.

분류좌표 수비율
군집 A82034.2%
군집 B61025.4%
군집 C49020.4%
노이즈48020.0%
합계2,400100.0%

이 결과에서 세 개의 밀집 영역이 식별되었고, 전체 좌표의 20%는 선택한 밀도 기준에서 군집에 배정되지 않았습니다. 군집 A가 가장 많은 좌표를 포함하지만, 이를 곧바로 가장 넓은 서식지나 가장 선호하는 지역이라고 해석할 수는 없습니다. 같은 장소에 오래 머무를수록 좌표가 많이 기록될 수 있기 때문입니다.

군집의 크기와 모양, 개체별 이용 빈도, 시간대별 방문 패턴을 추가로 확인하면 공간적 결과에 더 실질적인 의미를 부여할 수 있습니다.

SECTION 7

HDBSCAN은 무엇이 다른가요?

HDBSCAN은 DBSCAN을 여러 밀도 수준에서 확장한 계층적 접근입니다.

하나의 고정된 eps 값을 기준으로 모든 군집을 찾는 대신 밀도 변화에 따라 형성되는 군집 구조를 살펴보고 비교적 안정적인 군집을 선택합니다.

단일 epsDBSCAN여러 밀도 수준HDBSCAN먹이터휴식지노이즈
밀도가 다른 영역에서의 차이

예를 들어 GPS 좌표가 매우 빽빽한 먹이터와 상대적으로 느슨하게 분포한 휴식지가 함께 있다면 단일 거리 기준의 DBSCAN으로는 두 영역을 동시에 적절하게 찾기 어려울 수 있습니다. HDBSCAN은 이러한 밀도 차이가 있는 자료에 유리할 수 있습니다.

다만 HDBSCAN 역시 거리 정의와 표본 밀도, 최소 군집 크기에 영향을 받습니다. 또한 계층에서 어떤 군집을 선택할지에 따라 결과가 달라질 수 있으므로 결과의 안정성을 확인해야 합니다.

SECTION 8

HDBSCAN의 핵심 설정은 무엇인가요?

min_cluster_size는 군집으로 유지하기 위한 최소 규모를 조정하는 주요 설정입니다.

값이 작으면 작은 밀집 영역도 군집으로 남을 수 있지만, 값이 크면 작은 영역은 더 큰 군집에 흡수되거나 노이즈가 될 수 있습니다.

HDBSCAN 설정의 효과

min_samples는 국소적인 밀도를 얼마나 엄격하게 판단할지를 조정합니다. 일반적으로 값이 클수록 보수적으로 군집을 찾고 노이즈가 늘어날 수 있습니다. 일부 구현에서는 이 값을 지정하지 않았을 때 min_cluster_size와 같게 설정하므로, 두 설정의 효과를 비교하려면 명시적으로 지정하는 것이 좋습니다.

설정주요 역할너무 크게 설정하면
min_cluster_size유지할 군집의 최소 규모작은 활동 구역이 사라질 수 있음
min_samples국소 밀도 판단의 보수성노이즈가 늘고 군집이 줄어들 수 있음
거리 척도점 사이의 유사성 정의척도에 따라 전혀 다른 구조가 나올 수 있음

일부 구현에서는 cluster_selection_method로 eom 또는 leaf를 선택할 수 있습니다. eom은 상대적으로 안정적인 군집을 선택하는 기본 접근이며, leaf는 계층의 더 세밀한 군집을 제공할 수 있습니다.

SECTION 9

HDBSCAN 결과는 어떻게 해석하나요?

같은 좌표에 HDBSCAN을 적용했다고 가정하겠습니다.

알고리즘과 설정이 바뀌므로 DBSCAN과 결과가 달라질 수 있습니다.

분류좌표 수비율
군집 178032.5%
군집 260025.0%
군집 342017.5%
군집 430012.5%
노이즈30012.5%
합계2,400100.0%
DBSCAN군집 3노이즈 20.0%480개HDBSCAN군집 4노이즈 12.5%300개더 많은 군집 · 더 적은 노이즈 ≠ 더 정확함
DBSCAN과 HDBSCAN 결과 비교

이 예제에서는 네 개의 군집과 300개의 노이즈 좌표가 나타났습니다. DBSCAN보다 군집이 하나 더 많고 노이즈 비율은 낮지만, 이 사실만으로 HDBSCAN 결과가 더 정확하다고 판단할 수는 없습니다. 알고리즘별 군집의 실제 위치와 연결 형태, 파라미터 민감도 등을 확인해야 합니다.

HDBSCAN 구현에 따라 군집 소속 강도(Membership Strength)와 군집 안정성(Stability) 관련 정보를 제공할 수 있습니다. 소속 강도가 낮은 좌표는 군집의 경계에 있거나 소속이 상대적으로 불확실한 관측값일 수 있습니다. 그러나 이러한 점수를 동물이 해당 공간을 선호할 확률로 직접 해석해서는 안 됩니다.

SECTION 10

군집의 품질은 어떻게 평가하나요?

밀도 기반 군집분석에서는 하나의 점수로 군집 품질을 결정하기 어렵습니다.

실루엣 계수(Silhouette Score)는 군집 내부의 응집성과 다른 군집과의 분리를 평가할 수 있지만, 불규칙한 모양의 군집이나 노이즈가 많은 자료에서 불리하거나 오해를 낳을 수 있습니다.

따라서 군집 개수뿐 아니라 공간상의 모양과 연결 상태, 노이즈 비율, 설정을 조금 변경했을 때 군집이 유지되는지를 함께 확인해야 합니다. 밀도 기반 군집을 평가하도록 설계된 DBCV(Density-Based Clustering Validation) 같은 지표를 참고할 수도 있습니다.

평가 관점확인할 내용
군집 분리서로 다른 활동 구역이 공간적으로 구별되는가?
군집 안정성설정과 표본이 조금 달라져도 핵심 구조가 유지되는가?
노이즈 비율많은 좌표가 제외된 이유를 설명할 수 있는가?
생태학적 의미지형·먹이원·관찰 시점 등과 일치하는가?
반복측정 구조특정 개체나 기록 구간이 결과를 지배하지 않는가?

실제로 활동 구역을 연구한다면 일부 개체 또는 특정 날짜를 제외한 뒤 군집이 얼마나 달라지는지 살펴보는 민감도 분석도 유용합니다.

SECTION 11

DBSCAN과 HDBSCAN 중 어떤 방법을 선택할까요?

밀집 영역의 밀도가 비교적 일정하고 관심 있는 거리 기준을 명확하게 설명할 수 있다면 DBSCAN이 좋은 출발점입니다.

예를 들어 위치 반경 150m 안에 충분한 관측값이 모이는 구역을 찾는 것이 분석 목적이라면 DBSCAN의 설정과 결과를 직관적으로 설명하기 쉽습니다.

반면 매우 밀집한 영역과 느슨하게 밀집한 영역이 섞여 있고 하나의 eps로 적절한 결과를 얻기 어렵다면 HDBSCAN을 검토할 수 있습니다. 특히 군집의 계층 구조와 상대적 안정성을 살펴보고 싶은 경우에도 유용합니다.

어느 방법이든 분석 전에 거리 척도와 관측 간격을 정하고, 다양한 설정에서 결과가 크게 달라지지 않는지 확인하는 것이 중요합니다. 분석 목적이 개체의 행동 상태 구분인지 공간적 체류 영역 탐색인지에 따라서도 적합한 방법이 달라질 수 있습니다.

SECTION 12

분석에서 주의해야 할 점

노이즈를 데이터 오류로 간주하지 않아야 합니다.

노이즈로 표시된 좌표는 동물이 실제로 이동한 장소일 수 있습니다. 자동으로 삭제하기 전에 기록 오류와 정상적인 이동 기록을 구분해야 합니다.

좌표 간 거리를 올바르게 계산해야 합니다.

위도와 경도에 단순 유클리드 거리를 적용하면 지역과 위도에 따라 왜곡이 생길 수 있습니다. 적절한 투영좌표 또는 구면거리로 계산해야 합니다.

관측 밀도와 실제 이용 강도를 혼동하지 않아야 합니다.

기록 주기가 짧은 개체가 더 많은 좌표를 제공하면 그 개체의 활동 지역이 과도하게 강조될 수 있습니다. 개체별 동일한 표본추출 규칙이나 가중치를 검토해야 합니다.

군집 번호에 순위를 부여하지 않아야 합니다.

군집 0 또는 군집 1이라는 명칭은 알고리즘이 부여한 식별자일 뿐 우선순위나 크기 순서를 뜻하지 않습니다. 다른 분석 실행에서 번호가 바뀔 수도 있습니다.

시간 정보를 잃는다는 한계를 고려해야 합니다.

일반적인 공간 군집분석은 좌표의 시간 순서를 반영하지 않습니다. 동일한 위치라도 계절이나 시간대에 따라 쓰임이 다를 수 있으므로 필요하면 시공간 분석을 추가해야 합니다.

SECTION 13

결과는 어떻게 보고하나요?

밀도 기반 군집분석의 결과를 보고할 때는 데이터 수집 방법과 거리 척도, 좌표 전처리, 사용한 알고리즘, 주요 파라미터, 군집 수, 노이즈 비율, 설정 민감도 등을 명시하는 것이 좋습니다.

특히 GPS 데이터라면 투영좌표계나 거리 계산 방식과 기록 간격을 함께 설명해야 결과를 재현할 수 있습니다.

결과 보고 예시

산악 지역 야생동물의 공간적 활동 구역을 탐색하기 위해 20개체로부터 수집한 GPS 좌표 2,400개에 DBSCAN과 HDBSCAN을 적용하였다. 위치 좌표는 거리 계산이 가능한 미터 단위의 투영좌표계로 변환했으며, 일정한 시간 간격으로 재구성한 관측값을 사용하였다.

DBSCAN 분석에서는 세 개의 밀집 구역이 식별되었고 480개 좌표(20.0%)가 노이즈로 분류되었다. HDBSCAN에서는 네 개의 군집이 식별되었으며 노이즈는 300개 좌표(12.5%)였다. 이러한 차이는 두 알고리즘이 밀도 구조를 처리하는 방식과 주요 설정의 차이에 따른 것으로 해석할 수 있다. 다만 노이즈 좌표를 잘못된 관측으로 단정할 수 없으며, 군집의 생태학적 의미는 개체별 이용 패턴과 지형 정보를 함께 고려하여 평가해야 한다.

실제 연구에서는 사용한 파라미터와 민감도 분석 결과를 추가해야 합니다.

✓마무리

군집을 찾는 기준은 중심이 아니라 밀도입니다

DBSCAN과 HDBSCAN은 관측값이 모여 있는 영역을 기준으로 군집을 찾는 밀도 기반 알고리즘입니다.


두 방법은 군집 수를 미리 지정하지 않아도 되고 불규칙한 모양의 군집을 찾으며, 밀집 영역에 속하지 않는 관측값을 노이즈로 구분할 수 있다는 공통점이 있습니다.

DBSCAN은 하나의 거리 기준과 최소 이웃 수를 사용해 군집을 정의합니다. HDBSCAN은 여러 밀도 수준을 계층적으로 검토하므로 밀도가 서로 다른 영역이 섞인 자료에서 유리할 수 있습니다. 하지만 두 방법 모두 거리 척도와 표본추출 방식, 파라미터 설정의 영향을 받습니다.

KEY TAKEAWAY

핵심은 더 많은 군집을 찾거나 노이즈를 줄이는 것이 아니라, 데이터가 실제로 가진 밀집 구조를 분석 목적에 맞게 안정적으로 구분하고 해석하는 데 있습니다.