sbiompgsa

Выполните мультипараметрический глобальный анализ чувствительности (требует Statistics and Machine Learning Toolbox),

Описание

пример

mpgsaResults = sbiompgsa(modelObj,params,classifiers) выполняет мультипараметрический глобальный анализ чувствительности (MPGSA) [1] из 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 объект.

пример

mpgsaResults = sbiompgsa(___,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Доступные аргументы name-value отличаются, в зависимости от которого синтаксиса вы используете.

Примеры

свернуть все

Загрузите модель Установленного целью расположения препарата (TMDD).

sbioloadproject tmdd_with_TO.sbproj

Получите активный configset и установите целевое заполнение (TO) как ответ.

cs = getconfigset(m1);
cs.RuntimeOptions.StatesToLog = 'TO';

Симулируйте модель и постройте TO профиль.

sbioplot(sbiosimulate(m1,cs));

Figure contains an axes object. The axes object with title States versus Time contains an object of type line. This object represents TO.

Задайте воздействие (область под кривой профиля 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);

Figure contains an axes object. The axes object contains 12 objects of type line, patch. These objects represent model simulation, 90.0% region, mean value.

Постройте эмпирические кумулятивные функции распределения (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];

Figure contains 4 axes objects. Axes object 1 with title trapz(time,TO) <= 0.1 contains 2 objects of type stair. These objects represent accepted samples, rejected samples. Axes object 2 contains 2 objects of type stair. These objects represent accepted samples, rejected samples. Axes object 3 contains 2 objects of type stair. These objects represent accepted samples, rejected samples. Axes object 4 contains 2 objects of type stair. These objects represent accepted samples, rejected samples.

Чтобы вычислить расстояние K-S между двумя eCDFs, SimBiology использует двухсторонний тест на основе нулевой гипотезы, что два распределения принятых и отклоненных выборок равны. Смотрите kstest2 (Statistics and Machine Learning Toolbox) для деталей. Если расстояние K-S является большим, то эти два распределения отличаются, означая, что классификация выборок чувствительна к изменениям входного параметра. С другой стороны, если расстояние K-S мало, то изменения входного параметра не влияют на классификацию выборок. Результаты предполагают, что классификация нечувствительна к входному параметру. Чтобы оценить значение статистической величины K-S, отклоняющей нулевую гипотезу, можно исследовать p-значения.

bar(mpgsaResults)

Figure contains an axes object. The axes object with title trapz(time,TO) <= 0.1 contains 11 objects of type patch, line. These objects represent K-S Statistic, P-Value.

Столбиковая диаграмма показывает две панели для каждого параметра: один для расстояния 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];

Figure contains 4 axes objects. Axes object 1 with title trapz(time,TO) <= 0.1 contains 2 objects of type histogram. These objects represent accepted samples, rejected samples. Axes object 2 contains 2 objects of type histogram. These objects represent accepted samples, rejected samples. Axes object 3 contains 2 objects of type histogram. These objects represent accepted samples, rejected samples. Axes object 4 contains 2 objects of type histogram. These objects represent accepted samples, rejected samples.

Восстановите настройки предупреждения.

warning(warnSettings);

Входные параметры

свернуть все

Модель SimBiology в виде SimBiology model object.

Имена параметров модели, разновидностей или отсеков в виде вектора символов, строки, представляют в виде строки вектор или массив ячеек из символьных векторов.

Пример: ["k1","k2"]

Типы данных: char | string | cell

Данные о симуляции модели в виде вектора из SimData объекты.

Источник для рисования выборок в виде a SimBiology.Scenarios объект.

Примечание

Объект не должен содержать дозы или варианты как его записи.

Выражения ответов модели в виде вектора символов, строки, представляют в виде строки вектор или массив ячеек из символьных векторов. Задайте выражения, ссылающиеся на симулированные количества модели, 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

Выбранные значения количеств модели в виде таблицы. Имена переменных таблицы указывают на имена количества.

Типы данных: table

Аргументы name-value

Пример: mpgsaResults = sbiompgsa(m1,{'k1','k2'},classifier,'Bounds',[0.5 5;0.1 1]) задает границы параметра для k1 и k2.

Задайте одну или несколько разделенных запятой пар Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Примечание

В зависимости от которого синтаксиса вы используете, доступные пары "имя-значение" отличаются.

Для первого синтаксиса

свернуть все

Параметр ограничивает в виде числовой матрицы с двумя столбцами. Первый столбец содержит нижние границы, и второй столбец содержит верхние границы. Количество строк должно быть равно количеству параметров в params.

Если параметр имеет ненулевое значение, границы по умолчанию составляют ±10% значения. Если значение параметров является нулем, границами по умолчанию является [0 1].

Пример: [0.5 5]

Типы данных: double

Количество отсчетов, чертившее, чтобы выполнить мультипараметрический глобальный анализ чувствительности в виде разделенной запятой пары, состоящей из 'NumberSamples' и положительное целое число.

Типы данных: double

Метод, чтобы сгенерировать выборки параметра в виде вектора символов или строки. Допустимые опции:

  • 'Sobol' — Используйте низкое несоответствие последовательность Sobol, чтобы сгенерировать выборки.

  • 'Halton' — Используйте низкое несоответствие последовательность Холтона, чтобы сгенерировать выборки.

  • 'lhs' — Используйте латинские выборки гиперкуба низкого несоответствия.

  • 'random' — Используйте равномерно распределенные случайные выборки.

Типы данных: char | string

Опции для метода выборки в виде скалярного 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 игнорирует этот аргумент, если вы также задаете таблицу выборок как второй вход.

Вероятностные распределения раньше чертили выборки в виде prob.ProbabilityDistribution объект или вектор из этих объектов. Задайте скалярный prob.ProbabilityDistribution или вектор из длины N, где N является количеством входных параметров. Можно создать объекты распределения к выборке от различных распределений, таких как универсальные, нормальные, или логарифмически нормальные распределения, с помощью makedist (Statistics and Machine Learning Toolbox).

Если вы задаете скалярный prob.ProbabilityDistribution объект, и существует несколько входных параметров, sbiompgsa использует тот же объект распределения, чтобы чертить выборки для каждого параметра.

Вы не можете задать этот аргумент вместе с Границами.

Вы не можете задать этот аргумент когда SimBiology.Scenarios объект является входом.

sbiompgsa игнорирует этот аргумент, когда таблица выборок является входом.

Для первых и вторых синтаксисов

свернуть все

Дозы, чтобы использовать во время симуляций модели в виде ScheduleDose или RepeatDose возразите или вектор из объектов дозы.

Варианты, чтобы применяться перед симуляциями модели в виде различного объекта или вектора из различных объектов.

Когда вы задаете несколько вариантов с дублирующимися техническими требованиями для значения свойства, последнее вхождение для значения свойства в массиве вариантов используется в процессе моделирования.

Время остановки симуляции в виде неотрицательного скаляра. Если вы не задаете никакой StopTime ни OutputTimes, функция использует время остановки от активной конфигурации модели модели. Вы не можете задать оба StopTime и OutputTimes.

Типы данных: double

Отметьте, чтобы запустить симуляции модели параллельно в виде true или false. Когда значением является true и Parallel Computing Toolbox™ доступен, функциональные параллельные симуляции запусков.

Типы данных: логический

Отметьте, чтобы включить ускорение модели в виде true или false.

Типы данных: логический

Для всех синтаксисов

свернуть все

Simulation времена выхода в виде разделенной запятой пары, состоящей из 'OutputTimes' и числовой вектор. Функция вычисляет ответы модели в этих выходных моментах времени. Вы не можете задать оба StopTime и OutputTimes. По умолчанию функция использует выходные времена первой симуляции модели.

Пример: [0 1 2 3.5 4 5 5.5]

Типы данных: double

Уровень значения для Кольмогорова-Смирнова тестирует в виде разделенной запятой пары, состоящей из 'SignificanceLevel' и числовой скаляр между 0 и 1. Для получения дополнительной информации смотрите Двухвыборочный критерий Колмогорова-Смирнова (Statistics and Machine Learning Toolbox).

Пример: 0.1

Типы данных: double

Метод для интерполяции ответов модели на единый набор выходных времен в виде вектора символов или строки. Допустимые опции следуют.

  • "interp1q" — Используйте interp1q функция.

  • Используйте interp1 функция путем определения одного из следующих методов:

    • "nearest"

    • "linear"

    • "spline"

    • "pchip"

    • "v5cubic"

  • "zoh" — Укажите, что нулевой порядок содержит.

Типы данных: char | string

Выходные аргументы

свернуть все

Мультипараметрические глобальные результаты анализа чувствительности, возвращенные как SimBiology.gsa.MPGSA объект. Объект также содержит данные о симуляции модели, используемые, чтобы выполнить MPGSA.

Больше о

свернуть все

Мультипараметрический глобальный анализ чувствительности (MPGSA)

Мультипараметрический глобальный анализ чувствительности позволяет вам изучить относительную важность параметров относительно классификатора, заданного ответами модели. Классификатор является выражением ответов модели, которое оценивает к логическому вектору. sbiompgsa реализует метод MPSA, описанный Тиманном и. al. (см. текст информации о поддержке S2) [1].

sbiompgsa выполняет следующие шаги.

  1. Сгенерируйте выборки параметра N с помощью метода выборки. sbiompgsa хранилища эти выборки как таблица в свойстве, mpgsaResults.ParameterSamples, из возвращенного объекта. Количество строк равно количеству отсчетов, и количество столбцов равно количеству входных параметров.

    Совет

    Можно задать N и метод выборки с помощью 'NumberSamples' и 'SamplingMethod' аргументы пары "имя-значение", соответственно, когда вы вызываете sbiompgsa.

  2. Вычислите ответ модели путем симуляции модели для каждого набора параметров, который является одной реализацией значений параметра модели. В этом случае набор параметров равен строке в ParameterSamples таблица.

  3. Оцените классификатор. Классификатор является выражением, которое оценивает к логическому вектору. Например, если ваш ответ модели является AUC плазменной концентрации препарата, можно задать классификатор с порогом токсичности 0,8, где AUC концентрации препарата выше того порога рассматривается токсичным.

  4. Наборы параметров затем разделены на две различных группы, такой как принятые (нетоксичный) и отклонили (токсичные) группы.

  5. Для каждого входного параметра вычислите эмпирические кумулятивные функции распределения (ecdf (Statistics and Machine Learning Toolbox)) принятых и отклоненных демонстрационных значений.

  6. Сравните два 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.

Смотрите также

| | | (Statistics and Machine Learning Toolbox) | (Statistics and Machine Learning Toolbox) |

Введенный в R2020a