Этот пример показывает, как оценить и построить совокупную опасность и функции оставшегося в живых для различных групп.
Загрузите выборочные данные.
load(fullfile(matlabroot,'examples','stats','readmissiontimes.mat'))
Данные имеют времена повторного доступа пациентов с информацией об их поле, возрасте, весе, куря состояние и цензуру. Это - моделируемые данные.
Создайте матрицу времен повторного доступа и подвергающий цензуре для каждого пола.
female = [ReadmissionTime(Sex==1),Censored(Sex==1)]; male = [ReadmissionTime(Sex==0),Censored(Sex==0)];
Постройте оценку Каплана-Мейера кумулятивной функции распределения для розеточных и штекерных пациентов.
figure() ecdf(gca,female(:,1),'Censoring',female(:,2)); hold on [f,x] = ecdf(male(:,1),'Censoring',male(:,2)); stairs(x,f,'--r') hold off legend('female','male','Location','SouthEast')
Сравните функции оставшегося в живых для розеточных и штекерных пациентов.
figure() ax1 = gca; ecdf(ax1,female(:,1),'Censoring',female(:,2),'function','survivor'); hold on [f,x] = ecdf(male(:,1),'Censoring',male(:,2),'function','survivor'); stairs(x,f,'--r') legend('female','male')
Эти данные показывают, что времена повторного доступа короче для штекерных пациентов, чем пациентки.
Соответствуйте дистрибутивам Weibull ко временам повторного доступа розеточных и штекерных пациентов.
pd = fitdist(female(:,1),'wbl','Censoring',female(:,2))
pd = WeibullDistribution Weibull distribution A = 12.5593 [10.749, 14.6745] B = 1.99834 [1.56489, 2.55185]
pd2 = fitdist(male(:,1),'wbl','Censoring',male(:,2))
pd2 = WeibullDistribution Weibull distribution A = 4.63991 [3.91039, 5.50551] B = 1.94422 [1.48496, 2.54552]
pd2 = fitdist(male(:,1),'wbl','Censoring',male(:,2))
pd2 = WeibullDistribution Weibull distribution A = 4.63991 [3.91039, 5.50551] B = 1.94422 [1.48496, 2.54552]
Постройте функции оставшегося в живых Weibull для розеточных и штекерных пациентов на предполагаемых функциях оставшегося в живых.
plot(0:1:25,1-cdf('wbl',0:1:25,12.5593,1.99834),'-.') plot(0:1:25,1-cdf('wbl',0:1:25,4.63991,1.94422),':r') hold off legend('Festimated','Mestimated','FWeibull','MWeibull')
Распределение Weibull обеспечивает подходящий вариант для данных.
Оцените совокупную функцию опасности для полов и соответствуйте Weibull совокупные функции опасности.
figure() [f,x] = ecdf(female(:,1),'Censoring',female(:,2),... 'function','cumhazard'); plot(x,f) hold on plot(x,cumsum(pdf(pd,x)./(1-cdf(pd,x))),'-.') [f,x] = ecdf(male(:,1),'Censoring',male(:,2),... 'function','cumhazard'); plot(x,f,'--r') plot(x,cumsum(pdf(pd2,x)./(1-cdf(pd2,x))),':r') legend('Festimated','FWeibull','Mestimated','MWeibull',... 'Location','North')