Моделирование модели SimBiology, добавление вариаций путем выборки модели ошибок
[ynew,parameterEstimates] = random(resultsObj)
[ynew,parameterEstimates] = random(resultsObj,data,dosing)
[ возвращает результаты моделирования ynew,parameterEstimates] = random(resultsObj)ynew с добавленным шумом с использованием информации модели ошибки, указанной resultsObj.ErrorModelInfo значения свойств и оценочных параметров parameterEstimates.
[ использует указанное ynew,parameterEstimates] = random(resultsObj,data,dosing)data и dosing информация.
Примечание
Шум добавляется только к состояниям, которые являются ответами, являющимися состояниями, включенными в responseMap входной аргумент при вызове sbiofit. Если для каждого ответа существует отдельная модель ошибки, шум добавляется к каждому ответу отдельно, используя соответствующую модель ошибки.
resultsObj - Результаты оценкиOptimResults объект | NLINResults объектРезультаты оценки, указанные как OptimResults object или NLINResults object, который содержит результаты оценки, возвращенные sbiofit. Это должен быть скалярный объект.
data - Группированные данные или время выводаgroupedData объект | вектор | клеточный массив векторовГруппированные данные или время вывода, указанное как groupedData object, вектор или клеточный массив векторов выходного времени.
Если это вектор временных точек, random моделирует модель с новыми временными точками, используя оценки параметров из объекта результатов resultsObj.
Если это клеточный массив векторов временных точек, random моделирует модель n раз с использованием времени вывода из каждого вектора времени, где n - длина data.
Если это groupedData объект должен иметь независимую переменную, например Time. Она также должна иметь переменную группы, если данные обучения, используемые для подгонки, имеют такую переменную. Вы можете использовать groupedData объект для запроса различных комбинаций категорий, если resultsObj содержит оценки параметров для каждой категории. random моделирует модель для каждой группы с заданными категориями. Например, предположим, что у вас есть набор оценок параметров для категории пола (мужчины против женщин) и возрастной категории (молодые против пожилых) в ваших данных обучения. Вы можете использовать random для моделирования ответов старого мужчины (или любой другой комбинации), хотя такой пациент может не существовать в тренировочных данных.
Если resultsObj из оценки специфичных для категории параметров, data должно быть groupedData объект.
Примечание
Если UnitConversion включен для базовой модели SimBiology, которая использовалась для подгонки и data является groupedData объект, data необходимо указать допустимые переменные единицы через data.Properties.VariableUnits собственность. Если это числовой вектор или клеточный массив векторов временных точек, random использует модель TimeUnits.
dosing - Информация о дозировке[] | 2-D матрица объектов дозы SimBiologyИнформация о дозировании, указанная как пустой массив [] или 2-D матрица объектов дозы SimBiology (ScheduleDose object или RepeatDose object). Если dosing является матрицей дозовых объектов, матрица должна содержать дозы по умолчанию или согласовываться с исходными дозирующими данными, используемыми с sbiofit. То есть дозовые объекты в dosing должны иметь одинаковые значения для свойств дозы (например, TargetName) или должны быть параметризованы таким же образом, как исходные данные дозирования. Например, предположим, что исходная матрица дозирования имеет два столбца доз, где дозы в первой колонке являются целевыми видами x, а дозы во второй колонке являются целевыми видами y. Тогда dosing должны иметь дозы в первой колонке, нацеленной на виды x, и дозы во второй колонке, нацеленной на виды y.
Если он пуст, во время моделирования дозы не применяются, даже если модель имеет активные дозы.
Если матрица не пуста, она должна содержать одну строку или одну строку на группу во входных данных. Если она имеет одну строку, во время моделирования ко всем группам применяются одинаковые дозы. Если она содержит несколько строк, каждая строка применяется к отдельной группе в том же порядке, что и группы во входных данных. Если для некоторых групп (или векторов времени) требуется больше доз, чем для других, заполните матрицу стандартными (фиктивными) дозами.
Допускается использование нескольких столбцов, что позволяет применять объекты с несколькими дозами к каждой группе или вектору времени. Все дозы в столбце должны быть дозами по умолчанию или должны ссылаться на одни и те же компоненты в модели (например, дозы должны иметь одинаковую целевую дозу TargetName) и должны иметь согласованные параметризованные свойства, как в исходных данных дозирования, используемых с sbiofit. Например, если Amount свойство дозы, используемой в оригинале sbiofit вызов параметризуется для параметра в области модели 'A', все дозы для соответствующей группы (колонка) в dosing должны иметь Amount свойство параметризовано для 'A'.
Доза по умолчанию имеет значения по умолчанию для всех свойств, за исключением Name собственность. Создайте дозу по умолчанию следующим образом.
d1 = sbiodose('d1');В дополнение к ручному построению дозовых объектов с помощью sbiodose, если входные данные являются groupedData объект и имеет информацию о дозировке, вы можете использовать createDoses СПОСОБ КОНСТРУИРОВАНИЯ ДОЗ ИЗ НЕГО.
Количество строк в dosing матрица и количество групп или векторов выходного времени в data определить общее количество результатов моделирования в выходных данных ynew. Для получения более подробной информации см. таблицу в ynew описание аргумента.
Примечание
Если UnitConversion включен для базовой модели SimBiology ®, которая использовалась для подгонки ,dosing необходимо указать допустимое количество и единицы времени.
ynew - Результаты моделирования с шумомSimData объектыРезультаты моделирования, возвращенные как вектор SimData объекты. Штаты, о которых сообщалось в ynew являются состояниями, которые были включены в responseMap входной аргумент sbiofit а также любые другие государства, перечисленные в StatesToLog свойства параметров среды выполнения (RuntimeOptions) модели SimBiology.
Общее число результатов моделирования в ynew зависит от количества групп или выходных векторов времени в data и количество строк в dosing матрица.
Количество групп или выходных векторов времени в data | Количество строк в dosing матрица | Результаты моделирования |
|---|---|---|
|
| Общее количество При моделировании дозы не применяются. |
|
| Общее количество Данный ряд доз применяют во время моделирования. |
| N | Общее количество Каждая строка |
N |
| Общее количество При моделировании дозы не применяются. |
N |
| Общее количество Один и тот же ряд доз применяется для каждого моделирования. |
| N | N | Общее количество Каждая строка |
| M | N | Функция выдает ошибку, когда M ≠ N. |
parameterEstimates - Расчетные значения параметровРасчетные значения параметров, возвращаемые в виде таблицы. Это идентично resultsObj.ParameterEstimates собственность.
В этом примере используется модель дрожжевого гетеротримерного G-белка и экспериментальные данные, представленные в [1]. Дополнительные сведения о модели см. в разделе Фон в разделе Сканирование параметров, Оценка параметров и Анализ чувствительности в цикле дрожжевого гетеротримерного G-белка.
Загрузите модель G-белка.
sbioloadproject gproteinВведите экспериментальные данные, содержащие временной курс для фракции активного G-белка, как указано в справочном документе [1].
time = [0 10 30 60 110 210 300 450 600]'; GaFracExpt = [0 0.35 0.4 0.36 0.39 0.33 0.24 0.17 0.2]';
Создать groupedData объект на основе экспериментальных данных.
tbl = table(time,GaFracExpt); grpData = groupedData(tbl);
Сопоставьте соответствующий компонент модели с экспериментальными данными. Другими словами, укажите, какие виды в модели соответствуют какой переменной ответа в данных. В этом примере сопоставьте параметр модели GaFrac в экспериментальную переменную данных GaFracExpt от grpData.
responseMap = 'GaFrac = GaFracExpt'; Использовать estimatedInfo объект для определения параметра модели kGd в качестве параметра, подлежащего оценке.
estimatedParam = estimatedInfo('kGd');Выполните оценку параметров. Использовать аргумент пары имя-значение 'ErrorModel' для указания модели ошибки, которая добавляет ошибку в данные моделирования.
fitResult = sbiofit(m1,grpData,responseMap,estimatedParam,'ErrorModel','proportional');
Просмотр расчетного значения параметра kGd.
fitResult.ParameterEstimates
ans =
Name Estimate StandardError
_____ ________ _____________
'kGd' 0.11 0.00064116 Используйте random метод извлечения данных моделирования с добавленным шумом с использованием модели пропорциональной ошибки, которая была определена sbiofit. Обратите внимание, что шум добавляется только в состояние ответа, то есть GaFrac параметр.
[ynew,paramEstim] = random(fitResult);
Выберите данные моделирования для GaFrac параметр.
GaFracNew = select(ynew,{'Name','GaFrac'});Постройте график результатов моделирования.
plot(GaFracNew.Time,GaFracNew.Data)
hold on
Постройте график экспериментальных данных, чтобы сравнить их с моделируемыми данными.
plot(time,GaFracExpt,'Color','k','Marker','o') legend('GaFracNew','GaFracExpt')

Yi, T-M., Kitano, H. и Simon, M. (2003). Количественная характеристика дрожжевого гетеротримерного G-белкового цикла. PNAS. 100, 10764–10769.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.