커널 밀도 추정

편집 역사 토론
통계 수치해석 마지막 수정: 2026-08-31 04:27:41

1. 개요[편집]

커널 밀도 추정
Kernel Density Estimation
약칭KDE
추정량$\hat f_h(x)=\frac{1}{nh}\sum_i K\!\left(\frac{x-x_i}{h}\right)$
제안Rosenblatt (1956), Parzen (1962)
편향 · 분산$O(h^2)$ · $O(1/nh)$
최적 대역폭$h^\star \propto n^{-1/5}$ (1차원)
수렴률MISE $= O(n^{-4/5})$ — 모수적 $O(n^{-1})$ 보다 느림
치명적 약점경계 편향 · 차원의 저주

커널 밀도 추정(kernel density estimation, KDE)은 표본 x1,,xnx_1,\dots,x_n 만으로 분포의 확률밀도함수를 모수 가정 없이 추정하는 방법으로, 각 표본점 위에 작은 매끄러운 봉우리(커널)를 하나씩 얹고 전부 더한 것이다.

f^h(x)=1nhi=1nK ⁣(xxih)\hat f_h(x) = \frac{1}{nh}\sum_{i=1}^{n} K\!\left(\frac{x - x_i}{h}\right)

여기서 KKK=1\int K = 1커널 함수, h>0h>0대역폭(bandwidth)이다. 히스토그램이 “구간에 몇 개 떨어졌나”를 세는 것이라면, KDE는 그 계수기를 매끄러운 가중치로 바꾼 것이다. 실제로 균등 커널을 쓰면 KDE는 원점이 없는 이동 히스토그램이 된다.1

핵심은 커널 선택이 아니라 대역폭이다. 커널 모양을 바꿔 봐야 성능 차이는 몇 %지만, hh 를 두 배 틀리면 그림이 완전히 다른 이야기를 한다. 이 문서의 절반은 그래서 hh 이야기다.

2. 히스토그램의 매끄러운 일반화[편집]

히스토그램은 계급폭 bb원점 위치라는 두 개의 자의적 선택에 결과가 좌우된다. 같은 자료를 원점만 반 칸 옮겨 그리면 봉우리가 하나에서 둘로 갈라지는 일이 흔하다. 게다가 계단함수라 미분이 없어서, 최빈값을 찾거나 밀도를 다른 계산에 넘기기가 불편하다.

KDE는 두 문제를 동시에 없앤다. 원점이 아예 없고(모든 점이 자기 자리에서 기여한다), KK 가 매끄러우면 f^h\hat f_h 도 매끄럽다. 관점을 하나 바꾸면 더 명확하다 — KDE는 경험분포와 커널의 합성곱이다.

f^h=FnKh,Kh(u)=1hK(u/h)\hat f_h = F_n' * K_h, \qquad K_h(u) = \tfrac{1}{h}K(u/h)

즉 표본을 델타 함수 nn 개의 합으로 보고 저역통과 필터를 한 번 먹인 것이다. 이 시각이 두 가지 실용적 결과를 준다. 첫째, 특성함수 관점에서 f^\hat f 의 푸리에 변환은 경험 특성함수에 K^(hω)\hat K(h\omega) 를 곱한 것이라 푸리에 변환 쪽에서 계산하면 빠르다. 둘째, hh 는 곧 차단 주파수이므로 ”hh 를 키운다 = 고주파를 더 죽인다”가 되어 뒤에 나올 편향-분산 이야기가 신호처리 직관과 그대로 맞물린다.

자주 쓰는 커널은 다음과 같다. μ2(K)=u2K(u)du\mu_2(K)=\int u^2K(u)\,du, R(K)=K2R(K)=\int K^2 는 뒤의 공식에 쓰인다.

커널K(u)K(u), u1\lvert u\rvert\le 1상대 효율
에파네치니코프34(1u2)\tfrac34(1-u^2)1 (최적)
삼각1u1-\lvert u\rvert0.986
이중가중 (biweight)1516(1u2)2\tfrac{15}{16}(1-u^2)^20.994
가우스 (무한 지지)12πeu2/2\tfrac{1}{\sqrt{2\pi}}e^{-u^2/2}0.951
균등12\tfrac120.930

에파네치니코프 커널이 점근 오차를 최소화한다는 결과가 있지만, 효율 차이가 5% 남짓이라 실무에서는 미분 가능성과 계산 편의로 가우스 커널을 쓰는 경우가 압도적이다. 유한 지지 커널은 KD-트리 같은 공간 자료구조로 이웃만 훑을 수 있다는 계산상의 장점이 따로 있다.

3. MISE 전개 — 편향과 분산의 정면충돌[편집]

ff 가 두 번 미분 가능하고 h0h\to 0, nhnh\to\infty 라고 하자. 테일러 전개로 얻는 점별 결과는 다음과 같다.

E[f^h(x)]f(x)=12h2μ2(K)f(x)+o(h2),Var[f^h(x)]=R(K)f(x)nh+o ⁣(1nh)\mathbb{E}[\hat f_h(x)] - f(x) = \tfrac12 h^2 \mu_2(K)\, f''(x) + o(h^2), \qquad \mathrm{Var}[\hat f_h(x)] = \frac{R(K) f(x)}{nh} + o\!\left(\tfrac{1}{nh}\right)

편향은 nn 에 전혀 의존하지 않는다. 표본을 아무리 늘려도 hh 를 줄이지 않으면 편향은 그대로다. 그리고 편향의 부호가 ff'' 를 따라가므로 봉우리는 눌리고 골짜기는 메워진다 — KDE로 그린 밀도의 최댓값이 참값보다 항상 작게 나오는 이유가 이것이다.

분산은 반대다. hh 를 줄이면 각 지점에서 유효하게 쓰이는 표본 수 nh\approx nh 가 줄어 분산이 커진다. 두 항을 적분해 합친 것이 점근 평균적분제곱오차(AMISE)다.

AMISE(h)=h44μ2(K)2R(f)+R(K)nh\mathrm{AMISE}(h) = \frac{h^4}{4}\mu_2(K)^2 R(f'') + \frac{R(K)}{nh}

hh 로 미분해 0으로 두면

h=[R(K)μ2(K)2R(f)n]1/5n1/5,AMISE(h)=O ⁣(n4/5)h^\star = \left[\frac{R(K)}{\mu_2(K)^2 R(f'')\, n}\right]^{1/5} \propto n^{-1/5}, \qquad \mathrm{AMISE}(h^\star) = O\!\left(n^{-4/5}\right)

여기가 비모수 추정의 근본적인 대가다. 모형을 맞게 가정한 최대우도추정O(n1)O(n^{-1}) 로 수렴하는데, KDE는 O(n4/5)O(n^{-4/5}) 다. 모형 가정을 버린 값을 수렴률로 치른다. 게다가 hh^\star 를 계산하려면 모르는 양 R(f)=(f)2R(f'')=\int (f'')^2 가 필요하다 — 밀도를 추정하려고 밀도의 이계도함수가 필요한 순환. 대역폭 선택 문헌 전체가 이 순환을 끊는 방법들의 목록이다.

½N(−d,1)+½N(+d,1) 표본에 가우스 커널 KDE 를 돌려 대역폭 h 를 로그 스윕하고, 실측 ISE(h)=∫(f̂−f)² dx 를 닫힌형 MISE 의 분산·편향² 분해와 겹쳐 그린다. 분리도 d=2.5, n=200 에서 실버만 규칙 h_S=1.06·σ̂·n^(−1/5) 는 ISE 최소점의 2.30배로 서서 MISE 를 3.56배 키우는데, d≤1(단봉)에서는 반대로 h_S 가 최적값보다 4~12% 작다. f̂ 는 선형 비닝 + 4h 절단 합성곱으로 계산하며 h_opt 는 정의식 대비 3.2e−4 dec 안에서 일치한다.

ff 가 더 매끄럽다면 고차 커널(음수 값을 갖는 커널)로 편향을 O(h4)O(h^4) 까지 낮춰 수렴률을 O(n8/9)O(n^{-8/9}) 로 끌어올릴 수 있다. 대신 추정된 밀도가 음수가 될 수 있어서 실무에서는 잘 안 쓴다. 확률밀도라고 부르는 물건이 음수를 뱉으면 그다음 계산이 전부 곤란해진다.

4. 대역폭 선택[편집]

  • 실버만 경험규칙. 참 밀도가 정규분포라고 가정하고 R(f)R(f'') 를 대입하면 가우스 커널에서 h=1.06σ^n1/5h = 1.06\,\hat\sigma n^{-1/5} 가 나온다. 실버만은 꼬리와 다봉성에 덜 휘둘리도록 σ^\hat\sigma 대신 min(σ^, IQR/1.34)\min(\hat\sigma,\ \mathrm{IQR}/1.34) 를 쓰고 상수를 0.9로 낮춘 판본을 권했다. 한 줄이면 되고 대개 그럴듯한 그림을 준다. 문제는 다봉 분포에서 체계적으로 과평활한다는 것 — 정규 참조가 R(f)R(f'') 를 과소평가하기 때문이다. 봉우리 두 개짜리를 하나로 뭉개 놓고 “단봉이네요”라고 결론 내리는 사고가 여기서 나온다.
  • 교차검증. 최소제곱 교차검증(LSCV)은 (f^hf)2\int(\hat f_h - f)^2 의 비편향 추정량을 직접 최소화한다. 가정이 거의 없다는 것이 장점이지만, 목적함수가 여러 개의 국소최소를 갖고 자료마다 결과의 흔들림이 크며(hh 의 상대수렴률이 n1/10n^{-1/10} 에 불과하다), 동점 관측치가 있으면 h0h\to 0 으로 붕괴한다. 가능도 교차검증은 꼬리가 두꺼운 분포에서 더 불안정하다. 자세한 절차는 교차검증 문서 참고.
  • 플러그인. R(f)R(f'') 를 그 자체로 커널 추정해 hh^\star 공식에 꽂는다. 그러려면 또 다른 대역폭이 필요하니 재귀가 생기는데, 셰더-존스(1991)의 “방정식 풀이” 플러그인은 그 두 대역폭을 하나의 방정식으로 묶어 동시에 푼다. hh 의 상대수렴률이 n5/14n^{-5/14} 로 LSCV보다 훨씬 빠르고 흔들림이 적어, 오늘날 통계 패키지의 사실상 기본값이다.

경험적 처방: 일단 실버만으로 그리고, hh 를 절반과 두 배로 바꿔 그림 세 장을 나란히 본다.2 세 장에서 모두 살아남는 봉우리만 진짜라고 주장한다. 대역폭을 키우면 봉우리 개수가 단조 감소한다는 성질(가우스 커널의 특권)을 이용해 “봉우리가 사라지는 임계 대역폭”을 검정통계량으로 쓰는 실버만 검정도 있다.

5. 경계 편향[편집]

지지집합에 경계가 있으면(길이·시간·농도처럼 음수가 불가능한 양) 이야기가 달라진다. 경계 x=0x=0 근처에서는 커널의 절반이 정의역 밖으로 질량을 뿌리므로 추정치가 체계적으로 작아진다. 이때 편향은 O(h2)O(h^2) 가 아니라 O(h)O(h) 로 한 차수 나빠지고, 그림에서는 경계에서 밀도가 갑자기 주저앉는 모양으로 나타난다. 지수분포 표본을 KDE로 그리면 0 근처가 뭉툭하게 내려앉는 그 현상이 이것이다.

처방은 셋이다.

  • 반사. 자료를 경계에 대해 대칭 복사한 뒤 추정하고 정의역 안쪽만 두 배 한다. 구현이 제일 쉽고, f(0)=0f'(0)=0 일 때 정확하다.
  • 경계 커널. 경계 근처에서만 커널 모양을 바꿔 1차 적률 조건을 맞춘다. 편향 차수를 회복하지만 음수 값이 생길 수 있다.
  • 변환. y=logxy=\log x 나 로짓으로 옮겨 무한 정의역에서 추정한 뒤 야코비안을 곱해 되돌린다. 실무에서 가장 자주 쓰이는 손쉬운 우회로.

6. 차원의 저주[편집]

dd 차원으로 올리면 곱 커널로 자연스럽게 확장되지만, AMISE 계산을 다시 하면 최적 대역폭과 수렴률이 이렇게 된다.

hn1/(d+4),MISE=O ⁣(n4/(d+4))h^\star \propto n^{-1/(d+4)}, \qquad \mathrm{MISE} = O\!\left(n^{-4/(d+4)}\right)

d=1d=1 에서 n4/5n^{-4/5} 이던 것이 d=5d=5n4/9n^{-4/9}, d=10d=10 이면 n2/7n^{-2/7} 이다. 같은 정확도를 얻는 데 필요한 표본 수가 차원에 대해 지수적으로 늘어난다. 실버만이 정규분포 기준으로 계산한 유명한 표에 따르면, 1차원에서 표본 수십 개로 되는 정확도를 10차원에서 얻으려면 수십만 개가 필요하다.

다변량에서는 대역폭이 스칼라가 아니라 대역폭 행렬 HH 가 된다.

f^H(x)=1ni=1nH1/2K ⁣(H1/2(xxi))\hat f_H(x) = \frac{1}{n}\sum_{i=1}^{n}\lvert H\rvert^{-1/2} K\!\left(H^{-1/2}(x-x_i)\right)

HH 를 어디까지 자유롭게 두느냐가 곧 자유도 문제다. 스칼라 h2Ih^2 I 는 모든 방향을 똑같이 평활해 변수 스케일에 그대로 휘둘리고, 대각 행렬은 축 방향으로만 다르게 평활하며, 완전 행렬은 비스듬한 상관 구조까지 따라가지만 추정할 모수가 d(d+1)/2d(d+1)/2 개로 늘어난다. 실무 타협은 자료를 먼저 백색화하거나(주성분 분석의 스코어 공간으로 보내거나) 대각 HH 에 만족하는 것이다. 실버만 규칙의 다변량 판본도 있지만(h{4/(d+2)}1/(d+4)σ^jn1/(d+4)h \approx \{4/(d+2)\}^{1/(d+4)}\hat\sigma_j n^{-1/(d+4)}), 정규 참조라는 전제가 차원이 올라갈수록 더 위태로워진다.

원인은 통계적이라기보다 기하학적이다. 고차원에서는 어떤 점 주위의 작은 구 안에 이웃이 거의 없어서, 국소 평균을 낼 대상 자체가 없다. 이건 대역폭을 영리하게 고른다고 해결되는 문제가 아니며 차원의 저주의 교과서적 발현이다. 실무 규칙은 단순하다 — d5d \gtrsim 5 면 KDE로 밀도 자체를 추정하려 들지 마라. 저차원으로 사영해서 보거나(주성분 분석), 모수적 혼합모형(가우시안 혼합 모형)으로 갈아타거나, 아예 밀도 대신 밀도비·순위 같은 더 쉬운 양을 추정하는 쪽이 낫다.

7. 적응 대역폭[편집]

전 구간에 같은 hh 를 쓰는 것은 사실 이상하다. 표본이 빽빽한 봉우리에서는 좁은 커널을 감당할 수 있고, 성긴 꼬리에서는 넓은 커널이 필요하다. 고정 대역폭 KDE가 꼬리에서 지저분한 잔물결을 만드는 것이 그 대가다.

  • 표본점 적응(sample-point). 각 표본 xix_i 마다 hi=hλih_i = h\,\lambda_i 를 쓰되 λif~(xi)α\lambda_i \propto \tilde f(x_i)^{-\alpha} 로 둔다. 에이브럼슨(1982)의 α=1/2\alpha=1/2, 즉 hi1/f~(xi)h_i \propto 1/\sqrt{\tilde f(x_i)} 선택이 편향을 O(h4)O(h^4) 로 줄인다는 결과가 유명하다. 예비 추정 f~\tilde f 가 필요한 2단 절차다.
  • 풍선 추정(balloon). 평가점 xx 마다 kk 번째 최근접 이웃까지의 거리를 대역폭으로 쓴다. 직관적이고 최근접 이웃 탐색 자료구조로 바로 구현되지만, 적분이 1이 안 되고 꼬리에서 발산할 수 있다.

8. 계산[편집]

소박한 구현은 평가점 mm 개, 표본 nn 개에 O(nm)O(nm) 이다. nn10610^6 이면 그림 한 장에 한나절이 걸릴 수 있다. 표준 가속은 셋이다.

  • 격자 이산화 + FFT. 표본을 격자에 선형 보간으로 뿌려 히스토그램을 만든 뒤 커널과 푸리에 변환으로 합성곱한다. O(n+MlogM)O(n + M\log M). 위에서 본 “KDE는 합성곱”이라는 관점이 그대로 알고리즘이 되는 자리이며, 대부분의 통계 패키지가 이걸 쓴다.
  • 절단 + 공간 분할. 유한 지지 커널을 쓰거나 가우스를 4h4h 에서 자르고 KD-트리로 이웃만 모은다.
  • 고속 가우스 변환. 에르미트 전개로 원거리 기여를 묶는다. 고속 다중극자법의 발상을 가우스 커널에 옮긴 것.

9. 어디에 쓰이나[편집]

  • 사후분포 시각화. 마르코프 연쇄 몬테카를로 표본으로 주변 사후분포를 그리는 그 곡선이 거의 전부 KDE다. 여기서 주의할 것 — MCMC 표본은 독립이 아니다. 대역폭 선택 공식은 전부 독립 표본을 전제하므로, 자기상관이 강하면 nn 대신 유효표본크기를 넣어야 과소평활을 피한다. 이걸 안 하면 사후분포에 실재하지 않는 잔봉우리가 생긴다.3 중요도 표본추출로 얻은 가중 표본이라면 가중 KDE f^=wˉiKh(xxi)\hat f = \sum \bar w_i K_h(x-x_i) 를 쓰고, 유효표본크기로 대역폭을 잡는다.
  • 입자 기반 밀도 재구성. 입자 필터의 사후 상태분포, 플라스마 PIC의 전하밀도, 분자 궤적의 자유에너지 지형 — 전부 “입자 집합에서 연속 장을 복원한다”는 같은 문제다. 사실 SPH의 밀도 합산 ρi=jmjW(rij,h)\rho_i=\sum_j m_j W(r_{ij},h) 는 KDE와 형식이 완전히 같고, 평활길이 hh 를 국소 입자수에 맞춰 조절하는 관행도 위의 적응 대역폭과 같은 발상이다. 다만 SPH의 hh 는 통계적 오차가 아니라 물리적 해상도와 보존성을 기준으로 정해지므로, 유도 논리는 각자의 문서에 맡긴다.
  • 모드 탐색과 군집화. f^h=0\nabla \hat f_h = 0 을 향해 표본을 밀어 올리는 평균 이동(mean shift) 알고리즘은 KDE의 봉우리를 타고 오르는 절차 그 자체다. 대역폭이 곧 군집 개수를 결정하며, 군집 수를 미리 정하지 않는다는 점에서 계층적 군집화의 절단 높이와 비슷한 자리를 차지한다.
  • 이상 탐지와 분류. 정상 자료의 밀도를 KDE로 추정하고 f^(x)\hat f(x) 가 임계값보다 낮으면 이상으로 판정하는 것이 밀도 기반 이상치 탐지의 기본형이다. 나이브 베이즈의 조건부 밀도를 KDE로 대체하는 것도 고전적인 용법.
  • 비모수 회귀와의 연결. 결합밀도와 주변밀도를 각각 KDE로 추정해 조건부 기댓값을 만들면 나다라야-왓슨 커널 회귀가 그대로 나온다. 회귀 쪽에도 같은 대역폭 문제와 경계 편향이 등장하며, 경계 편향을 구조적으로 없앤 것이 국소선형회귀다.

10. 관련 문서[편집]

11. Footnotes[편집]

  1. 원점 의존성을 정면으로 공격한 중간 단계도 있었다. 원점을 조금씩 옮겨 만든 히스토그램 여러 장을 평균 내는 ASH(averaged shifted histogram)인데, 장수를 무한히 늘리면 정확히 삼각 커널 KDE로 수렴한다. 즉 “히스토그램을 여러 번 그려서 평균 낸다”는 무식해 보이는 발상의 극한이 KDE였던 셈이다.

  2. 이 절차의 진짜 목적은 최적 hh 를 찾는 게 아니라 자기 자신을 속이지 않는 것이다. 대역폭 슬라이더를 만지다 보면 자기가 보고 싶었던 봉우리가 나타나는 hh 에서 손이 멈추는데, 그림 세 장을 동시에 띄워 놓으면 그 짓을 하기가 조금은 민망해진다.

  3. 사후분포 그림에 봉우리가 두 개 보인다며 “다봉 사후분포”라고 논문에 쓰기 전에, 연쇄를 두 배 길게 돌려 보고 대역폭도 두 배로 키워 봐야 한다. 둘 중 하나만 해도 사라지는 봉우리가 놀라울 만큼 많다.