Main Content

KernelDistribution

커널 확률 분포 객체

설명

KernelDistribution 객체는 비모수적 커널-평활화 분포에 대한 모수, 모델 설명 및 표본 데이터로 구성됩니다.

커널 분포는 확률 변수의 확률 밀도 함수(pdf)에 대한 비모수적 추정입니다.

커널 분포는 다음 옵션을 사용합니다.

옵션설명가능한 값
Kernel커널 함수 유형normal, box, triangle, epanechnikov
Bandwidth커널 평활화 파라미터Bandwidth > 0

생성

KernelDistribution 확률 분포 객체를 만드는 방법에는 여러 가지가 있습니다.

  • fitdist를 사용하여 분포를 데이터에 피팅합니다.

  • 분포 피팅기 앱을 사용하여 분포를 데이터에 대화형 방식으로 피팅합니다.

속성

모두 확장

분포 모수

커널 함수 유형으로, 유효한 커널 함수 유형 이름으로 지정됩니다.

커널 평활화 윈도우의 대역폭으로, 양의 스칼라 값으로 지정됩니다.

데이터형: single | double

분포 특징

이 속성은 읽기 전용입니다.

잘린 분포를 나타내는 논리형 플래그로, 논리값으로 지정됩니다. IsTruncated0이면 분포가 잘리지 않은 것입니다. IsTruncated1이면 분포가 잘린 것입니다.

데이터형: logical

이 속성은 읽기 전용입니다.

확률 분포에 대한 자르기 간격으로, 하한 및 상한 자르기 경계를 포함하는 스칼라 값으로 구성된 벡터로 지정됩니다.

데이터형: single | double

기타 객체 속성

이 속성은 읽기 전용입니다.

확률 분포 이름으로, 문자형 벡터로 지정됩니다.

데이터형: char

이 속성은 읽기 전용입니다.

분포 피팅에 사용되는 데이터로, 다음을 포함하는 구조체로 지정됩니다.

  • data: 분포 피팅에 사용되는 데이터 벡터.

  • cens: 중도절단 벡터, 없으면 비어 있음.

  • freq: 도수 벡터, 없으면 비어 있음.

데이터형: struct

객체 함수

cdf누적 분포 함수
gatherGather properties of Statistics and Machine Learning Toolbox object from GPU
icdf역누적 분포 함수
iqr확률 분포의 사분위 범위
mean확률 분포의 평균
medianMedian of probability distribution
negloglik확률 분포의 음의 로그 가능도
pdf확률 밀도 함수
plotPlot probability distribution object
random난수
stdStandard deviation of probability distribution
truncateTruncate probability distribution object
varVariance of probability distribution

예제

모두 축소

표본 데이터를 불러옵니다. 히스토그램을 사용하여 환자의 체중 데이터를 시각화합니다.

load hospital
histogram(hospital.Weight)

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

히스토그램에서 데이터가 두 개의 최빈값을 가진 것을 알 수 있습니다. 하나는 여성 환자에 대한 최빈값이고 다른 하나는 남성 환자에 대한 최빈값입니다.

커널 분포를 환자의 체중 데이터에 피팅하여 확률 분포 객체를 생성합니다.

pd_kernel = fitdist(hospital.Weight,'Kernel')
pd_kernel = 
  KernelDistribution

    Kernel = normal
    Bandwidth = 14.3792
    Support = unbounded

비교를 위해 정규분포를 환자의 체중 데이터에 피팅하여 다른 확률 분포 객체를 생성합니다.

pd_normal = fitdist(hospital.Weight,'Normal')
pd_normal = 
  NormalDistribution

  Normal distribution
       mu =     154   [148.728, 159.272]
    sigma = 26.5714   [23.3299, 30.8674]

x 값을 정의하고 각 분포의 pdf를 계산합니다.

x = 50:1:250;
pdf_kernel = pdf(pd_kernel,x);
pdf_normal = pdf(pd_normal,x);

각 분포의 pdf를 플로팅합니다.

plot(x,pdf_kernel,'Color','b','LineWidth',2);
hold on;
plot(x,pdf_normal,'Color','r','LineStyle',':','LineWidth',2);
legend('Kernel Distribution','Normal Distribution','Location','SouthEast');
hold off;

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Kernel Distribution, Normal Distribution.

정규분포와 같은 단봉분포 대신 커널 분포를 피팅하면 여성 환자와 남성 환자에 대한 개별 최빈값을 확인할 수 있습니다.

확장 기능

버전 내역

R2013a에 개발됨