Выполнение многопараметрического анализа глобальной чувствительности (требуется инструментарий статистики и машинного обучения)
выполняет многопараметрический анализ глобальной чувствительности (MPGSA) [1] mpgsaResults = sbiompgsa(modelObj,params,classifiers)classifiers относительно параметров модели params на модели SimBiology modelObj. params - величины модели (входы чувствительности) и classifiers определение выражений откликов модели (выходных данных модели).
использует параметр mpgsaResults = sbiompgsa(modelObj,samples,classifiers)samples для выполнения многопараметрического анализа глобальной чувствительности classifiers.
использует данные моделирования модели mpgsaResults = sbiompgsa(simdata,samples,classifiers)simdata для выполнения многопараметрического анализа глобальной чувствительности classifiers.
использует дополнительные параметры, заданные одним или несколькими аргументами пары имя-значение. Доступные пары имя-значение различаются в зависимости от используемого синтаксиса.mpgsaResults = sbiompgsa(___,Name,Value)
В этом примере используются:
Загрузить модель распределения лекарств, опосредованных мишенью (TMDD).
sbioloadproject tmdd_with_TO.sbprojПолучить активный конфигурационный набор и установить целевую занятость (TO) в качестве ответа.
cs = getconfigset(m1);
cs.RuntimeOptions.StatesToLog = 'TO';Моделирование модели и печать TO профиль.
sbioplot(sbiosimulate(m1,cs));

Определите порог риска убытков (площадь под кривой профиля распоряжения о перемещении материалов) для целевой занятости.
classifier = 'trapz(time,TO) <= 0.1';Выполните MPGSA для поиска чувствительных параметров относительно транспортного заказа. Изменение значений параметров между предварительно определенными границами для создания 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]
Observables: {'TO'}
ParameterSamples: [10000x4 table]
SimulationInfo: [1x1 struct]
Постройте график квантилей отклика смоделированной модели.
plotData(mpgsaResults);

Постройте график эмпирических кумулятивных функций распределения (eCDF) принятых и отклоненных образцов. За исключением kmни один из параметров не показывает существенной разницы в eCDF для принятых и отклоненных образцов. km на графике показано большое расстояние Колмогорова - Смирнова (К-С) между eCDF принятых и отбракованных образцов. Расстояние K-S - это максимальное абсолютное расстояние между двумя кривыми eCDF.
h = plot(mpgsaResults);
% Resize the figure.
pos = h.Position(:);
h.Position(:) = [pos(1) pos(2) pos(3)*2 pos(4)*2];
Чтобы вычислить расстояние K-S между двумя eCDF, SimBiology использует двусторонний тест, основанный на нулевой гипотезе, что два распределения принятых и отклоненных выборок равны. Посмотрите kstest2 (Статистика и инструментарий машинного обучения) для получения подробной информации. Если расстояние 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).
Также можно построить гистограммы принятых и отклоненных проб. Исторограммы позволяют увидеть тенденции в принятых и отклоненных образцах. В этом примере гистограмма 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 объекты.
classifiers - Выражения ответов моделиВыражения откликов модели, указанные как символьный вектор, строка, строковый вектор или массив ячеек символьных векторов. Укажите выражения, ссылающиеся на моделируемые величины модели, наблюдаемые значения, время или функции MATLAB, которые находятся на пути.
Каждый классификатор должен вычислять логический вектор той же длины, что и число выборок параметров. Объекты, такие как количества модели или наблюдаемые объекты, на которые ссылается выражение классификатора, оцениваются как матрица со столбцами, содержащими временные курсы смоделированных значений величин. Каждый столбец представляет один образец. Дополнительные сведения см. в разделе Многопараметрический анализ глобальной чувствительности (MPGSA).
Если указать SimData объект в качестве первого ввода, каждая величина или observable , на который ссылается классификатор, должен разрешить зарегистрированный компонент в SimData объект.
Пример: "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' - Границы параметровГраницы параметров, указанные как разделенная запятыми пара, состоящая из 'Bounds' и числовую матрицу с двумя столбцами. Первый столбец содержит нижние границы, а второй столбец содержит верхние границы. Количество строк должно быть равно количеству параметров в params.
Если параметр имеет ненулевое значение, границы по умолчанию составляют ± 10% от значения. Если значение параметра равно нулю, границы по умолчанию: [0 1].
Пример: [0.5 5]
Типы данных: double
'NumberSamples' - Количество образцов, отобранных для проведения многопараметрического анализа глобальной чувствительности1000 (по умолчанию) | положительное целое числоКоличество выборок, взятых для выполнения многопараметрического анализа глобальной чувствительности, указанного как пара, разделенная запятыми, состоящая из 'NumberSamples' и положительное целое число.
Типы данных: double
'SamplingMethod' - Метод формирования выборок параметров'Sobol' (по умолчанию) | символьный вектор | строкаМетод формирования выборок параметров, определяемый как разделенная запятыми пара, состоящая из 'SamplingMethod' и символьный вектор или строку. Допустимые параметры:
'Sobol' - Используйте последовательность Соболя с низким несоответствием для генерации образцов.
'Halton' - Используйте последовательность Халтона с низким несоответствием для генерации выборок.
'lhs' - Используйте образцы латинского гиперкуба с низким несоответствием.
'random' - Использовать равномерно распределенные случайные выборки.
Типы данных: char | string
'Doses' - Дозы для использования во время моделированияScheduleDose объект | RepeatDose object | вектор дозовых объектовДозы для использования во время моделирования модели, указанные как пара, разделенная запятыми, состоящая из 'Doses' и ScheduleDose или RepeatDose объект или вектор дозовых объектов.
'Variants' - Варианты, применяемые перед моделированиемВарианты для применения перед моделированием модели, указанные как разделенная запятыми пара, состоящая из 'Variants' и объект-вариант или вектор объектов-вариантов.
Если существует несколько исполнений и имеются повторяющиеся спецификации для значения свойства, во время моделирования используется последнее вхождение для значения свойства в массиве исполнений.
'StopTime' - Время остановки моделированияВремя остановки моделирования, указанное как пара, разделенная запятыми, состоящая из 'StopTime' и неотрицательный скаляр. Если не указано ни StopTime ни OutputTimes, функция использует время остановки из активного набора конфигурации модели. Вы не можете указать оба StopTime и OutputTimes.
Типы данных: double
'UseParallel' - Флажок для параллельного выполнения моделирования моделиfalse (по умолчанию) | trueФлажок для параллельного выполнения моделирования модели, определяемый как разделенная запятыми пара, состоящая из 'UseParallel' и true или false.
Типы данных: logical
'Accelerate' - Флажок для включения ускорения моделиtrue (по умолчанию) | falseФлажок для включения ускорения модели, указанный как разделенная запятыми пара, состоящая из 'Accelerate' и true или false.
Типы данных: logical
'OutputTimes' - Время вывода моделированияВремя вывода моделирования, указанное как пара, разделенная запятыми, состоящая из 'OutputTimes' и числовой вектор. Функция вычисляет отклики модели в эти выходные моменты времени. Вы не можете указать оба StopTime и OutputTimes. По умолчанию функция использует время вывода первого моделирования модели.
Пример: [0 1 2 3.5 4 5 5.5]
Типы данных: double
'SignificanceLevel' - Уровень значимости для теста Колмогорова-Смирнова0.05 (по умолчанию) | числовой скаляр от 0 до 1Уровень значимости для теста Колмогорова-Смирнова, определяемый как разделенная запятыми пара, состоящая из 'SignificanceLevel' и числовой скаляр между 0 и 1. Дополнительные сведения см. в разделе Тест Колмогорова-Смирнова с двумя образцами (инструментарий статистики и машинного обучения).
Пример: 0.1
Типы данных: double
'InterpolationMethod' - Метод интерполяции модельного моделирования"interp1q" (по умолчанию) | символьный вектор | строкаМетод интерполяции моделирования модели к новому времени вывода, определяемый как разделенная запятыми пара, состоящая из 'InterpolationMethod' и символьный вектор или строку. Ниже приведены допустимые параметры.
Типы данных: char | string
mpgsaResults - Результаты многопараметрического анализа глобальной чувствительностиSimBiology.gsa.MPGSA объектРезультаты многопараметрического анализа глобальной чувствительности, возвращенные как SimBiology.gsa.MPGSA объект. Объект также содержит данные моделирования модели, используемые для выполнения MPGSA.
Многопараметрический анализ глобальной чувствительности позволяет изучить относительную важность параметров относительно классификатора, определяемого откликами модели. Классификатор - это выражение откликов модели, которое вычисляет логический вектор. sbiompgsa реализует метод MPSA, описанный Tiemann et. al. (см. текст вспомогательной информации S2) [1].
sbiompgsa выполняет следующие шаги.
Создайте N выборок параметров с помощью метода выборки. sbiompgsa сохраняет эти образцы в виде таблицы в свойстве, mpgsaResults.ParameterSamples, возвращенного объекта. Количество строк равно количеству выборок, а число столбцов равно количеству входных параметров.
Совет
Можно указать N и метод выборки с помощью 'NumberSamples' и 'SamplingMethod' аргументы пары имя-значение, соответственно, при вызове sbiompgsa.
Вычислите отклик модели путем моделирования модели для каждого набора параметров, который является единой реализацией значений параметров модели. В этом случае набор параметров равен строке в ParameterSamples таблица.
Оцените классификатор. Классификатор - это выражение, которое вычисляет логический вектор. Например, если вашей модельной реакцией является AUC концентрации лекарственного средства в плазме, вы можете определить классификатор с порогом токсичности 0,8, где AUC концентрации лекарственного средства выше этого порога считается токсичным.
Затем наборы параметров разделяются на две различные группы, такие как принятые (нетоксичные) и отклоненные (токсичные) группы.
Для каждого входного параметра вычислите эмпирические кумулятивные функции распределения (ecdf (Статистика и инструментарий машинного обучения)) принятых и отклоненных значений.
Сравните два eCDF принятых и отклоненных групп, используя Тест Колмогорова-Смирнова (Статистика и инструментарий машинного обучения) для вычисления расстояния Колмогорова-Смирнова. Уровень значимости по умолчанию теста Колмогорова-Смирнова - 0.05. Если два eCDF похожи, расстояние невелико, что означает, что отклик модели не чувствителен к входному параметру. Если два eCDF различны, расстояние велико, что означает, что реакция модели чувствительна к параметру.
Примечание
Тест Колмогорова-Смирнова предполагает, что образцы следуют непрерывному распределению. Убедитесь, что графики eCDF непрерывны по мере увеличения количества образцов. Если eCDF являются не непрерывными, а ступенчатыми в пределе бесконечных образцов, то результаты могут не отражать истинную чувствительность.
[1] Тиеманн, Кристиан А., Йоеп Ванлье, Маайке Х. Остервер, Альберт К. Гроен, Петер А. Дж. Хилберс и Натал А. В. ван Риль. «Анализ траектории параметров для определения эффектов лечения фармакологических вмешательств». Под редакцией Скотта Маркела. Вычислительная биология PLoS 9, № 8 (1 августа 2013 г.): e1003166. https://doi.org/10.1371/journal.pcbi.1003166.
Observable | sbiosobol | SimBiology.gsa.MPGSA | ecdf (инструментарий статистики и машинного обучения) | kstest2(Набор инструментов для статистики и машинного обучения)
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.