Выполните мультипараметрический глобальный анализ чувствительности (требует Statistics and Machine Learning Toolbox),
выполняет мультипараметрический глобальный анализ чувствительности (MPGSA) [1] из mpgsaResults
= sbiompgsa(modelObj
,params
,classifiers
)classifiers
относительно параметров модели params
на модели SimBiology modelObj
. params
количества модели (входные параметры чувствительности) и classifiers
задайте выражения ответов модели (выходные параметры модели).
параметр использования mpgsaResults
= sbiompgsa(modelObj
,samples
,classifiers
)samples
выполнять мультипараметрический глобальный анализ чувствительности classifiers
.
чертит выборки от mpgsaResults
= sbiompgsa(modelObj
,scenarios
,classifiers
)scanarios
, SimBiology.Scenarios
объект, чтобы выполнить анализ.
данные о симуляции модели использования mpgsaResults
= sbiompgsa(simdata
,samples
,classifiers
)simdata
выполнять мультипараметрический глобальный анализ чувствительности classifiers
.
выборки использования заданы в mpgsaResults
= sbiompgsa(simdata
,scenarios
,classifiers
)scenarios
, SimBiology.Scenarios
объект.
дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Доступные аргументы name-value отличаются, в зависимости от которого синтаксиса вы используете.mpgsaResults
= sbiompgsa(___,Name,Value
)
Загрузите модель Установленного целью расположения препарата (TMDD).
sbioloadproject tmdd_with_TO.sbproj
Получите активный configset и установите целевое заполнение (TO
) как ответ.
cs = getconfigset(m1);
cs.RuntimeOptions.StatesToLog = 'TO';
Симулируйте модель и постройте TO
профиль.
sbioplot(sbiosimulate(m1,cs));
Задайте воздействие (область под кривой профиля TO) порог для целевого заполнения.
classifier = 'trapz(time,TO) <= 0.1';
Выполните MPGSA, чтобы найти чувствительные параметры относительно TO. Варьируйтесь значения параметров между предопределенными границами, чтобы сгенерировать 10 000 выборок параметра.
% Suppress an information warning that is issued during simulation. warnSettings = warning('off', 'SimBiology:sbservices:SB_DIMANALYSISNOTDONE_MATLABFCN_UCON'); rng(0,'twister'); % For reproducibility params = {'kel','ksyn','kdeg','km'}; bounds = [0.1, 1; 0.1, 1; 0.1, 1; 0.1, 1]; mpgsaResults = sbiompgsa(m1,params,classifier,'Bounds',bounds,'NumberSamples',10000)
mpgsaResults = MPGSA with properties: Classifiers: {'trapz(time,TO) <= 0.1'} KolmogorovSmirnovStatistics: [4x1 table] ECDFData: {4x4 cell} SignificanceLevel: 0.0500 PValues: [4x1 table] SupportHypothesis: [10000x1 table] ParameterSamples: [10000x4 table] Observables: {'TO'} SimulationInfo: [1x1 struct]
Постройте квантили симулированного ответа модели.
plotData(mpgsaResults);
Постройте эмпирические кумулятивные функции распределения (eCDFs) принятых и отклоненных выборок. За исключением km
, ни один из параметров не показывает значительную разницу в eCDFs для принятых и отклоненных выборок. km
постройте показывает крупному Кольмогорову-Смирнову (K-S) расстояние между eCDFs принятых и отклоненных выборок. Расстояние K-S является максимальным абсолютным расстоянием между двумя кривыми eCDFs.
h = plot(mpgsaResults);
% Resize the figure.
pos = h.Position(:);
h.Position(:) = [pos(1) pos(2) pos(3)*2 pos(4)*2];
Чтобы вычислить расстояние K-S между двумя eCDFs, SimBiology использует двухсторонний тест на основе нулевой гипотезы, что два распределения принятых и отклоненных выборок равны. Смотрите kstest2
(Statistics and Machine Learning Toolbox) для деталей. Если расстояние K-S является большим, то эти два распределения отличаются, означая, что классификация выборок чувствительна к изменениям входного параметра. С другой стороны, если расстояние K-S мало, то изменения входного параметра не влияют на классификацию выборок. Результаты предполагают, что классификация нечувствительна к входному параметру. Чтобы оценить значение статистической величины K-S, отклоняющей нулевую гипотезу, можно исследовать p-значения.
bar(mpgsaResults)
Столбиковая диаграмма показывает две панели для каждого параметра: один для расстояния K-S (статистическая величина K-S) и другой для соответствующего p-значения. Вы отклоняете нулевую гипотезу, если p-значение меньше уровня значения. Крест (x
) показан для любого p-значения, которое является почти 0. Вы видите, что точное p-значение соответствует каждому параметру.
[mpgsaResults.ParameterSamples.Properties.VariableNames',mpgsaResults.PValues]
ans=4×2 table
Var1 trapz(time,TO) <= 0.1
________ _____________________
{'kel' } 0.0021877
{'ksyn'} 1
{'kdeg'} 0.99983
{'km' } 0
P-значения km
и kel
меньше уровня (0.05) значения, поддерживая альтернативную гипотезу, что принятые и отклоненные выборки прибывают из различных распределений. Другими словами, классификация выборок чувствительна к km
и kel
но не к другим параметрам (kdeg
и ksyn
).
Можно также построить гистограммы принятых и отклоненных выборок. historgrams позволяют вам видеть тренды в принятых и отклоненных выборках. В этом примере, гистограмме km
показывает, что существуют более принятые выборки для большего km
значения, в то время как kel
гистограмма показывает, что существует меньше отклоненных выборок как kel
увеличения.
h2 = histogram(mpgsaResults);
% Resize the figure.
pos = h2.Position(:);
h2.Position(:) = [pos(1) pos(2) pos(3)*2 pos(4)*2];
Восстановите настройки предупреждения.
warning(warnSettings);
modelObj
— Модель SimBiologyМодель SimBiology в виде SimBiology model object
.
params
— Имена параметров модели, разновидностей или отсековИмена параметров модели, разновидностей или отсеков в виде вектора символов, строки, представляют в виде строки вектор или массив ячеек из символьных векторов.
Пример: ["k1","k2"]
Типы данных: char |
string
| cell
simdata
— Данные о симуляции моделиSimData
объектыДанные о симуляции модели в виде вектора из SimData
объекты.
scenarios
— Источник для рисования выборокSimBiology.Scenarios
объектИсточник для рисования выборок в виде a SimBiology.Scenarios
объект.
Примечание
Объект не должен содержать дозы или варианты как его записи.
classifiers
— Выражения ответов моделиВыражения ответов модели в виде вектора символов, строки, представляют в виде строки вектор или массив ячеек из символьных векторов. Задайте выражения, ссылающиеся на симулированные количества модели, observables, время или функции MATLAB, которые находятся на пути.
Каждый классификатор должен оценить к логическому вектору из той же длины как количество выборок параметра. Сущности, такие как количества модели или observables, на который ссылаются в выражении классификатора, оценены как матрица со столбцами, содержащими курсы времени симулированных значений количества. Каждый столбец представляет одну выборку. Каждая строка представляет тот выходное время. Для получения дополнительной информации смотрите Мультипараметрический Глобальный Анализ чувствительности (MPGSA).
Если вы задаете SimData
возразите как первый вход, каждая величина или observable
ссылаемый классификатором должен решить к регистрируемому компоненту в SimData
объект.
Можно сформулировать классификатор как вопрос о моделировании такой как, оказывает ли параметр модели влияние на превышение ответа модели или падение ниже целевого порога. Например, следующий классификатор задает воздействие (область под кривой) порог для целевого заполнения TO
: trapz(time,TO) <= 0.1
. Другой классификатор, используемый авторами в [1], измеряет отклонение усредненного ответа модели от среднего ответа модели по области параметра: mean(TO,1) < mean(TO,'all')
. Здесь mean(TO,1)
вычисляет усредненный ответ модели через время для каждой выборки входных параметров чувствительности и mean(TO,'all')
вычисляет среднее значение TO
ответ через все выходные времена и все выборки.
Пример: "max(Central.Drug(time > 1,:),[],1) <= 7"
Типы данных: char |
string
| cell
samples
— Выбранные значения количеств моделиВыбранные значения количеств модели в виде таблицы. Имена переменных таблицы указывают на имена количества.
Типы данных: table
mpgsaResults = sbiompgsa(m1,{'k1','k2'},classifier,'Bounds',[0.5 5;0.1 1])
задает границы параметра для k1 и k2.Задайте одну или несколько разделенных запятой пар Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Примечание
В зависимости от которого синтаксиса вы используете, доступные пары "имя-значение" отличаются.
Bounds
— Границы параметраПараметр ограничивает в виде числовой матрицы с двумя столбцами. Первый столбец содержит нижние границы, и второй столбец содержит верхние границы. Количество строк должно быть равно количеству параметров в params
.
Если параметр имеет ненулевое значение, границы по умолчанию составляют ±10% значения. Если значение параметров является нулем, границами по умолчанию является [0 1]
.
Пример: [0.5 5]
Типы данных: double
NumberSamples
— Количество отсчетов, чертившее, чтобы выполнить мультипараметрический глобальный анализ чувствительности
(значение по умолчанию) | положительное целое числоКоличество отсчетов, чертившее, чтобы выполнить мультипараметрический глобальный анализ чувствительности в виде разделенной запятой пары, состоящей из 'NumberSamples'
и положительное целое число.
Типы данных: double
SamplingMethod
— Метод, чтобы сгенерировать выборки параметра'Sobol'
(значение по умолчанию) | вектор символов | строкаМетод, чтобы сгенерировать выборки параметра в виде вектора символов или строки. Допустимые опции:
'Sobol'
— Используйте низкое несоответствие последовательность Sobol, чтобы сгенерировать выборки.
'Halton'
— Используйте низкое несоответствие последовательность Холтона, чтобы сгенерировать выборки.
'lhs'
— Используйте латинские выборки гиперкуба низкого несоответствия.
'random'
— Используйте равномерно распределенные случайные выборки.
Типы данных: char |
string
SamplingOptions
— Опции для выборки методаОпции для метода выборки в виде скалярного struct. Опции отличаются в зависимости от метода выборки: sobol
, halton
, или lhs
.
Для sobol
и halton
, задайте каждое имя поля и значение структуры согласно каждому аргументу значения имени sobolset
(Statistics and Machine Learning Toolbox) или haltonset
(Statistics and Machine Learning Toolbox) функция. SimBiology использует значение по умолчанию 1
для Skip
аргумент для обоих методов. Для всех других аргументов name-value программное обеспечение использует те же значения по умолчанию sobolset
или haltonset
. Например, настройте структуру для Leap
и Skip
опции со значениями не по умолчанию можно следующим образом.
s1.Leap = 50; s1.Skip = 0;
Для lhs
, существует три сэмплера, которые поддерживают различные опции выборки.
Если вы задаете ковариационную матрицу, использование SimBiology lhsnorm
(Statistics and Machine Learning Toolbox) для выборки. SamplingOptions
аргумент не позволен.
В противном случае используйте имя поля UseLhsdesign
выбрать сэмплер.
Если значением является true
, Использование SimBiology lhsdesign
(Statistics and Machine Learning Toolbox). Можно использовать аргументы name-value lhsdesign
задавать имена полей и значения.
Если значением является false
(значение по умолчанию), SimBiology использует неконфигурируемый латинский сэмплер гиперкуба, который отличается от lhsdesign
. Этот сэмплер не требует Statistics and Machine Learning Toolbox™. SamplingOptions
не может содержать никакие другие опции, кроме UseLhsdesign
.
Например, настройте структуру, чтобы использовать lhsdesign
с Criterion
и Iterations
опции.
s2.UseLhsdesign = true;
s2.Criterion = "correlation";
s2.Iterations = 10;
Вы не можете задать этот аргумент когда SimBiology.Scenarios
объект является входом.
sbiompgsa
игнорирует этот аргумент, если вы также задаете таблицу выборок как второй вход.
Distributions
— Вероятностные распределенияprob.UniformDistribution
(значение по умолчанию) | prob.ProbabilityDistribution
возразите | вектор из prob.ProbabilityDistribution
объектыВероятностные распределения раньше чертили выборки в виде prob.ProbabilityDistribution
объект или вектор из этих объектов. Задайте скалярный prob.ProbabilityDistribution
или вектор из длины N, где N является количеством входных параметров. Можно создать объекты распределения к выборке от различных распределений, таких как универсальные, нормальные, или логарифмически нормальные распределения, с помощью makedist
(Statistics and Machine Learning Toolbox).
Если вы задаете скалярный prob.ProbabilityDistribution
объект, и существует несколько входных параметров, sbiompgsa
использует тот же объект распределения, чтобы чертить выборки для каждого параметра.
Вы не можете задать этот аргумент вместе с Границами.
Вы не можете задать этот аргумент когда SimBiology.Scenarios
объект является входом.
sbiompgsa
игнорирует этот аргумент, когда таблица выборок является входом.
Doses
— Дозы, чтобы использовать во время симуляцийScheduleDose
возразите | RepeatDose
возразите | вектор из объектов дозыДозы, чтобы использовать во время симуляций модели в виде ScheduleDose
или RepeatDose
возразите или вектор из объектов дозы.
Variants
— Варианты, чтобы применяться перед симуляциямиВарианты, чтобы применяться перед симуляциями модели в виде различного объекта или вектора из различных объектов.
Когда вы задаете несколько вариантов с дублирующимися техническими требованиями для значения свойства, последнее вхождение для значения свойства в массиве вариантов используется в процессе моделирования.
StopTime
— Время остановки симуляцииВремя остановки симуляции в виде неотрицательного скаляра. Если вы не задаете никакой StopTime
ни OutputTimes
, функция использует время остановки от активной конфигурации модели модели. Вы не можете задать оба StopTime
и OutputTimes
.
Типы данных: double
UseParallel
— Отметьте, чтобы запустить симуляции модели параллельноfalse
(значение по умолчанию) | true
Отметьте, чтобы запустить симуляции модели параллельно в виде true
или false
. Когда значением является true
и Parallel Computing Toolbox™ доступен, функциональные параллельные симуляции запусков.
Типы данных: логический
Accelerate
— Отметьте, чтобы включить ускорение моделиtrue
(значение по умолчанию) | false
Отметьте, чтобы включить ускорение модели в виде true
или false
.
Типы данных: логический
OutputTimes
— Simulation времена выходаSimulation времена выхода в виде разделенной запятой пары, состоящей из 'OutputTimes'
и числовой вектор. Функция вычисляет ответы модели в этих выходных моментах времени. Вы не можете задать оба StopTime
и OutputTimes
. По умолчанию функция использует выходные времена первой симуляции модели.
Пример: [0 1 2 3.5 4 5 5.5]
Типы данных: double
SignificanceLevel
— Уровень значения для теста Кольмогорова-Смирнова
(значение по умолчанию) | числовой скаляр между 0 и 1Уровень значения для Кольмогорова-Смирнова тестирует в виде разделенной запятой пары, состоящей из 'SignificanceLevel'
и числовой скаляр между 0 и 1. Для получения дополнительной информации смотрите Двухвыборочный критерий Колмогорова-Смирнова (Statistics and Machine Learning Toolbox).
Пример: 0.1
Типы данных: double
InterpolationMethod
— Метод для интерполяции симуляций модели"interp1q"
(значение по умолчанию) | вектор символов | строкаМетод для интерполяции ответов модели на единый набор выходных времен в виде вектора символов или строки. Допустимые опции следуют.
Типы данных: char |
string
mpgsaResults
— Мультипараметрические глобальные результаты анализа чувствительностиSimBiology.gsa.MPGSA
объектМультипараметрические глобальные результаты анализа чувствительности, возвращенные как SimBiology.gsa.MPGSA
объект. Объект также содержит данные о симуляции модели, используемые, чтобы выполнить MPGSA.
Мультипараметрический глобальный анализ чувствительности позволяет вам изучить относительную важность параметров относительно классификатора, заданного ответами модели. Классификатор является выражением ответов модели, которое оценивает к логическому вектору. sbiompgsa
реализует метод MPSA, описанный Тиманном и. al. (см. текст информации о поддержке S2) [1].
sbiompgsa
выполняет следующие шаги.
Сгенерируйте выборки параметра N с помощью метода выборки. sbiompgsa
хранилища эти выборки как таблица в свойстве, mpgsaResults.ParameterSamples
, из возвращенного объекта. Количество строк равно количеству отсчетов, и количество столбцов равно количеству входных параметров.
Совет
Можно задать N и метод выборки с помощью 'NumberSamples'
и 'SamplingMethod'
аргументы пары "имя-значение", соответственно, когда вы вызываете sbiompgsa
.
Вычислите ответ модели путем симуляции модели для каждого набора параметров, который является одной реализацией значений параметра модели. В этом случае набор параметров равен строке в ParameterSamples
таблица.
Оцените классификатор. Классификатор является выражением, которое оценивает к логическому вектору. Например, если ваш ответ модели является AUC плазменной концентрации препарата, можно задать классификатор с порогом токсичности 0,8, где AUC концентрации препарата выше того порога рассматривается токсичным.
Наборы параметров затем разделены на две различных группы, такой как принятые (нетоксичный) и отклонили (токсичные) группы.
Для каждого входного параметра вычислите эмпирические кумулятивные функции распределения (ecdf
(Statistics and Machine Learning Toolbox)) принятых и отклоненных демонстрационных значений.
Сравните два eCDFs принятых и отклоненных групп, использующих Двухвыборочный критерий Колмогорова-Смирнова (Statistics and Machine Learning Toolbox), чтобы вычислить расстояние Кольмогорова-Смирнова. Уровнем значения по умолчанию теста Кольмогорова-Смирнова является 0.05
. Если два eCDFs подобны, расстояние мало, означая, что ответ модели не чувствителен относительно входного параметра. Если два eCDFs отличаются, расстояние является большим, означая, что ответ модели чувствителен к параметру.
Примечание
Тест Кольмогорова-Смирнова принимает, что выборки следуют за непрерывным распределением. Убедитесь, что графики eCDF непрерывны, когда вы увеличиваете количество отсчетов. Если eCDFs не непрерывны, но подобны шагу в пределе бесконечных выборок, то результаты не могут отразить истинную чувствительность.
[1] Тиманн, Кристиан А., Joep Vanlier, Мээйк Х. Устервир, Альберт К. Гроен, Питер А. Дж. Хилберс и Натал А. В. ван Рил. “Анализ Траектории параметра, чтобы Идентифицировать Эффекты Обработки Фармакологических Вмешательств”. Отредактированный Скоттом Маркелом. PLoS Вычислительная Биология 9, № 8 (1 августа 2013): e1003166. https://doi.org/10.1371/journal.pcbi.1003166.
SimBiology.gsa.MPGSA
| sbiosobol
| sbioelementaryeffects
| ecdf
(Statistics and Machine Learning Toolbox) | kstest2
(Statistics and Machine Learning Toolbox) | Observable
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.