Main Content

ecdf

경험적 누적 분포 함수

설명

예제

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

예제

[f,x] = ecdf(y,Name,Value)는 하나 이상의 이름-값 인수를 사용하여 옵션을 추가로 지정합니다. 예를 들어 'Function','survivor'f의 함수 유형을 생존 함수로 지정합니다.

예제

[f,x,flo,fup] = ecdf(___)는 위에 열거된 구문에 나와 있는 입력 인수를 조합하여, 계산된 함수 값에 대한 신뢰 하한과 신뢰 상한도 반환합니다. 이 구문은 구간 중도절단된 데이터에는 유효하지 않습니다.

예제

ecdf(___)는 계산된 함수에 대해 계단 그래프를 생성합니다. 이 함수는 음영 사각형을 사용하여 구간 중도절단된 데이터에 대한 구간 추정값을 시각화합니다. 완전히 관측된 데이터, 좌측 중도절단된 데이터, 우측 중도절단된 데이터, 양측 중도절단된 데이터에 대해 그래프에 신뢰한계를 포함시키려면 'Bounds','on'을 지정하면 됩니다.

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)

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

우측 중도절단된 데이터를 생성하고 경험적 누적 분포 함수(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와 신뢰한계를 플로팅합니다.

ecdf(t,'Censoring',censored,'Bounds','on')
hold on

Figure contains an axes object. The axes object contains 3 objects of type stair.

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

xx = 0:.1:max(t);
yy = 1-exp(-xx/15);
plot(xx,yy,'g-','LineWidth',2)
axis([0 max(t) 0 1])
legend('Empirical cdf','Lower confidence bound', ...
    'Upper confidence bound','Known population cdf', ...
    'Location','southeast')
hold off

Figure contains an axes object. The axes object contains 4 objects of type stair, line. These objects represent Empirical cdf, Lower confidence bound, Upper confidence bound, Known population cdf.

생존 데이터를 생성하고 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

Figure contains an axes object. The axes object contains 3 objects of type stair.

베이불 생존 함수의 플롯을 겹쳐 놓습니다.

x = 1:1:250;
wblsurv = 1-cdf('weibull',x,100,2);
plot(x,wblsurv,'g-','LineWidth',2)
legend('Empirical survivor function','Lower confidence bound', ...
    'Upper confidence bound','Weibull survivor function', ...
    'Location','northeast')

Figure contains an axes object. The axes object contains 4 objects of type stair, line. These objects represent Empirical survivor function, Lower confidence bound, Upper confidence bound, Weibull survivor function.

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

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

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

rng('default')  % For reproducibility
failuretime = random('BirnbaumSaunders',0.3,1,[100,1]);

연구가 시간 0.1에서 시작하고 시간 0.9에서 끝난다고 가정합니다. 이 가정은 0.1보다 작은 고장 시간은 좌측 중도절단되고 0.9보다 큰 고장 시간은 우측 중도절단됨을 의미합니다.

각 요소가 failuretime의 대응되는 관측값에 대한 중도절단 상태를 나타내는 벡터를 생성합니다. –1, 1 및 0을 사용하여 각각 좌측 중도절단된 관측값, 우측 중도절단된 관측값 및 완전히 관측된 관측값을 나타냅니다.

L = 0.1;
U = 0.9;
left_censored = (failuretime<L);
right_censored = (failuretime>U);
c = right_censored - left_censored;

95% 신뢰한계를 갖는 데이터에 대한 경험적 누적 위험 함수를 플로팅합니다.

ecdf(failuretime,'Function','cumulative hazard', ...
    'Censoring',c,'Bounds','on')

구간 중도절단된 데이터의 경험적 cdf를 계산하고 플로팅합니다.

cities 데이터 세트를 불러옵니다. 데이터는 기후, 주택 시장, 건강, 범죄, 교통, 교육, 예술, 취미, 경제의 9가지 삶의 질 지표에 대한 미국 329개 도시의 평점을 포함합니다. 각 지표에 대해 평점이 높을수록 더 좋습니다.

load cities

첫 번째 지표(기후)를 표본 데이터로 선택합니다.

Y = ratings(:,1);

Y의 지표는 가장 가까운 정수로 반올림된 값이라고 가정합니다. 이렇게 하면 Y에 있는 값을 구간 중도절단된 관측값으로 처리할 수 있습니다. Y의 관측값 y는 실제 평점이 y–0.5y+0.5 사이에 있음을 나타냅니다.

각 행이 Y의 각 정수를 둘러싸는 구간을 나타내는 행렬을 생성합니다.

intervalY = [Y-0.5, Y+0.5];

경험적 cdf 값을 계산합니다.

[f,x] = ecdf(intervalY);

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

figure
ecdf(intervalY)

Figure contains an axes object. The axes object contains 2 objects of type line, patch.

더 작은 영역을 확대하여 구간 추정값을 봅니다.

idx_roi = 21:30;
xlim([x(idx_roi(1),1) x(idx_roi(end),2)])

Figure contains an axes object. The axes object contains 2 objects of type line, patch.

대응되는 x 값 및 f 값을 표시합니다.

table(idx_roi',x(idx_roi,:),f(idx_roi,:), ...
    'VariableNames',{'Index','x','Empirical cdf F(x)'})
ans=10×3 table
    Index          x           Empirical cdf F(x)
    _____    ______________    __________________

     21      377.5    378.5         0.069909     
     22      382.5    383.5         0.075988     
     23      384.5    385.5         0.079027     
     24      390.5    391.5         0.082067     
     25      395.5    396.5         0.085106     
     26      397.5    398.5         0.091185     
     27      400.5    401.5         0.094225     
     28      401.5    402.5         0.097264     
     29      403.5    404.5          0.10334     
     30      409.5    410.5          0.10638     

음영 사각형은 대응되는 구간 내에서 경험적 cdf 값 F(x)가 변경됨을 나타냅니다. 예를 들어, 확대된 플롯의 왼쪽에서 두 번째 음영 사각형은 구간 (382.5,383.5]에 해당합니다. F(382.5)는 0.075988이고 F(383.5)는 0.079027이므로, 구간 (382.5,383.5]에서 0.075988에서 0.079027로 변경된 것입니다. 정확한 변경 시간은 불분명합니다.

다양한 방법으로 구간 추정값을 플로팅할 수 있습니다. 각 구간의 시작 부분에서 확률 변경이 발생한다고 가정하는 경우 x의 첫 번째 열을 사용하여 F(x) 값을 플로팅할 수 있습니다.

figure
stairs(x(:,1),f)
title('Probability changes at the start')
xlabel('x')
ylabel('F(x)')
xlim([x(idx_roi(1),1) x(idx_roi(end),2)])

Figure contains an axes object. The axes object with title Probability changes at the start contains an object of type stair.

또는 각 구간의 끝 부분에서 확률 변경이 발생한다고 가정하는 경우 x의 두 번째 열을 사용하여 F(x) 값을 플로팅할 수 있습니다.

figure
stairs(x(:,2),f)
title('Probability changes at the end')
xlabel('x')
ylabel('F(x)')
xlim([x(idx_roi(1),1) x(idx_roi(end),2)])

Figure contains an axes object. The axes object with title Probability changes at the end contains an object of type stair.

앞의 두 개 플롯을 합쳐서 구간을 시각화합니다.

figure
stairs(x(:,1),f)
hold on
stairs(x(:,2),f)
title('Probability changes in the interval')
xlabel('x')
ylabel('F(x)')
xlim([x(idx_roi(1),1) x(idx_roi(end),2)])
hold off

Figure contains an axes object. The axes object with title Probability changes in the interval contains 2 objects of type stair.

데이터에 대한 경험적 누적 분포 함수(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 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.

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

입력 인수

모두 축소

표본 데이터 및 중도절단 정보로, 표본 데이터로 구성된 벡터나 표본 데이터 및 중도절단 정보로 구성된 2열 행렬로 지정됩니다.

y 인수 또는 Censoring 이름-값 인수를 사용하여 표본 데이터에 대한 중도절단 정보를 지정할 수 있습니다. y가 2열 행렬인 경우 ecdf 함수는 Censoring 인수 값을 무시합니다.

y의 관측값의 중도절단 유형에 따라 y를 벡터 또는 2열 행렬로 지정하십시오.

  • 완전히 관측된 데이터 — y를 표본 데이터로 구성된 벡터로 지정하십시오.

  • 완전히 관측된 관측값, 좌측 중도절단된 관측값 또는 우측 중도절단된 관측값이 포함된 데이터 — y를 표본 데이터로 구성된 벡터로 지정하고 Censoring 이름-값 인수를 각 관측값에 대한 중도절단 정보를 포함하는 벡터로 지정하십시오. Censoring 벡터는 각각 완전히 관측된 관측값, 좌측 중도절단된 관측값 및 우측 중도절단된 관측값을 나타내는 0, –1 및 1을 포함할 수 있습니다.

  • 구간 중도절단된 관측값을 포함하는 데이터 — y를 표본 데이터 및 중도절단 정보로 구성된 2열 행렬로 지정하십시오. y의 각 행은 각 관측값의 가능한 생존 시간 또는 고장 시간의 범위를 지정하며 다음 값 중 하나를 가질 수 있습니다.

    • [t,t]t에서 완전히 관측됨

    • [–Inf,t]t에서 좌측 중도절단됨

    • [t,Inf]t에서 우측 중도절단됨

    • [t1,t2][t1,t2]에서 구간 중도절단됨. 여기서 t1 < t2

ecdfy에 포함된 NaN 값을 무시합니다. 또한, 중도절단 벡터(Censoring)나 도수 벡터(Frequency)에 NaN 값이 포함되어 있을 경우 ecdfy에서 이에 대응하는 행을 무시합니다.

데이터형: single | double

ecdf가 플로팅할 Figure의 대상 좌표축으로, Axes 객체로 지정됩니다.

예를 들어, h가 Figure의 대상 Axes 객체이면 ecdf는 다음 예제에 표시된 것처럼 해당 Figure에 플로팅할 수 있습니다.

예: ecdf(h,x)

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'Censoring',c,'Function','cumulative hazard','Alpha',0.025,'Bounds','on'ecdf가 벡터 c로 지정된 중도절단된 데이터를 고려하여 누적 위험 함수와 97.5% 신뢰한계를 반환하도록 지시합니다.

ecdf에서 반환되는 함수 유형으로, 다음 값 중 하나로 지정됩니다.

설명
'cdf'(디폴트 값)누적 분포 함수(cdf)
'survivor'생존 함수
'cumulative hazard'누적 위험 함수

예: 'Function','cumulative hazard'

중도절단된 데이터 표시자로, 각각 완전히 관측된 관측값, 좌측 중도절단된 관측값 및 우측 중도절단된 관측값을 나타내는 0, –1 및 1로 구성된 벡터로 지정됩니다. Censoring 값의 각 요소는 y의 대응되는 관측값에 대한 중도절단 상태를 나타냅니다. Censoring 값은 y와 크기가 같아야 합니다. 디폴트 값은 0으로 구성된 벡터로, 모든 관측값이 완전히 관측됨을 나타냅니다.

이 인수를 사용하여 구간 중도절단된 관측값을 지정할 수 없습니다. 표본 데이터에 구간 중도절단된 관측값이 포함된 경우 2열 행렬을 사용하여 y를 지정하십시오. y가 2열 행렬인 경우 ecdf 함수는 Censoring 값을 무시합니다.

ecdf는 중도절단 벡터에 포함된 NaN 값을 무시합니다. 또한, y 또는 도수 벡터(Frequency)에 NaN 값이 하나라도 포함되어 있으면 ecdf가 중도절단 벡터에서 이에 대응되는 값을 무시합니다.

예: 'Censoring',censored. 여기서 censored는 중도절단 정보를 포함하는 벡터입니다.

데이터형: logical | single | double

관측값의 도수로, y와 동일한 행 개수를 갖는, 음이 아닌 정수 도수로 구성된 벡터로 지정됩니다. Frequency 값의 j번째 요소는 yj번째 행이 관측된 횟수를 알려줍니다. 디폴트 값은 1로 구성된 벡터로, y의 각 행마다 하나의 관측값이 있음을 나타냅니다.

ecdf는 이러한 도수 벡터에 포함된 NaN 값을 모두 무시합니다. 또한, y 또는 중도절단 벡터(Censoring)에 NaN 값이 하나라도 포함되어 있으면 ecdf가 도수 벡터에서 이에 대응되는 값을 무시합니다.

예: 'Frequency',freq. 여기서 freq는 관측값의 도수를 포함하는 벡터입니다.

데이터형: single | double

최대 반복 횟수로, 양의 정수로 지정됩니다. 이 인수는 양측 중도절단된 데이터 및 구간 중도절단된 데이터에만 유효합니다.

예: 'IterationLimit',1e5

데이터형: single | double

함수 값 f에 대한 종료 허용오차로, 양의 스칼라로 지정됩니다. 이 인수는 양측 중도절단된 데이터 및 구간 중도절단된 데이터에만 유효합니다.

예: 'Tolerance',1e-5

데이터형: single | double

ICM(Iterative Convex Minorant) 스텝의 도수로, 양의 정수로 지정됩니다. 이 인수는 구간 중도절단된 데이터에만 유효합니다.

ecdf는 EMICM(Expectation-Maximization Iterative Convex Minorant) 알고리즘 [5]을 사용하여 구간 중도절단된 데이터에 대해 출력값 f를 계산합니다. EMICM 알고리즘은 각 반복마다 EM 알고리즘 또는 ICM 알고리즘을 사용합니다. ecdf는 지정된 반복 횟수마다 ICM 스텝을 실행합니다. 예를 들어, 기본적으로 ecdf는 EM 스텝을 9회 반복하고 ICM 스텝을 1회 실행한 다음 EM 단계로 돌아갑니다.

예: 'ICMFrequency',1

데이터형: single | double

계산된 함수의 신뢰구간에 대한 유의수준으로, 범위 (0,1)의 스칼라로 지정됩니다. 디폴트 값은 95% 신뢰구간에 대해 0.05입니다. 주어진 값 alpha에 대해 신뢰수준은 100(1 – Alpha)%입니다.

이 인수는 구간 중도절단된 데이터에는 유효하지 않습니다.

예: 'Alpha',0.01은 신뢰수준을 99%로 지정합니다.

데이터형: single | double

플롯에 신뢰한계가 포함되는지 여부를 나타내는 표시자로, 다음 값 중 하나로 지정됩니다.

설명
'off'(디폴트 값)신뢰한계를 생략합니다.
'on' 신뢰한계를 포함합니다.

이 인수는 구간 중도절단된 데이터에는 유효하지 않습니다.

참고

이 인수는 플로팅하는 경우에만 유효합니다.

예: 'Bounds','on'

출력 인수

모두 축소

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

  • 점 추정값은 x(i)에서의 함수 값이 f(i)임을 나타냅니다.

  • 구간 추정값은 함수 값이 구간 (x(i,1),x(i,2)] 내에서 f(i–1)에서 f(i)로 변경됨을 나타냅니다. 정확한 변경 시간은 불분명합니다. 예제는 구간 중도절단된 데이터의 경험적 cdf 항목을 참조하십시오.

f의 함수 유형은 Function 이름-값 인수로 지정된 대로 cdf(디폴트 값), 생존 함수 또는 누적 위험 함수일 수 있습니다.

계산 지점 또는 계산 구간으로, 각각 열 벡터 또는 2열 행렬로 지정됩니다.

  • ecdf는 완전히 관측된 데이터, 좌측 중도절단된 데이터, 우측 중도절단된 데이터, 양측 중도절단된 데이터에 대해 열 벡터를 반환합니다.

    • 완전히 관측된 데이터, 좌측 중도절단된 데이터, 우측 중도절단된 데이터의 경우 ecdfy에서 중도절단된 관측값의 값을 제거하고, 남아 있는 값을 정렬하고, 정렬된 값에서 중복된 값을 제거하고, 결과를 출력값 x에 저장합니다.

    • 양측 중도절단된 데이터의 경우 ecdf는 어느 y 값이 이벤트 시간에 대응되는지 결정하고, 해당 값을 결정하고, 정렬된 값에서 중복된 값을 제거하고, 결과를 출력값 x에 저장합니다.

    출력값 xy의 최솟값을 처음 두 개의 값으로 포함시킵니다. 이 두 값은 stairs 함수를 사용하여 ecdf의 출력값을 플로팅하는 데 유용합니다.

  • ecdf는 구간 중도절단된 데이터에 대해 2열 행렬을 반환합니다. ecdf는 Turnbull 구간이라고 하는 구간에서 함수 값 f를 계산합니다. 자세한 내용은 알고리즘 항목을 참조하십시오.

계산된 함수의 신뢰 하한으로, 열 벡터로 반환됩니다. ecdf는 각 관측값의 신뢰한계를 계산합니다. flo는 곡선의 동시 신뢰한계가 아닙니다.

이 인수는 구간 중도절단된 데이터에는 유효하지 않습니다.

계산된 함수의 신뢰 상한으로, 열 벡터로 반환됩니다. ecdf는 각 관측값의 신뢰한계를 계산합니다. fup는 곡선의 동시 신뢰한계가 아닙니다.

이 인수는 구간 중도절단된 데이터에는 유효하지 않습니다.

세부 정보

모두 축소

중도절단 유형

ecdf 함수는 좌측 중도절단된 관측값, 우측 중도절단된 관측값 및 구간 중도절단된 관측값을 지원합니다.

  • 시간 t에서 좌측 중도절단된 관측값 — 이벤트가 시간 t 이전에 발생했으며 정확한 이벤트 시간은 알 수 없습니다.

  • 시간 t에서 우측 중도절단된 관측값 — 이벤트가 시간 t 이후에 발생했으며 정확한 이벤트 시간은 알 수 없습니다.

  • 구간 [t1,t2] 내에서 구간 중도절단된 관측값 — 이벤트가 시간 t1 이후 및 시간 t2 이전에 발생했으며 정확한 이벤트 시간은 알 수 없습니다.

양측 중도절단된 데이터는 좌측 중도절단된 관측값과 우측 중도절단된 관측값을 모두 포함합니다.

생존 함수

생존 함수는 시간에 대한 함수로 표현되는 생존 확률입니다. 이는 생존자 함수(Survivor Function)라고도 합니다.

이 생존 함수는 개별 항목의 생존 시간이 특정 값을 초과할 확률을 제공합니다. 누적 분포 함수 F(t)는 생존 시간이 주어진 특정 시점 t보다 작거나 같을 확률이므로 연속 분포에 대한 생존 함수 S(t)는 누적 분포 함수의 보수, 즉 S(t) = 1 – F(t)입니다.

누적 위험 함수

위험 함수 h(t)는 개체가 주어진 특정 시점까지 생존했다는 조건 하에 그 개체의 순간실패율(instantaneous failure rate)입니다. 누적 위험 함수 H(t)는 시간 t까지의 누적 위험입니다.

h(t)=limΔt0P(tT<t+Δt|Tt)Δt,

H(t)=0th(u)du.

위험 함수는 항상 양의 값을 받습니다. 그러나 이 값은 확률에 대응되지 않으며 1보다 클 수 있습니다.

관계 S(t) = exp(–H(t))를 사용하여 생존 함수 S(t)에서 누적 위험 함수 값을 구할 수 있습니다.

알고리즘

ecdf는 중도절단 정보에 따라 다양한 알고리즘을 사용하여 함수 값(f)과 신뢰한계(flofup)를 계산합니다. f의 함수 유형은 Function 이름-값 인수로 지정된 대로 cdf(디폴트 값), 생존 함수 또는 누적 위험 함수일 수 있습니다.

중도절단 유형f의 알고리즘flofup의 알고리즘
우측 중도절단된 데이터 - 완전히 관측된 관측값 또는 우측 중도절단된 관측값 포함
  • cdf 및 생존 함수 값에 카플란-마이어 추정량을 사용합니다.

    카플란-마이어 추정량 S^(t)는 다음과 같이 지정됩니다.

    S^(t)=ti<tridiri,

    여기서 ri는 ti 시점에서 생존 관측값 개수이고, di는 ti 시점에서 고장 수입니다. 자세한 내용은 Kaplan-Meier Method 항목을 참조하십시오.

  • 누적 위험 함수 값에 Nelson-Aalen 추정량을 사용합니다.

    Nelson-Aalen 추정량은 다음과 같이 지정됩니다.

    H^(t)=ti<tdiri.

카플란-마이어 추정량의 분산에 대한 근삿값인 그린우드의 공식(Greenwood’s Formula)을 사용합니다.

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

V(S^(t))=S^2(t)ti<tdiri(ridi).

좌측 중도절단된 데이터 - 완전히 관측된 관측값 또는 좌측 중도절단된 관측값 포함

카플란-마이어 추정량을 사용합니다.

그린우드의 공식(Greenwood’s Formula)을 사용합니다.

양측 중도절단된 데이터 - 우측 중도절단된 관측값과 좌측 중도절단된 관측값을 모두 포함

Turnbull의 알고리즘[3][4]을 사용합니다. 알고리즘에 사용할 최대 반복 횟수(IterationLimit)와 함수 값에 대한 종료 허용오차(Tolerance)를 지정할 수 있습니다.

피셔 정보 행렬을 사용합니다.

구간 중도절단된 데이터 - 구간 중도절단된 관측값 포함
  • EMICM(Expectation-Maximization Iterative Convex Minorant) 알고리즘[5]을 사용합니다. EMICM 알고리즘은 각 반복마다 EM 알고리즘 또는 ICM 알고리즘을 사용합니다. ICMFrequency 이름-값 인수는 ICM 알고리즘의 도수를 결정합니다. ecdf는 지정된 반복 횟수마다 ICM 스텝을 실행합니다. 기본적으로 ecdf는 EM 단계를 9회 반복하고 ICM 단계를 1회 실행한 다음 EM 단계로 돌아갑니다. 알고리즘에 사용할 최대 반복 횟수(IterationLimit)와 함수 값에 대한 종료 허용오차(Tolerance)를 지정할 수 있습니다.

  • ecdf는 2열 행렬 데이터 y에서 Turnbull 구간이라고 하는 상호 서로소 구간을 생성하고 구간에서 Turnbull 구간(x) 및 추정값(f)을 반환합니다. 구간의 왼쪽 한계는 y의 첫 번째 열에서 가져오고, 구간의 오른쪽 한계는 y의 두 번째 열에서 가져옵니다. 완전히 관측된 관측값의 경우(동일한 두 값 [t t]를 가지는 행), 함수는 Turnbull 구간을 생성하기 전에 [t t][t–eps(t) t]로 변환하여 0이 아닌 길이의 구간을 생성합니다.

지원되지 않습니다.

참고 문헌

[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.

[3] Klein, John P., and Melvin L. Moeschberger. Survival Analysis: Techniques for Censored and Truncated Data. 2nd ed. Statistics for Biology and Health. New York: Springer, 2003.

[4] Turnbull, Bruce W. "Nonparametric Estimation of a Survivorship Function with Doubly Censored Data." Journal of the American Statistical Association 69, No. 345 (1974): 169–73.

[5] Anderson-Bergman, Clifford. "An Efficient Implementation of the EMICM Algorithm for the Interval Censored NPMLE." Journal of Computational and Graphical Statistics 26, no. 2 (April 3, 2017): 463–67.

[6] Ware, James H., and David L. Demets. "Reanalysis of Some Baboon Descent Data." Biometrics 32, no. 2 (June 1976): 459–63.

확장 기능

버전 내역

R2006a 이전에 개발됨