이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

ecdf

경험적 누적 분포 함수

구문

[f,x] = ecdf(y)
[f,x] = ecdf(y,Name,Value)
[f,x,flo,fup] = ecdf(___)
ecdf(___)
ecdf(ax,___)

설명

예제

[f,x] = ecdf(y)는 벡터 y의 데이터를 사용하여 x의 점에서 계산된 경험적 누적 분포 함수(cdf) f를 반환합니다.

생존 및 신뢰도 분석에서는 이 경험적 cdf를 카플란-마이어 추정값(Kaplan-Meier Estimate)이라고 합니다. 데이터는 생존 시간 또는 고장 시간에 대응될 수 있습니다.

예제

[f,x] = ecdf(y,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용하여 x의 점에서 계산된 경험적 함수 값 f를 반환합니다.

예를 들어, 계산할 함수 유형을 지정하거나 어떤 데이터를 중도절단할지 지정할 수 있습니다.

예제

[f,x,flo,fup] = ecdf(___)는 계산된 함수 값에 대한 95% 신뢰 하한과 신뢰 상한도 반환합니다. 위에 열거된 구문의 모든 입력 인수와 사용할 수 있습니다.

ecdf그린우드의 공식(Greenwood's Formula)을 사용하여 신뢰한계를 계산합니다. 이는 동시 신뢰한계가 아닙니다.

예제

ecdf(___)는 계산된 함수를 플로팅합니다.

ecdf(ax,___)gca에서 반환되는 현재 좌표축 대신 핸들이 있는 좌표축 ax를 사용하여 계산된 함수를 플로팅합니다.

예제

모두 축소

시뮬레이션된 생존 데이터에 대한 누적 분포 함수(cdf)의 카플란-마이어 추정값(Kaplan-Meier Estimate)을 계산합니다.

모수 3과 1을 사용하여 베이불 분포에서 생존 데이터를 생성합니다.

rng('default')  % for reproducibility
failuretime = random('wbl',3,1,15,1);

생존 데이터에 대한 cdf의 카플란-마이어 추정값을 계산합니다.

[f,x] = ecdf(failuretime);
[f,x]
ans = 16×2

         0    0.0895
    0.0667    0.0895
    0.1333    0.1072
    0.2000    0.1303
    0.2667    0.1313
    0.3333    0.2718
    0.4000    0.2968
    0.4667    0.6147
    0.5333    0.6684
    0.6000    1.3749
      ⋮

추정된 cdf를 플로팅합니다.

ecdf(failuretime)

시뮬레이션된 우측 중도절단된 생존 데이터의 위험 함수를 계산하고 플로팅합니다.

번바움-손더스(Birnbaum-Saunders) 분포에서 고장 시간을 생성합니다.

rng default  % for reproducibility
failuretime = random('birnbaumsaunders',0.3,1,100,1);

연구가 시간 0.9에서 끝난다는 가정 하에, 0.9보다 큰 시뮬레이션된 고장 시간을 중도절단된 데이터로 나타내는 논리형 배열을 생성하고 이 정보를 벡터로 저장합니다.

T = 0.9;
cens = (failuretime>T);

데이터에 대한 경험적 위험 함수를 플로팅합니다.

ecdf(failuretime,'function','cumulative hazard',...
'censoring',cens,'bounds','on');

우측 중도절단된 데이터를 생성하고 경험적 누적 분포 함수(cdf)를 알려진 cdf와 비교합니다.

평균 고장 시간이 15인 지수 분포에서 고장 시간을 생성합니다.

rng default  % for reproducibility
y = exprnd(15,75,1);

평균 고장 시간이 30인 지수 분포에서 중도탈락 시간을 생성합니다.

d = exprnd(30,75,1);

관측된 고장 시간을 생성합니다. 이는 생성된 고장 시간과 중도탈락 시간의 최솟값입니다.

t = min(y,d);

생성된 고장 시간이 중도탈락 시간보다 긴 시간임을 나타내는 논리형 배열을 생성합니다. 위의 명제가 참인 데이터는 중도절단됩니다.

censored = (y>d);

경험적 cdf와 신뢰한계를 계산합니다.

[f,x,flo,fup] = ecdf(t,'censoring',censored);

cdf와 신뢰한계를 플로팅합니다.

figure()
ecdf(t,'censoring',censored,'bounds','on');
hold on

알려진 모집단 cdf의 플롯을 겹쳐 놓습니다.

xx = 0:.1:max(t);
yy = 1-exp(-xx/15);
plot(xx,yy,'g-','LineWidth',2)
axis([0 50 0 1])
legend('Empirical','LCB','UCB','Population',...
       'Location','SE')
hold off

생존 데이터를 생성하고 99% 신뢰한계를 갖는 경험적 생존 함수를 플로팅합니다.

모수 100과 2를 사용하여 베이불 분포에서 수명 데이터를 생성합니다.

rng default  % for reproducibility 
R = wblrnd(100,2,100,1);

99% 신뢰한계를 갖는 데이터에 대한 생존 함수를 플로팅합니다.

ecdf(R,'function','survivor','alpha',0.01,'bounds','on')
hold on

베이불 생존 함수를 피팅합니다.

x = 1:1:250;
wblsurv = 1-cdf('weibull',x,100,2);
plot(x,wblsurv,'g-','LineWidth',2)
legend('Empirical','LCB','UCB','Population',...
'Location','NE')

실제 분포를 기반으로 한 생존 함수는 신뢰한계 내에 있습니다.

입력 인수

모두 축소

입력 데이터로, 열 벡터로 지정됩니다. 예를 들어, 생존 분석 및 신뢰도 분석에서 데이터는 각 항목 또는 개인에 대한 생존 시간 또는 고장 시간일 수 있습니다.

데이터형: single | double

ecdf가 플로팅할 Figure에 대한 axes 핸들로, 핸들로 지정됩니다.

예를 들어, h가 Figure에 대한 핸들이면 ecdf는 다음과 같이 해당 Figure에 플로팅할 수 있습니다.

예: ecdf(h,x)

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정할 수 있습니다. 여기서 Name은 인수 이름이고 Value는 이에 대응하는 값입니다. Name은 따옴표로 묶어야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 원하는 순서로 지정할 수 있습니다.

예: 'censoring',c,'function','cumulative hazard','alpha',0.025,'bounds','on'ecdf가 누적 위험 함수를 반환하고 벡터 c로 지정된 중도절단된 데이터를 고려하여 97.5% 신뢰한계를 플로팅함을 지정합니다.

중도절단된 데이터 표시자로, 'censoring'과 함께 x와 같은 크기의 부울형 배열이 쉼표로 구분되어 지정됩니다. 우측 중도절단된 관측값에 대해서는 1을 입력하고 완전히 관측된 관측값에 대해서는 0을 입력합니다. 디폴트 값은 모든 관측값이 완전히 관측된 것입니다.

예를 들어, 벡터 cdata에 중도절단된 데이터 정보가 저장되는 경우 다음과 같이 중도절단 정보를 입력할 수 있습니다.

예: 'censoring',cdata

데이터형: logical

관측값의 도수로, 'frequency'와 함께 음이 아닌 정수 도수를 포함하는 벡터가 쉼표로 구분되어 지정됩니다. 이 벡터는 벡터 x와 크기가 같습니다. 이 벡터의 j번째 요소는 xj번째 요소가 관측된 횟수를 알려줍니다. 디폴트 값은 x의 요소당 하나의 관측값이 있는 것입니다.

예를 들어, failurefreq가 빈도로 구성된 벡터인 경우 다음과 같이 입력할 수 있습니다.

예: 'frequency',failurefreq

데이터형: single | double

계산된 함수의 신뢰구간에 대한 신뢰수준으로, 'alpha'와 함께 (0,1) 범위의 스칼라 값이 쉼표로 구분되어 지정됩니다. 디폴트 값은 95% 신뢰구간에 대해 0.05입니다. 주어진 값 alpha에 대해 신뢰수준은 100(1-alpha)%입니다.

예를 들어, 99% 신뢰구간에 대해서는 다음과 같이 알파 값을 지정할 수 있습니다.

예: 'alpha',0.01

데이터형: single | double

ecdf가 계산하고 반환하는 함수의 유형으로, 'function'과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

'cdf'디폴트 값. 누적 분포 함수.
'survivor'생존 함수.
'cumulative hazard'누적 위험 함수.

예: 'function','cumulative hazard'

신뢰 한계의 포함 여부를 나타내는 표시자로, 'bounds'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

'off'디폴트 값. 신뢰 한계를 생략하려면 이를 지정하십시오.
'on' 신뢰 한계를 포함하려면 이를 지정하십시오.

참고

이 이름-값 인수는 플로팅 목적으로만 사용됩니다.

예: 'bounds','on'

출력 인수

모두 축소

x의 점에서 계산되는 함수 값으로, 열 벡터로 반환됩니다.

데이터 벡터 y의 고유한 관측된 점으로, 열 벡터로 반환됩니다.

계산된 함수의 신뢰 하한으로, 열 벡터로 반환됩니다. ecdf그린우드의 공식(Greenwood's Formula)을 사용하여 신뢰한계를 계산합니다. 이는 동시 신뢰한계가 아닙니다.

계산된 함수의 신뢰 상한으로, 열 벡터로 반환됩니다. ecdf그린우드의 공식을 사용하여 신뢰한계를 계산합니다. 이는 동시 신뢰한계가 아닙니다.

세부 정보

모두 축소

그린우드의 공식(Greenwood’s Formula)

카플란-마이어 추정량의 분산에 대한 근삿값입니다.

분산 추정값은 다음과 같이 지정됩니다.

V(S(t))=S2(t)ti<Tdiri(ridi),

여기서 ri는 ti 시점에서 생존 수이고, di는 ti 시점에서의 고장 수입니다.

참고 문헌

[1] Cox, D. R., and D. Oakes. Analysis of Survival Data. London: Chapman & Hall, 1984.

[2] Lawless, J. F. Statistical Models and Methods for Lifetime Data. 2nd ed., Hoboken, NJ: John Wiley & Sons, Inc., 2003.

R2006a 이전에 개발됨