Main Content

커널 분포

개요

커널 분포는 확률 변수의 확률 밀도 함수(pdf)에 대한 비모수적 표현입니다. 모수 분포가 데이터를 올바르게 설명할 수 없거나 사용자가 데이터 분포와 관련하여 가정을 하지 않으려는 경우 커널 분포를 사용할 수 있습니다. 커널 분포는 결과로 생성되는 밀도 곡선의 매끄러운 정도를 제어하는 평활화 함수와 대역폭 값으로 정의됩니다.

커널 밀도 추정량

커널 밀도 추정량은 확률 변수에 대한 추정된 pdf입니다. x의 실수 값에 대해 커널 밀도 추정량 공식은 다음과 같이 주어집니다.

f^h(x)=1nhi=1nK(xxih),

여기서 x1, x2, …, xn은 알 수 없는 분포의 임의 표본이고, n은 표본 크기이며, K(·)는 커널 평활화 함수이고, h는 대역폭입니다.

커널 평활화 함수

커널 평활화 함수는 pdf를 생성하는 데 사용되는 곡선의 형태를 정의합니다. 히스토그램과 유사하게 커널 분포는 표본 데이터를 사용하여 확률 분포를 나타내는 함수를 생성합니다. 값을 이산 Bin에 배치하는 히스토그램과 달리 커널 분포는 매끄럽고 연속적인 확률 곡선을 생성하기 위해 각 데이터 값에 대한 성분 평활화 함수를 합산합니다. 다음 플롯은 동일한 표본 데이터에서 생성된 히스트로그램과 커널 분포의 시각적인 비교를 보여줍니다.

히스토그램은 Bin을 설정하고 각 데이터 값을 적절한 Bin에 배치하여 확률 분포를 나타냅니다.

SixMPG = [13;15;23;29;32;34];
figure
histogram(SixMPG)

Figure contains an axes object. The axes object contains an object of type histogram.

이러한 Bin 도수 접근법으로 인해 히스토그램은 이산 확률 밀도 함수를 생성합니다. 이는 피팅된 분포에서 난수를 생성하는 경우와 같은 특정 응용 분야에 적합하지 않을 수 있습니다.

대안으로, 커널 분포는 각 데이터 값에 대해 개별 확률 밀도 곡선을 만든 다음 매끄러운 곡선을 합하여 pdf를 생성합니다. 이 접근법은 데이터 세트에 대해 매끄럽고 연속적인 하나의 확률 밀도 함수를 생성합니다.

figure
pdSix = fitdist(SixMPG,'Kernel','Width',4);
x = 0:.1:45;
ySix = pdf(pdSix,x);
plot(x,ySix,'k-','LineWidth',2)

% Plot each individual pdf and scale its appearance on the plot
hold on
for i=1:6
    pd = makedist('Normal','mu',SixMPG(i),'sigma',4);
    y = pdf(pd,x);
    y = y/6;
    plot(x,y,'b:')
end
hold off

Figure contains an axes object. The axes object contains 7 objects of type line.

파선으로 표시된 여러 개의 더 작은 곡선은 표본 데이터의 각 값에 대한 확률 분포이며, 플롯에 맞게 크기 조정됩니다. 실선으로 표시된 큰 곡선은 SixMPG 데이터의 전체 커널 분포입니다. 커널 평활화 함수는 더 작은 성분 곡선의 형태를 나타내며, 이 예제에서는 정규분포를 갖습니다.

커널 평활화 함수에 대한 몇 가지 옵션 중 하나를 선택할 수 있습니다. 다음 플롯은 사용 가능한 평활화 함수의 형태를 보여줍니다.

% Set plot specifications
hname = {'normal' 'epanechnikov' 'box' 'triangle'};
colors = {'r' 'b' 'g' 'm'};
lines = {'-','-.','--',':'};

% Generate a sample of each kernel smoothing function and plot
data = [0];
figure
for j=1:4
    pd = fitdist(data,'kernel','Kernel',hname{j});
    x = -3:.1:3;
    y = pdf(pd,x);
    plot(x,y,'Color',colors{j},'LineStyle',lines{j})
    hold on
end
legend(hname)
hold off

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent normal, epanechnikov, box, triangle.

다양한 커널 평활화 함수가 결과로 생성되는 pdf 추정값의 형태에 미치는 영향을 파악하기 위해, 사용 가능한 각각의 커널 함수를 사용하여 carbig.mat에서 주행거리 데이터(MPG)의 플롯을 비교합니다.

load carbig
% Set plot specifications
hname = {'normal' 'epanechnikov' 'box' 'triangle'};
colors = {'r' 'b' 'g' 'm'};
lines = {'-','-.','--',':'};

% Generate kernel distribution objects and plot
figure
for j=1:4
    pd = fitdist(MPG,'kernel','Kernel',hname{j});
    x = -10:1:60;
    y = pdf(pd,x);
    plot(x,y,'Color',colors{j},'LineStyle',lines{j})
    hold on
end
legend(hname)
hold off

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent normal, epanechnikov, box, triangle.

각 밀도 곡선은 동일한 입력 데이터를 사용하지만 다른 커널 평활화 함수를 적용하여 pdf를 생성합니다. 밀도 추정값은 대략 비슷하지만 각 곡선의 형태는 약간씩 다릅니다. 예를 들어 상자 커널은 나머지 다른 경우보다 덜 매끄러운 밀도 곡선을 생성합니다.

대역폭

대역폭 값을 선택하여 결과로 생성되는 확률 밀도 곡선의 평활화를 제어합니다. 다음 플롯은 세 개의 서로 다른 대역폭을 가진 정규 커널 평활화 함수를 사용하여 MPG 데이터에 대한 밀도 추정값을 보여줍니다.

% Create kernel distribution objects
load carbig
pd1 = fitdist(MPG,'kernel');
pd2 = fitdist(MPG,'kernel','Width',1);
pd3 = fitdist(MPG,'kernel','Width',5);

% Compute each pdf
x = -10:1:60;
y1 = pdf(pd1,x);
y2 = pdf(pd2,x);
y3 = pdf(pd3,x);

% Plot each pdf
plot(x,y1,'Color','r','LineStyle','-')
hold on
plot(x,y2,'Color','k','LineStyle',':')
plot(x,y3,'Color','b','LineStyle','--')
legend({'Bandwidth = Default','Bandwidth = 1','Bandwidth = 5'})
hold off

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Bandwidth = Default, Bandwidth = 1, Bandwidth = 5.

이론적으로 정규분포 [1]에 대한 밀도 추정에 최적인 디폴트 대역폭은 상당히 매끄러운 곡선을 생성합니다. 대역폭을 더 작게 지정하면 매우 거친 곡선이 생성되지만 데이터에 두 개의 주요 피크가 있을 수도 있음을 알 수 있습니다. 대역폭을 더 크게 지정하면 커널 함수와 거의 동일한 곡선이 생성되지만, 너무 매끄러워서 잠재적으로 중요한 데이터의 특징이 잘 드러나지 않습니다.

참고 문헌

[1] Bowman, A. W., and A. Azzalini. Applied Smoothing Techniques for Data Analysis. New York: Oxford University Press Inc., 1997.

참고 항목

|

관련 항목