Main Content

PiecewiseLinearDistribution

조각별 선형 확률 분포 객체

설명

PiecewiseLinearDistribution 객체는 조각별 선형 확률 분포에 대한 모델 설명으로 구성됩니다.

조각별 선형 분포는 누적 분포 함수(cdf)의 조각별 선형 표현을 사용하여 생성된 비모수 확률 분포입니다. 조각별 선형 분포에 대해 지정된 옵션은 cdf의 형식을 지정합니다. 확률 밀도 함수(pdf)는 계단 함수입니다.

조각별 선형 분포는 다음 모수를 사용합니다.

모수설명
xcdf의 기울기가 변경되는 지점의 x 값으로 구성된 벡터
Fxx의 각 값에 대응하는 cdf 값으로 구성된 벡터

생성

makedist를 사용하여 지정된 모수 값 객체로 PiecewiseLinearDistribution 확률 분포를 만듭니다.

속성

모두 확장

분포 모수

누적 분포 함수(cdf)의 기울기가 변경되는 지점의 데이터 값으로, 스칼라 값으로 구성된 벡터로 지정됩니다.

데이터형: single | double

x의 각 값에서의 cdf 값으로, 스칼라 값으로 구성된 벡터로 지정됩니다.

데이터형: single | double

분포 특징

읽기 전용 속성입니다.

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

데이터형: logical

읽기 전용 속성입니다.

확률 분포의 모수 개수로, 양의 정수 값으로 지정됩니다.

데이터형: double

읽기 전용 속성입니다.

분포 모수 값으로, 스칼라 값으로 구성된 벡터로 지정됩니다.

데이터형: single | double

읽기 전용 속성입니다.

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

데이터형: single | double

기타 객체 속성

읽기 전용 속성입니다.

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

데이터형: char

읽기 전용 속성입니다.

분포 모수 설명으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 각 셀은 하나의 분포 모수에 대한 짧은 설명을 포함합니다.

데이터형: char

읽기 전용 속성입니다.

분포 모수 이름으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: char

객체 함수

cdf누적 분포 함수
icdf역누적 분포 함수
iqr확률 분포의 사분위 범위
mean확률 분포의 평균
medianMedian of probability distribution
pdf확률 밀도 함수
plotPlot probability distribution object
random난수
std확률 분포의 표준편차
truncate확률 분포 객체 절단
var확률 분포의 분산

예제

모두 축소

디폴트 모수 값을 사용하여 조각별 선형 분포 객체를 만듭니다.

pd = makedist('PiecewiseLinear')
pd = 
  PiecewiseLinearDistribution

F(0) = 0
F(1) = 1

데이터에 대한 경험적 누적 분포 함수(cdf)를 계산하고, 경험적 cdf에 대한 근삿값을 사용하여 조각별 선형 분포 객체를 만듭니다.

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

load patients
histogram(Weight(strcmp(Gender,'Female')))
hold on
histogram(Weight(strcmp(Gender,'Male')))
legend('Female','Male')

Figure contains an axes object. The axes object contains 2 objects of type histogram. These objects represent Female, Male.

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

데이터에 대한 경험적 cdf를 계산합니다.

[f,x] = ecdf(Weight);

5개 점마다 값을 취하여 조각별 선형 근삿값을 생성합니다.

f = f(1:5:end);
x = x(1:5:end);

경험적 cdf와 근삿값을 플로팅합니다.

figure
ecdf(Weight)
hold on
plot(x,f,'ko-','MarkerFace','r') 
legend('Empirical cdf','Piecewise linear approximation', ...
    'Location','best')

Figure contains an axes object. The axes object with xlabel x, ylabel F(x) contains 2 objects of type stair, line. These objects represent Empirical cdf, Piecewise linear approximation.

경험적 cdf의 조각별 근삿값을 사용하여 조각별 선형 확률 분포 객체를 생성합니다.

pd = makedist('PiecewiseLinear','x',x,'Fx',f)
pd = 
  PiecewiseLinearDistribution

F(111) = 0
F(118) = 0.05
F(124) = 0.13
F(130) = 0.25
F(135) = 0.37
F(142) = 0.5
F(163) = 0.55
F(171) = 0.61
F(178) = 0.7
F(183) = 0.82
F(189) = 0.94
F(202) = 1

분포에서 100개의 난수를 생성합니다.

rng('default') % For reproducibility
rw = random(pd,[100,1]);

난수를 플로팅하여 해당 분포와 원래 데이터를 시각적으로 비교합니다.

figure
histogram(Weight)
hold on
histogram(rw)
legend('Original data','Generated data')

Figure contains an axes object. The axes object contains 2 objects of type histogram. These objects represent Original data, Generated data.

조각별 선형 분포에서 생성된 난수는 원래 데이터와 동일한 이봉 분포를 가집니다.

버전 내역

R2013a에 개발됨