PredictionConfidenceInterval

Объект, содержащий результаты доверительных интервалов для предсказаний модели

Описание

The PredictionConfidenceInterval объект содержит результаты доверительных интервалов для предсказаний модели (то есть результаты симуляции на основе предполагаемых параметров).

Создание

Создайте объект доверительного интервала предсказания с помощью sbiopredictionci.

Свойства

расширить все

Это свойство доступно только для чтения.

Имена ответов модели в соответствии с параметром, заданные как массив ячеек из векторов символов. Каждая камера содержит имя ответа.

Пример: {'Central.Drug_Central' } {'Peripheral.Drug_Peripheral'}

Это свойство доступно только для чтения.

Статус оценки доверительного интервала, заданный как одно из следующих категориальных значений:

  • success - Найдены соответствующие доверительные интервалы. То есть ни одно предсказание модели не ограничено параметром границами, заданными в исходной подгонке.

  • constrained - Доверительные интервалы найдены, но доверительный интервал для отклика модели ограничен параметром, заданным в исходной подгонке.

  • not estimable - Не найдены доверительные интервалы.

  • estimable - Соответствующие доверительные интервалы найдены, но другие предсказания модели имеют статус оценки constrained или not estimable. Для доверительного интервала bootstrap всегда задается состояние estimable.

Для получения дополнительной информации смотрите Расчет Доверительного Интервала Гауссова для Предсказаний Модели и Расчет Доверительного Интервала Bootstrap.

Пример: success

Это свойство доступно только для чтения.

Тип доверительного интервала, заданный как 'gaussian' или 'bootstrap'.

Пример: 'bootstrap'

Это свойство доступно только для чтения.

Доверительный уровень, (1-Alpha) * 100%, заданная как положительная скалярная величина от 0 до 1.

Пример: 0.01

Это свойство доступно только для чтения.

Исходные имена групп из данных, используемых для подбора кривой модели, заданные как массив ячеек из векторов символов. Каждая камера содержит имя группы.

Пример: {'1'}{'2'}{'3'}

Это свойство доступно только для чтения.

Результаты доверительного интервала, заданные как таблица. Таблица содержит следующие столбцы.

Имя столбцаОписание
GroupИмя группы
ResponseИмя отклика модели
TimeВремя симуляции
EstimateРасчетное значение отклика
ConfidenceIntervalДоверие интервалов

Это свойство доступно только для чтения.

Выходные флаги, возвращенные во время вычисления bootstrap только доверительные интервалы, заданные как вектор из целых чисел. Каждое целое число является выходным флагом, возвращаемым функцией оценки (кроме nlinfit) для подгонки параметров во время начальной загрузки. Та же функция оценки, которая используется в исходной подгонке, используется для начальной загрузки.

Каждый флаг указывает на успех или состояние отказа подбора кривой, выполненного для создания выборки загрузочного ремешка. Значение выходного флага см. на странице с описанием соответствующей функции оценки.

Если функция оценки не возвращает выходной флаг, ExitFlags установлено в []. Для gaussian доверительные интервалы, ExitFlags не поддерживается и всегда устанавливается на [].

Функции объекта

plotПостройте графики результатов доверительных интервалов для предсказаний модели

Примеры

свернуть все

Загрузка данных

Загрузите выборочные данные в соответствии. Данные хранятся как таблица с идентификаторами переменных, Time, CentralConc и PeripheralConc. Эти синтетические данные представляют временной ход концентраций в плазме, измеренных в восьми различных временных точках как для центрального, так и для периферийного отделений после капельного внутривенного введения в течение трёх индивидуумов.

load data10_32R.mat
gData = groupedData(data);
gData.Properties.VariableUnits = {'','hour','milligram/liter','milligram/liter'};
sbiotrellis(gData,'ID','Time',{'CentralConc','PeripheralConc'},'Marker','+',...
            'LineStyle','none');

Создайте модель

Создайте модель с двумя отсеками.

pkmd                 = PKModelDesign;
pkc1                 = addCompartment(pkmd,'Central');
pkc1.DosingType      = 'Infusion';
pkc1.EliminationType = 'linear-clearance';
pkc1.HasResponseVariable = true;
pkc2                 = addCompartment(pkmd,'Peripheral');
model                = construct(pkmd);
configset            = getconfigset(model);
configset.CompileOptions.UnitConversion = true;

Определите дозирование

Определите капельное внутривенное введение.

dose             = sbiodose('dose','TargetName','Drug_Central');
dose.StartTime   = 0;
dose.Amount      = 100;
dose.Rate        = 50;
dose.AmountUnits = 'milligram';
dose.TimeUnits   = 'hour';
dose.RateUnits   = 'milligram/hour';

Определите параметры

Определите параметры для оценки. Установите границы параметров для каждого параметра. В дополнение к этим явным границам преобразования параметров (такие как журнал, logit или probit) накладывают неявные ограничения.

responseMap = {'Drug_Central = CentralConc','Drug_Peripheral = PeripheralConc'};
paramsToEstimate   = {'log(Central)','log(Peripheral)','Q12','Cl_Central'};
estimatedParam     = estimatedInfo(paramsToEstimate,...
                                   'InitialValue',[1 1 1 1],...
                                   'Bounds',[0.1 3;0.1 10;0 10;0.1 2]);

Подгонка модели

Выполните неохлажденную подгонку, то есть один набор предполагаемых параметров для каждого пациента.

unpooledFit = sbiofit(model,gData,responseMap,estimatedParam,dose,'Pooled',false);

Выполните объединенную подгонку, то есть один набор предполагаемых параметров для всех пациентов.

pooledFit = sbiofit(model,gData,responseMap,estimatedParam,dose,'Pooled',true);

Вычисление доверительных интервалов для предполагаемых параметров

Вычислите 95% доверительные интервалы для каждого оцененного параметра в неохлажденной подгонке.

ciParamUnpooled = sbioparameterci(unpooledFit);

Отображение результатов

Отображение интервалов доверия в формате таблицы. Для получения дополнительной информации о значении каждого статуса оценки смотрите Статус доверительного интервала параметра.

ci2table(ciParamUnpooled)
ans =

  12x7 table

    Group         Name         Estimate    ConfidenceInterval      Type      Alpha      Status   
    _____    ______________    ________    __________________    ________    _____    ___________

      1      {'Central'   }      1.422      1.1533     1.6906    Gaussian    0.05     estimable  
      1      {'Peripheral'}     1.5629     0.83143     2.3551    Gaussian    0.05     constrained
      1      {'Q12'       }    0.47159     0.20093    0.80247    Gaussian    0.05     constrained
      1      {'Cl_Central'}    0.52898     0.44842    0.60955    Gaussian    0.05     estimable  
      2      {'Central'   }     1.8322      1.7893     1.8751    Gaussian    0.05     success    
      2      {'Peripheral'}     5.3368      3.9133     6.7602    Gaussian    0.05     success    
      2      {'Q12'       }    0.27641      0.2093    0.34351    Gaussian    0.05     success    
      2      {'Cl_Central'}    0.86034     0.80313    0.91755    Gaussian    0.05     success    
      3      {'Central'   }     1.6657      1.5818     1.7497    Gaussian    0.05     success    
      3      {'Peripheral'}     5.5632      4.7557     6.3708    Gaussian    0.05     success    
      3      {'Q12'       }    0.78361     0.65581    0.91142    Gaussian    0.05     success    
      3      {'Cl_Central'}     1.0233     0.96375     1.0828    Gaussian    0.05     success    

Постройте график доверительных интервалов. Если статус оценки доверия интервала success, он нанесен синим цветом (первый цвет по умолчанию). В противном случае он нанесен красным цветом (второй цвет по умолчанию), что указывает на то, что может потребоваться дальнейшее исследование установленных параметров. Если доверительный интервал not estimable, затем функция строит красную линию с центрированным крестом. Если существуют какие-либо преобразованные параметры с оценочными значениями 0 (для преобразования журнала) и 1 или 0 (для преобразования probit или logit), то никакое доверие интервалы для этих оценок параметра не строятся. Чтобы увидеть порядок цвета, введите get(groot,'defaultAxesColorOrder').

Группы отображаются слева направо в том же порядке, в котором они появляются в GroupNames свойство объекта, которое используется для пометки оси X. Y-метки являются преобразованными именами параметров.

plot(ciParamUnpooled)

Вычислите доверительные интервалы для объединенной подгонки.

ciParamPooled = sbioparameterci(pooledFit);

Отображение интервалов доверия.

ci2table(ciParamPooled)
ans =

  4x7 table

    Group          Name         Estimate    ConfidenceInterval      Type      Alpha      Status   
    ______    ______________    ________    __________________    ________    _____    ___________

    pooled    {'Central'   }     1.6626      1.3287     1.9965    Gaussian    0.05     estimable  
    pooled    {'Peripheral'}      2.687     0.89848     4.8323    Gaussian    0.05     constrained
    pooled    {'Q12'       }    0.44956     0.11445    0.85152    Gaussian    0.05     constrained
    pooled    {'Cl_Central'}    0.78493     0.59222    0.97764    Gaussian    0.05     estimable  

Постройте график доверительных интервалов. Имя группы помечено как «объединенное» для указания такой подгонки.

plot(ciParamPooled)

Постройте график всех результатов доверительного интервала вместе. По умолчанию доверительный интервал для каждой оценки параметра строится на отдельных осях. Вертикальные линии группируют доверительные интервалы оценок параметров, которые были вычислены в общей подгонке.

ciAll = [ciParamUnpooled;ciParamPooled];
plot(ciAll)

Можно также построить график всех доверительных интервалов в одной оси, сгруппированной по оценкам параметров, с помощью размещения 'Grouped'.

plot(ciAll,'Layout','Grouped')

В этом размещении можно указать на маркер центра каждого доверительного интервала, чтобы увидеть имя группы. Каждый оценочный параметр разделяется вертикальной черной линией. Вертикальные пунктирные линии группируют доверительные интервалы оценок параметров, которые были вычислены в общей подгонке. Границы параметров, заданные в исходной подгонке, отмечены квадратными скобками. Обратите внимание на различные шкалы на оси Y из-за преобразований параметров. Для образца ось Y Q12 находится в линейной шкале, но в Central находится в шкале журнала из-за ее журнала преобразования.

Вычисление доверительных интервалов для предсказаний модели

Вычислите 95% доверительные интервалы для предсказаний модели, то есть результаты симуляции с использованием оцененных параметров.

% For the pooled fit
ciPredPooled = sbiopredictionci(pooledFit);
% For the unpooled fit
ciPredUnpooled = sbiopredictionci(unpooledFit);

Постройте доверительные интервалы для предсказаний модели

Доверительный интервал для каждой группы строится в отдельном столбце, и каждый ответ строкой. Доверительные интервалы, ограниченные границами, нанесены красным цветом. Доверительные интервалы, не ограниченные границами, нанесены синим цветом.

plot(ciPredPooled)

plot(ciPredUnpooled)

Введенный в R2017b