Вычислите доверительные интервалы для предсказаний модели (требует Statistics and Machine Learning Toolbox),
вычисляет 95% доверительных интервалов для симуляции модели, следует ci
= sbiopredictionci(fitResults
)из fitResults
, NLINResults object
или OptimResults object
возвращенный sbiofit
. ci
PredictionConfidenceInterval
объект, который содержит вычисленные данные о доверительном интервале.
дополнительные опции использования заданы одним или несколькими ci
= sbiopredictionci(fitResults
,Name,Value
)Name,Value
парные аргументы.
Загрузка данных
Загрузите выборочные данные, чтобы соответствовать. Данные хранятся как таблица с переменными ID, Время, CentralConc и PeripheralConc. Эти синтетические данные представляют ход времени плазменных концентраций, измеренных в восьми различных моментах времени и для центральных и для периферийных отсеков после капельного внутривенного введения для трех индивидуумов.
clear all load data10_32R.mat gData = groupedData(data); gData.Properties.VariableUnits = {'','hour','milligram/liter','milligram/liter'}; sbiotrellis(gData,'ID','Time',{'CentralConc','PeripheralConc'},'Marker','+',... 'LineStyle','none');
Создайте модель
Создайте модель 2D отсека.
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';
Задайте параметры
Задайте параметры, чтобы оценить. Установите границы параметра для каждого параметра. В дополнение к этим явным границам преобразования параметра (такие как журнал, логит или пробит) налагают неявные границы.
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 (для пробита, или логит преобразовывают), то никакие доверительные интервалы не построены для тех оценок параметра. Чтобы видеть последовательность цветов, введите 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)
Можно также построить все доверительные интервалы в осях, сгруппированных оценками параметра с помощью 'Сгруппированного' размещения.
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)
fitResults
— Оценка параметра следует из sbiofit
NLINResults
возразите | OptimResults
возразите | векторОценка параметра следует sbiofit
В виде NLINResults object
, OptimResults object
, или вектор из объектов для необъединенных подгонок, которые были возвращены в то же самое sbiofit
вызвать.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Alpha',0.01,'Type','bootstrap'
задает, чтобы вычислить 99%-й доверительный интервал с помощью метода начальной загрузки.'Alpha'
— Доверительный уровеньДоверительный уровень, (1-Alpha) * 100%
В виде разделенной запятой пары, состоящей из 'Alpha'
и положительная скалярная величина между 0 и 1. Значением по умолчанию является 0.05
, значение 95%-го доверительного интервала вычисляется.
Пример: 'Alpha',0.01
'Type'
— Тип доверительного интервала'gaussian'
(значение по умолчанию) | 'bootstrap'
Тип доверительного интервала в виде разделенной запятой пары, состоящей из 'Type'
и вектор символов. Допустимый выбор:
'gaussian'
– Используйте Гауссово приближение распределения линеаризовавших ответов модели вокруг оценок параметра.
'bootstrap'
– Вычислите доверительные интервалы с помощью метода начальной загрузки.
Пример: 'Type','bootstrap'
'NumSamples'
— Количество выборок для начальной загрузкиКоличество выборок для начальной загрузки в виде разделенной запятой пары, состоящей из 'NumSamples'
и положительное целое число. Этот номер задает количество подгонок, которые выполняются во время расчета доверительного интервала, чтобы сгенерировать выборки начальной загрузки. Чем меньше номер, тем быстрее расчет доверительных интервалов становится, за счет уменьшенной точности.
Пример: 'NumSamples',500
'Display'
— Level of display возвращен в командную строку'off'
(значение по умолчанию) | 'none'
| 'final'
Level of display, возвращенный в командную строку в виде разделенной запятой пары, состоящей из 'Display'
и вектор символов. 'off'
(значение по умолчанию) или 'none'
не отображает вывода. 'final'
отображает сообщение, когда расчет заканчивается.
Пример: 'Display','final'
'UseParallel'
— Логический флаг, чтобы вычислить доверительные интервалы параллельноtrue
| false
Логический флаг, чтобы вычислить доверительные интервалы параллельно в виде разделенной запятой пары, состоящей из 'UseParallel'
и true
или false
. По умолчанию параллельные опции в исходной подгонке используются. Если этот аргумент установлен в true
и Parallel Computing Toolbox™ доступен, параллельные опции в исходной подгонке проигнорированы, и доверительные интервалы вычисляются параллельно.
Для Гауссовых доверительных интервалов:
Если вход fitResults
вектор из объектов результатов, затем расчет доверительных интервалов для каждого объекта выполняется параллельно. Гауссовы доверительные интервалы быстры, чтобы вычислить. Так, это может быть более выгодно, чтобы параллелизировать исходную подгонку (sbiofit
) и не набор UseParallel
к истине для sbiopredictionci
.
Для доверительных интервалов Начальной загрузки:
Функция вперед UseParallel
отметьте к bootci
. Нет никакого распараллеливания по входному вектору объектов результатов.
Примечание
Если у вас есть глобальный поток для генерации случайных чисел со многими подпотоками, чтобы вычислить параллельно восстанавливаемым способом, sbiopredictionci
первые проверки, которые будут видеть, является ли количество рабочих тем же самым как количество подпотоков. Если так, функция устанавливает UseSubstreams
к true
в statset
опция и передачи в bootci
(Statistics and Machine Learning Toolbox). В противном случае подпотоки проигнорированы по умолчанию.
Пример: 'UseParallel',true
ci
— Результаты доверительного интервалаPredictionConfidenceInterval
объектРезультаты доверительного интервала, возвращенные как PredictionConfidenceInterval
объект. Для необъединенной подгонки, ci
может быть вектор из PredictionConfidenceInterval
объекты.
Модель линеаризуется вокруг оценок параметра Pest, которые получены из результатов подгонки, возвращенных sbiofit
. CovarianceMatrix
преобразовывается с помощью линеаризовавшей модели. Кроме того, неявные границы параметра (log
, probit
, или logit
параметр преобразовывает заданный в исходную подгонку), и явные границы параметра (если задано в исходной подгонке) также сопоставлены через линеаризовавшую модель.
Линеаризовать модель, sbiopredictionci
первые проверки, которые будут видеть, включена ли функция анализа чувствительности в исходной подгонке. Если функция включена, функция использует якобиан, вычисленный через комплексное дифференцирование шага. Если функция выключена, якобиан вычисляется с помощью конечного дифференцирования. Конечное дифференцирование может быть неточным, и рассмотреть включение функции анализа чувствительности, когда вы запускаетесь sbiofit
.
Функция использует преобразованный CovarianceMatrix
и вычисляет Гауссовы доверительные интервалы для каждого предполагаемого ответа модели на каждом временном шаге.
В случаях, где доверительный интервал ограничивается границами параметра, заданными в исходной подгонке, границы доверительного интервала настроены согласно подходу, описанному Ву, H. и Нилом, M. [1].
Для каждого ответа модели сначала решает функция, неограничен ли доверительный интервал. Если так, состояние оценки соответствующего ответа модели установлено в not estimable
.
В противном случае, если доверительный интервал для ответа ограничивается параметром, связанным заданный в исходной подгонке, функция устанавливает свое состояние на constrained
. Преобразования параметра (такой как log
, probit
, или logit
) наложите неявные границы на предполагаемые параметры, например, ограничения положительности. Такие границы могут привести к переоценке доверия, то есть, доверительный интервал может быть меньшим, чем ожидалось.
Если никакой доверительный интервал не имеет состояние not estimable
оценки или
constrained
, затем функция устанавливает состояния оценки всех ответов модели на success
. В противном случае состояния оценки остающихся ответов модели установлены в estimable
.
bootci
(Statistics and Machine Learning Toolbox) функция от Statistics and Machine Learning Toolbox™ используется для расчета доверительные интервалы начальной загрузки. Первый вход nboot является количеством выборок (NumSamples
), и второй вход bootfun является функцией, которая выполняет эти действия.
Передискретизируйте данные (независимо в каждой группе, если несколько групп доступны).
Запустите подгонку параметра с передискретизируемыми данными.
Симулируйте модель с помощью предполагаемых параметров, чтобы получить ответы модели.
Возвратите ответы модели.
Состояние оценки всегда устанавливается в estimable
поскольку функция не может определить, ограничиваются ли доверительные интервалы границами на оценках параметра.
[1] Ву, H. и Член конгресса Нил. "Настроенные Доверительные интервалы для Ограниченного Параметра". Генетика поведения. 42 (6), 2012, стр 886-898.
Чтобы запуститься параллельно, установите 'UseParallel'
к true
.
Для получения дополнительной информации смотрите 'UseParallel'
аргумент пары "имя-значение".
ParameterConfidenceInterval
| PredictionConfidenceInterval
| sbiofit
| sbioparameterci
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.