Моделирование и оценка подогнанной модели SimBiology
[ynew,parameterEstimates] = predict(resultsObj)
[ynew,parameterEstimates] = predict(resultsObj,data,dosing)
[ynew,parameterEstimates] = predict(___,'ParameterType',value)
[ возвращает результаты моделирования ynew,parameterEstimates] = predict(resultsObj)ynew из оценки подогнанной модели SimBiology ®. Расчетные значения параметровparameterEstimates используется для вычисления ynew являются исходными по sbiofitmixed.
[ возвращает результаты моделирования ynew,parameterEstimates] = predict(resultsObj,data,dosing)ynew от оценки подогнанной модели SimBiology с использованием указанного data и dosing информация.
[ возвращает результаты моделирования на основе оценки подогнанной модели SimBiology с использованием оценок индивидуальных или популяционных параметров. Два варианта для ynew,parameterEstimates] = predict(___,'ParameterType',value)value являются 'individual' (по умолчанию) или 'population'.
Совет
Используйте этот метод для получения ответов модели в определенные моменты времени или для прогнозирования ответов модели с использованием различных ковариатных данных и информации о дозировке.
Оцените нелинейные параметры смешанных эффектов, используя клинические фармакокинетические данные, собранные у 59 детей. Оценка установленной модели с учетом новых данных или информации о дозировке.
Загрузить данные
В этом примере используются данные, собранные о 59 недоношенных детях, получавших фенобарбитал в течение первых 16 дней после рождения [1]. ds - таблица, содержащая данные профиля времени концентрации и ковариатную информацию для каждого младенца (или группы).
load pheno.mat ds
Преобразуйте в groupedData
Преобразуйте данные в формат groupedData для оценки параметра.
data = groupedData(ds);
Отображение первых нескольких строк data.
data(1:5,:)
ans =
5×6 groupedData
ID TIME DOSE WEIGHT APGAR CONC
__ ____ ____ ______ _____ ____
1 0 25 1.4 7 NaN
1 2 NaN 1.4 7 17.3
1 12.5 3.5 1.4 7 NaN
1 24.5 3.5 1.4 7 NaN
1 37 3.5 1.4 7 NaN
Визуализация данных
Отображение данных на решетчатом графике.
t = sbiotrellis(data, 'ID', 'TIME', 'CONC', 'marker', 'o',... 'markerfacecolor', [.7 .7 .7], 'markeredgecolor', 'r', ... 'linestyle', 'none'); t.plottitle = 'Concentration versus Time';

Создание однокамерной модели ПК
Создайте простую однокамерную модель PK с введением болюсной дозы и устранением линейного клиренса, чтобы соответствовать данным.
pkmd = PKModelDesign; addCompartment(pkmd,'Central','DosingType','Bolus',... 'EliminationType','linear-clearance',... 'HasResponseVariable',true,'HasLag',false); onecomp = pkmd.construct;
Картирование видов модели для данных ответа.
responseMap = 'Drug_Central = CONC';Определение расчетных параметров
Параметрами для оценки в данной модели является объем центрального отсека (Central) и скорость очистки (Cl_Central). sbiofitmixed вычисляет фиксированные и случайные эффекты для каждого параметра. Основной алгоритм вычисляет обычно распределенные случайные эффекты, которые могут нарушать ограничения для биологических параметров, которые всегда являются положительными, таких как объем и клиренс. Поэтому задайте преобразование для расчетных параметров так, чтобы преобразованные параметры следовали нормальному распределению. Результирующая модель:
и
θCl +ηCl, я,
где , и - фиксированные эффекты, случайные эффекты и оцененные значения параметров, соответственно, рассчитанные для каждого младенца (группа). Некоторые произвольные начальные оценки для V (объем центрального отделения) и Cl (скорость клиренса) используются здесь в отсутствие лучших эмпирических данных.
estimatedParams = estimatedInfo({'log(Central)','log(Cl_Central)'},'InitialValue',[1 1]);Определение дозирования
Всем младенцам давали препарат, представленный Drug_Central виды, где график дозирования варьируется у младенцев. Количество лекарства указано в переменной данных DOSE. Можно автоматически генерировать дозовые объекты из данных и использовать их во время фитинга. В этом примере: Drug_Central - целевой вид, получающий дозу.
sampleDose = sbiodose('sample','TargetName','Drug_Central'); doses = createDoses(data,'DOSE','',sampleDose);
Подогнать модель
Использовать sbiofitmixed для соответствия однокамерной модели данным.
nlmeResults = sbiofitmixed(onecomp,data,responseMap,estimatedParams,doses,'nlmefit');Визуализация результатов
Визуализация подогнанных результатов с использованием индивидуальных оценок параметров.
fig1 = plot(nlmeResults,'ParameterType','individual'); % Resize the figure. fig1.hFig.Position(:) = [100 100 1200 800];

Использование новых данных дозирования для моделирования установленной модели
Предположим, вы хотите предсказать, как дети 1 и 2 отреагировали бы при различных дозах. Вы можете предсказать их ответы следующим образом.
Создание новых дозовых объектов с новыми дозами.
dose1 = doses(1); dose1.Amount = dose1.Amount*2; dose2 = doses(2); dose2.Amount = dose2.Amount*1.5;
Используйте predict функция для оценки подогнанной модели с использованием новых данных дозирования. Если требуется прогнозирование отклика в определенное время, укажите новый вектор времени вывода. Используйте параметр ParameterType, чтобы указать отдельные параметры или параметры заполнения для использования. По умолчанию predict использует параметры заполнения при задании времени вывода.
timeVec = [0:25:400]; newResults = predict(nlmeResults,timeVec,[dose1;dose2],'ParameterType','population');
Визуализация прогнозируемых ответов при перекрытии экспериментальных данных для детей 1 и 2.
subplot(2,1,1) plot(data.TIME(data.ID == 1),data.CONC(data.ID == 1),'bo') hold on plot(newResults(1).Time,newResults(1).Data,'b') hold off ylabel('Concentration') legend('Observation(CONC)','Prediction') subplot(2,1,2) plot(data.TIME(data.ID == 2),data.CONC(data.ID == 2),'rx') hold on plot(newResults(2).Time,newResults(2).Data,'r') hold off legend('Observation(CONC)','Prediction') ylabel('Concentration') xlabel('Time')

Создание ковариатной модели для ковариатных зависимостей
Предположим, что существует корреляция между объемом и весом, и, возможно, объемом и оценкой APGAR. Рассмотрим эффект веса, моделируя две из этих ковариатных зависимостей: объём центрального (Central) и скорость очистки (Cl_Central) изменяются в зависимости от веса. Модель становится
и
+ηCl, я
Используйте CovariateModel объект для определения ковариатных зависимостей. Дополнительные сведения см. в разделе Указание ковариатной модели.
covModel = CovariateModel;
covModel.Expression = ({'Central = exp(theta1 + theta2*WEIGHT + eta1)',...
'Cl_Central = exp(theta3 + theta4*WEIGHT + eta2)'});
% Use |constructDefaultInitialEstimate| to create an |initialEstimates|
% struct.
initialEstimates = covModel.constructDefaultFixedEffectValues;Используйте FixedEffectNames для отображения тет (фиксированных эффектов), определенных в модели.
covModel.FixedEffectNames
ans = 4×1 cell
{'theta1'}
{'theta3'}
{'theta2'}
{'theta4'}
Используйте FixedEffectDescription свойство для отображения описаний соответствующих фиксированных эффектов (thetas), используемых в ковариатном выражении. Например, theta2 - фиксированный эффект ковариаты веса, который коррелирует с объемом (Central), обозначаемый как «Центральный/ВЕС».
disp('Fixed Effects Description:');Fixed Effects Description:
disp(covModel.FixedEffectDescription);
{'Central' }
{'Cl_Central' }
{'Central/WEIGHT' }
{'Cl_Central/WEIGHT'}
Установка начальных предположений для значений параметров с фиксированным эффектом для Central и Cl_Central используя значения, оцененные при подборе базовой модели.
initialEstimates.theta1 = nlmeResults.FixedEffects.Estimate(1); initialEstimates.theta3 = nlmeResults.FixedEffects.Estimate(2); covModel.FixedEffectValues = initialEstimates;
Подогнать модель
nlmeResults_cov = sbiofitmixed(onecomp,data,responseMap,covModel,doses,'nlmefit');Отображение установленных параметров и ковариаций
disp('Estimated Fixed Effects:');Estimated Fixed Effects:
disp(nlmeResults_cov.FixedEffects);
Name Description Estimate StandardError
__________ _____________________ ________ _____________
{'theta1'} {'Central' } -0.45664 0.078933
{'theta3'} {'Cl_Central' } -5.9519 0.1177
{'theta2'} {'Central/WEIGHT' } 0.52948 0.047342
{'theta4'} {'Cl_Central/WEIGHT'} 0.61954 0.071386
disp('Estimated Covariance Matrix:');Estimated Covariance Matrix:
disp(nlmeResults_cov.RandomEffectCovarianceMatrix);
eta1 eta2
________ ________
eta1 0.046503 0
eta2 0 0.041609
Визуализация результатов
Визуализация подогнанных результатов с использованием индивидуальных оценок параметров.
fig2 = plot(nlmeResults_cov,'ParameterType','individual'); % Resize the figure. fig2.hFig.Position(:) = [100 100 1200 800];

Использование новых ковариатных данных для оценки установленной модели
Предположим, что вы хотите исследовать ответы младенцев 1 и 2 с использованием различных ковариатных данных, а именно WEIGHT. Это можно сделать, указав новый WEIGHT данные. ID переменная данных соответствует индивидуальным младенцам.
newData = data(data.ID == 1 | data.ID == 2,:); newData.WEIGHT(newData.ID == 1) = 1.3; newData.WEIGHT(newData.ID == 2) = 1.4;
Смоделировать ответы младенцев 1 и 2 с использованием новых ковариатных данных.
[newResults_cov, newEstimates] = predict(nlmeResults_cov,newData,[dose1;dose2]);
newEstimates содержит обновленные оценки параметров для каждого человека (младенцев 1 и 2) после переоценки модели с использованием новых ковариатных данных.
newEstimates
newEstimates=4×3 table
Group Name Estimate
_____ ______________ _________
1 {'Central' } 2.5596
1 {'Cl_Central'} 0.0065965
2 {'Central' } 1.7123
2 {'Cl_Central'} 0.0064806
Сравните с оценочными значениями из исходной аппроксимации, используя старые ковариатные данные.
nlmeResults_cov.IndividualParameterEstimates( ... nlmeResults_cov.IndividualParameterEstimates.Group == '1' | ... nlmeResults_cov.IndividualParameterEstimates.Group == '2',:)
ans=4×3 table
Group Name Estimate
_____ ______________ _________
1 {'Central' } 2.6988
1 {'Cl_Central'} 0.0070181
2 {'Central' } 1.8054
2 {'Cl_Central'} 0.0068948
Визуализируйте новые результаты моделирования вместе с экспериментальными данными для ребенка 1 и 2.
subplot(2,1,1) plot(data.TIME(data.ID == 1),data.CONC(data.ID == 1),'bo') hold on plot(newResults_cov(1).Time,newResults_cov(1).Data,'b') hold off ylabel('Concentration') legend('Observation(CONC)','Prediction','Location','NorthEastOutside') subplot(2,1,2) plot(data.TIME(data.ID == 2),data.CONC(data.ID == 2),'rx') hold on plot(newResults_cov(2).Time,newResults_cov(2).Data,'r') hold off legend('Observation(CONC)','Prediction','Location','NorthEastOutside') ylabel('Concentration') xlabel('Time')

Ссылки
[1] Грасела, Т. Х. Младший и С. М. Донн. «Фармакокинетика фенобарбитала неонатальной популяции, полученная из рутинных клинических данных». Дев Фармакол Тер 1985:8 (6). 374-83.
resultsObj - Результаты оценкиNLMEResults объектРезультаты оценки, указанные как скаляр NLMEResults object, который содержит нелинейные результаты оценки смешанных эффектов, возвращенные sbiofitmixed.
data - Группированные данные или время выводаgroupedData объект | вектор | клеточный массив векторовГруппированные данные или время вывода, указанное как groupedData object, вектор или клеточный массив векторов выходных времен.
Если data является groupedData в нем должны быть указаны метки групп и время вывода. Метки групп могут ссылаться на новые или существующие группы из исходной посадки. Если модель со смешанными эффектами из исходной посадки (возвращается sbiofitmixed) использует ковариаты, groupedData объект также должен содержать ковариатные данные с одинаковыми метками для ковариат (CovariateLabels свойство), указанное в исходной ковариатной модели.
По умолчанию оценки отдельных параметров используются для моделирования групп по исходной посадке, а параметры заполнения используются для новых групп, если таковые имеются. См. раздел value описание аргумента для получения подробной информации.
Общее количество результатов моделирования в выходных данных ynew зависит от количества групп или выходных векторов времени в data и количество строк в dosing матрица. Для получения более подробной информации см. таблицу в ynew описание аргумента.
dosing - Информация о дозировке[] | 2-D матрица объектов дозы SimBiologyИнформация о дозировании, указанная как пустой массив [] или 2-D матрица объектов дозы SimBiology (ScheduleDose object или RepeatDose object). Если dosing является матрицей дозовых объектов, матрица должна содержать дозы по умолчанию или согласовываться с исходными дозирующими данными, используемыми с sbiofitmixed. То есть дозовые объекты в dosing должны иметь одинаковые значения для свойств дозы (например, TargetName) или должны быть параметризованы таким же образом, как исходные данные дозирования. Например, предположим, что исходная матрица дозирования имеет два столбца доз, где первая колонка нацелена на виды x, а вторая колонка нацелена на виды y. Тогда dosing должны иметь дозы в первой колонке, нацеленной на виды x, и дозы во второй колонке, нацеленной на виды y.
Если он пуст, во время моделирования дозы не применяются, даже если модель имеет активные дозы.
Если матрица не пуста, она должна содержать одну строку или одну строку на группу во входных данных. Если она имеет одну строку, во время моделирования ко всем группам применяются одинаковые дозы. Если она содержит несколько строк, каждая строка применяется к отдельной группе в том же порядке, что и группы во входных данных. Если для некоторых групп (или векторов времени) требуется больше доз, чем для других, заполните матрицу стандартными (фиктивными) дозами.
Допускается использование нескольких столбцов, что позволяет применять объекты с несколькими дозами к каждой группе или вектору времени. Все дозы в столбце должны быть дозами по умолчанию или должны ссылаться на одни и те же компоненты в модели (например, дозы должны иметь одинаковые TargetName) и должны иметь согласованные параметризованные свойства, как в исходных данных дозирования, используемых с sbiofitmixed. Например, если Amount свойство дозы, используемой в оригинале sbiofitmixed вызов параметризуется для параметра в области модели 'A', все дозы для соответствующей группы (колонка) в dosing должны иметь Amount свойство параметризовано для 'A'.
Доза по умолчанию имеет значения по умолчанию для всех свойств, за исключением Name собственность. Создайте дозу по умолчанию следующим образом.
d1 = sbiodose('d1');В дополнение к ручному построению дозовых объектов с помощью sbiodose, если входные данные являются groupedData объект и имеет информацию о дозировке, вы можете использовать createDoses СПОСОБ КОНСТРУИРОВАНИЯ ДОЗ ИЗ НЕГО.
Количество строк в dosing матрица и количество групп или векторов выходного времени в data определить общее количество результатов моделирования в выходных данных ynew. Для получения более подробной информации см. таблицу в ynew описание аргумента.
Примечание
Если UnitConversion включен для базовой модели SimBiology, которая использовалась для подгонки, dosing необходимо указать допустимое количество и единицы времени.
value - Тип параметра'individual' (по умолчанию) | 'population'Тип параметра, указанный как 'individual' (по умолчанию) или 'population'. Если value является 'population', predict метод возвращает результаты моделирования с использованием оценок параметров заполнения, то есть значений параметров, которые оцениваются только с использованием фиксированных эффектов. Расчетные значения параметров, используемые при моделировании, идентичны значениям в resultsObj.PopulationParameterEstimates свойство, если не указано новое groupedData объект data с новыми ковариатными данными. В этом случае метод повторно оценивает ковариатную модель и оценки параметров на основе новой groupedData и ковариатные данные.
Если value является 'individual', метод возвращает результаты моделирования, используя соответствующие значения параметров группы в resultsObj.IndividualParameterEstimates собственность. Эти значения включают в себя как оценки фиксированных, так и случайных эффектов, то есть значения параметров, оцененные с использованием как фиксированных, так и случайных эффектов. Если data содержит новые группы, для этих групп используются только фиксированные эффекты (оценки параметров заполнения объекта результатов).
По умолчанию predict использует оценки отдельных параметров объекта результатов, когда data является groupedData объект. Если data - вектор выходных времен или клеточный массив векторов, predict вместо этого использует оценки параметров заполнения объекта результатов.
ynew - Результаты моделированияSimData объектыРезультаты моделирования, возвращенные как вектор SimData объекты. Штаты, о которых сообщалось в ynew являются состояниями, включенными в responseMap входной аргумент sbiofitmixed и любые другие государства, перечисленные в StatesToLog свойства параметров среды выполнения (RuntimeOptions) модели SimBiology.
Общее число результатов моделирования в ynew зависит от количества групп или выходных векторов времени в data и количество строк в dosing матрица.
Количество групп или выходных векторов времени в data | Количество строк в dosing матрица | Результаты моделирования |
|---|---|---|
|
| Общее количество При моделировании дозы не применяются. |
|
| Общее количество Данный ряд доз применяют во время моделирования. |
| N | Общее количество Каждая строка |
N |
| Общее количество Во время моделирования дозы не применяются. |
N |
| Общее количество Один и тот же ряд доз применяется для каждого моделирования. |
| N | N | Общее количество Каждая строка |
| M | N | Функция выдает ошибку, когда M ≠ N. |
parameterEstimates - Расчетные значения параметровРасчетные значения параметров, используемые для прогнозируемых результатов моделирования, возвращаются в виде таблицы.
Если 'ParameterType' является 'individual', сообщаемые значения параметров идентичны значениям в resultsObj.IndividualParameterEstimates собственность. Однако, если data содержит новые группы, тогда для этих групп используются только оценки параметров популяции (фиксированные эффекты). Соответствующие отчетные значения в parameterEstimates для этих групп идентичны значениям в resultsObj.PopulationParameterEstimates.
Если 'ParameterType' является 'population', сообщаемые значения параметров идентичны значениям в resultsObj.PopulationParameterEstimates свойство, если не указать новую ковариатную информацию в data. См. раздел value описание аргумента для получения подробной информации.
Если data является вектором или массивом ячеек векторов выходного времени, сообщаемые значения параметров идентичны значениям в resultsObj.PopulationParameterEstimates. Кроме того, сообщенные группы представляют собой перечисление выполненных моделирований и не связаны с именами групп в исходной посадке.
CovariateModel object | NLMEResults object | sbiofitmixed | sbiosampleerror | sbiosampleparameters
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.