히스토그램 최적 구간을 수학적으로 선택하는 방법

발행: (2026년 5월 24일 AM 02:00 GMT+9)
13 분 소요

출처: Towards Data Science

히스토그램에서 구간(빈)을 어떻게 선택해야 할지 궁금해 본 적 있나요? 보기 좋다는 이유만으로 선택을 하는 것이 아니라, 더 깊은 이유가 있을까 스스로에게 물어본 적 있나요? 히스토그램은 데이터 시각화에서 가장 기본적인 도구이지만, 히스토그램 자체를 추가 분석에 활용할 경우 해상도 설정이 중요합니다. 히스토그램은 종종 데이터의 밀도를 시각화하기 위해 계산됩니다. 이 글에서는 밀도 추정의 수학을 탐구하면서, 데이터셋이 커짐에 따라 구간이 어떻게 축소되어야 하는지를 살펴봅니다. 물리학의 섭동 이론이나 수학의 테일러 전개와 같은 인접 분야에서 영감을 받아, 밀도를 구성하는 엄밀한 방법을 찾아보겠습니다.

모든 이미지들은 저자에 의해 제공되었습니다

배경

근사

직관은 간단합니다: 데이터가 많을수록 더 많은 세부 정보를 볼 수 있어야 합니다. 만약 10개의 관측값만 있다면, 두세 개의 넓은 구간이 시각화가 빈 공간으로 가득 차기 전에 감당할 수 있는 전부일 것입니다. 하지만 1천만 개의 관측값이 있다면, 그 넓은 구간은 저해상도 픽셀화된 사진처럼 느껴집니다. 구간 수를 늘려 “확대”하고 싶어지죠. 여기서 문제는: 해상도를 정확히 어떻게 스케일링해야 할까 하는 것입니다.

물리학에서는 시스템이 너무 복잡해 정확히 풀 수 없을 때 *섭동 이론(Perturbation Theory)*을 사용합니다. 예를 들어 양자 전기역학(QED)에서는 전자 전하 e와 같은 작은 결합 상수를 기준으로 복잡한 상호작용을 전개(expand)합니다. 이 “상호작용 강도”는 근사의 자연스러운 계층 구조를 제공합니다. 그런데 히스토그램에서는 어떤 “전하”가 이에 해당할까요? 이산 데이터 포인트와 우리가 추정하려는 기본 분포 사이의 상호작용을 지배하는 근본적인 매개변수가 있을까요?

수학은 또 다른 길을 제시합니다: 테일러 전개(Taylor Expansion). 기본 밀도 함수가 충분히 매끄럽고(해석적)이라고 가정하면, 그 함수를 국소적으로 도함수를 이용해 기술할 수 있습니다. 이는 고차항이 사라지는 것을 증명할 수 있기 때문에 유망한 실마리처럼 보입니다. 다만, 해석적 분포에 제한을 두는 것이 특정 구간 크기로 이어지는지는 명확하지 않습니다.

또는 문제를 기저 함수(Basis Functions) 전개로 볼 수도 있습니다. 푸리에 변환이나 레전드르 다항식으로 구간 연속 함수를 표현할 수 있듯이, 히스토그램 구간을 일련의 기저 함수로 생각할 수 있습니다. 이렇게 하면 L² 노름을 기준으로 함수를 근사할 수 있겠지만, 몇 가지 난관이 있습니다. 이러한 함수들의 계수를 효율적으로 계산하려면 어떻게 해야 할까요? 더 중요한 것은, 확률 밀도 함수가 가져야 할 물리적 제약—즉, 양의 정의와 전체가 1로 정규화되는 조건—을 어떻게 만족시킬 수 있느냐는 점입니다. 아래에서 볼 수 있듯이, 정보 이론에서 얻은 방법은 기저 함수 전개와 유사한 측면을 가지고 있습니다.

정보 이론

사전분포와 사후분포

베이지안 통계학이나 정보 이론에 대한 소개는 (Murphy, 2022)를 참고하시기 바랍니다. 베이지안 접근법에서는 관측값 X와 파라미터 θ로 이루어진 모델 *P(X|θ)*가 존재하고, 데이터가 관측되기 전 우리의 믿음을 반영하는 사전분포 *P(θ|ℳ)*를 포함합니다. 데이터가 관측된 뒤에는 사후분포 *P(θ|X)*를 추정할 수 있습니다.

[ P(\theta|X)=\frac{P(X|\theta),P(\theta|\mathcal{M})}{P(X)} ]

이 절차는 수학적으로 매우 깔끔합니다. 과적합에 100 % 안전하기 때문이죠. 하지만 엄격한 규율이 요구됩니다: 데이터를 본 뒤에 모델이나 사전분포를 선택해서는 안 됩니다. 데이터를 이용해 어떤 모델 구조를 사용할지 결정한다면, 추론의 기본 논리를 깨뜨리는 것입니다.

데이터가 주어진 가장 가능성 높은 모델 vs. 모델 가중치

모델의 품질은 서프라이즈(surprisal)를 고려해 계산할 수 있습니다(예: (Vries, 2026)).

[ \log P(X|\mathcal{M}) = -\text{surprisal} = \text{accuracy} - \text{complexity} ]

매우 많은 파라미터를 가진 모델(가상의 모든 상호작용을 포함하려는 유혹에 빠진 경우)은 놀라운 정확도를 얻을 수 있지만, 자체 복잡도에 대한 페널티 때문에 “죽게” 됩니다. 이상적인 모델은 가장 상세한 모델이 아니라, 불필요한 짐을 최소화하면서 가장 많은 정보를 담은 모델입니다.

여러 모델을 고려할 때는 각 모델의 가능성을 다음과 같이 비교합니다.

[ P(\mathcal{M}_i \mid X) \propto P(X \mid \mathcal{M}_i),P(\mathcal{M}_i) ]

가장 확률이 높은 모델을 골라버리는 것이 직관적일 수 있지만, “승자 독식” 접근법에는 위험이 따릅니다.

  • 통계적 변동: 데이터 X에 우연히 발생한 특이점이 있어, 최적이 아닌 모델이 일시적으로 더 나아 보일 수 있습니다.
  • 군중의 무게: 때때로 여러 “덜 가능성 높은” 모델들의 합이 단일 “최고” 모델의 확률을 능가하기도 합니다.

따라서 보다 견고한 방법은 모든 모델을 유지하면서 각각을 확률에 비례해 가중하는 것입니다. 이는 서로 다른 진실의 “혼합”이 아니라, 실제로는 하나의 모델만이 진실이라고 가정하면서도 우리의 불확실성을 반영하기 위해 전체 가능성 분포를 활용하는 것입니다.

밀도

베이지안 접근법을 이용한 밀도

밀도를 형식적인 모델로 다루기 위해, 각 구간 K를 하나의 파라미터로 봅니다. 구체적으로, 각 구간에 가중치 wₖ를 할당하여 해당 구간에 데이터 포인트가 들어갈 확률을 나타냅니다. 전체 확률이 1이 되도록 해야 하므로(∑ₖ wₖ = 1) K개의 구간을 가진 밀도는 K − 1개의 독립 파라미터로 정의됩니다. 이러한 모델은 **혼합 모델(mixture)**이라고도 불립니다. 베이지안 프레임워크에서는 이러한 가중치에 사전분포를 지정해야 합니다. 가중치가 1로 합쳐지는 범주형 비율이라는 점에서, 디리클레(Dirichlet) 분포가 수학적으로 자연스러운 선택이 됩니다.

하이퍼파라미터 선택

디리클레 분포는 보통 α 로 표시되는 하이퍼파라미터에 의해 좌우됩니다. 이 값들은 우리의 “가상 카운트(pseudo‑counts)”를 나타내며, 실제 첫 번째 데이터를 보기 전 우리가 기대하는 밀도의 형태를 반영합니다. 평탄한 사전(증거 P(X) 가 상수)이라고 가정하면, α를 선택하는 두 가지 주요 전략이 떠오릅니다.

  • α = 1/K (희소 선택): 데이터가 매우 집중될 것으로 예상될 때 자주 사용됩니다. 사전에 대부분의 구간이 비어 있을 것이라고 가정하므로 “희소성 촉진(sparsity‑promoting)” 사전이라고 할 수 있습니다.
  • α = 1 (균일 선택): 평탄 혹은 라플라스(Laplace) 사전이라고도 불리며, 모든 가능한 가중치 조합이 동등하게 가능하다고 가정합니다. 실제 데이터가 들어오기 전에 각 구간에 하나의 “가상 관측값”을 추가하는 효과를 가집니다.

표준 밀도를 구성할 때는 두 번째 선택, 즉 α = 1이 가장 자연스럽습니다. 이는 데이터가 구간 전체에 균등하게 분포한다는 중립적인 시작점을 제공하며, 증거가 이를 반증할 때까지 그렇게 가정합니다.

이와 같이 구간을 정의하면, 밀도의 “픽셀화”를 엄밀한 모델로 전환한 셈입니다. 이제 K − 1개의 가중치라는 고정된 파라미터 집합과 명확한 사전(α = 1)이 존재합니다. 다음 단계는 데이터에 기반해 적절한 구간 수 K를 결정하는 것으로, 적합도의 정확도와 파라미터 복잡도 사이의 균형을 맞추는 작업입니다.

예시

아래 그림의 데이터를 살펴보세요:

8개의 구간으로 피팅하면 다음과 같은 결과가 나옵니다:

이 밀도에서 볼 수 있듯이, 가장 오른쪽 구간의 값이 0보다 높게 나타났지만 해당 구간에 실제 데이터 포인트는 존재하지 않았습니다. 이는 베이지안 접근법이 사전 믿음과 데이터를 결합해 추정한 밀도이기 때문에 발생한 결과

0 조회
Back to Blog

관련 글

더 보기 »