Объект, содержащий мультипараметрический глобальный анализ чувствительности (MPGSA) результаты
Создайте SimBiology.gsa.MPGSA
объектное использование sbiompgsa
.
Classifiers
— Выражения ответов моделиЭто свойство доступно только для чтения.
Выражения ответов модели в виде массива ячеек из символьных векторов.
Типы данных: cell
KolmogorovSmirnovStatistics
— Статистика Кольмогорова-СмирноваЭто свойство доступно только для чтения.
Статистика Кольмогорова-Смирнова в виде таблицы. Табличным размером является [params, classifiers], где params является количеством входных параметров, и classifiers является количеством классификаторов. Запись [i,j]
содержит статистическую величину Кольмогорова-Смирнова, возвращенную kstest2
(Statistics and Machine Learning Toolbox), сравнивающий два eCDFs i th параметр, принятый и отклоненный j th классификатор. Если все выборки приняты или отклонены классификатором, запись [i,j]
установлен в NaN
.
VariableNames
свойство содержит выражения классификатора, заданные как вход к sbiompgsa
. Долгие выражения являются усеченными со сложением '(classifier i)'
, где i является индексом классификатора. VariableDescriptions
свойство содержит неусеченные выражения классификатора.
Типы данных: table
ECDFData
— Вычисленные eCDF данныеЭто свойство доступно только для чтения.
Вычисленные eCDF данные в виде массива ячеек числовых векторов. Размером массива является [params,4,classifiers]
, где params является количеством входных параметров, и classifiers является количеством классификаторов.
Ячейки [i,1:2,j]
содержите f (Statistics and Machine Learning Toolbox) и x (Statistics and Machine Learning Toolbox) выходные параметры от ecdf
(Statistics and Machine Learning Toolbox) функция для выборок параметра i, принятый классификатором j.
Ячейки [i,3:4,j]
содержите соответствующие выходные параметры для выборок параметра i, отклоненный классификатором j.
Если классификатор принимает все выборки или отклоняет все выборки, соответствующие eCDF данные пусты.
Типы данных: cell
SignificanceLevel
— Уровень значения двухстороннего теста Кольмогорова-Смирнова
(значение по умолчанию) | скалярное значение в области значений (0,1)Это свойство доступно только для чтения.
Уровень значения двухстороннего Кольмогорова-Смирнова тестирует в виде скалярного значения в области значений (0,1). Для получения дополнительной информации смотрите kstest2
(Statistics and Machine Learning Toolbox).
Типы данных: double
PValues
— Асимптотический p - значенияЭто свойство доступно только для чтения.
Асимптотический p - значения для Кольмогорова-Смирнова тестируют в виде таблицы. Табличным размером является [params, classifiers], где params является количеством входных параметров, и classifiers является количеством классификаторов.
Запись [i,j]
содержит p-значения, возвращенные kstest2
(Statistics and Machine Learning Toolbox), сравнивающий два eCDFs i th параметр, принимаемый и отклоненный j th классификатор. Если все выборки приняты или отклонены классификатором, запись [i,j]
установлен в NaN
.
VariableNames
свойство содержит выражения классификатора, заданные как вход к sbiompgsa
. Долгие выражения являются усеченными со сложением '(classifier i)'
, где i является индексом классификатора. VariableDescriptions
свойство содержит неусеченные выражения классификатора.
Типы данных: table
SupportHypothesis
— Флаги, указывающие, приняты ли выборки классификаторамиЭто свойство доступно только для чтения.
Флаги, указывающие, приняты ли выборки классификаторами в виде таблицы. Табличным размером является [NumberSamples, classifiers], где NumberSamples является количеством выборок параметра, и classifiers является количеством классификаторов.
VariableNames
свойство содержит выражения классификатора, заданные как вход к sbiompgsa
. Долгие выражения являются усеченными со сложением '(classifier i)'
, где i является индексом классификатора. VariableDescriptions
свойство содержит неусеченные выражения классификатора.
Типы данных: table
Observables
— Имена ответов модели или observablesЭто свойство доступно только для чтения.
Имена ответов модели или observables в виде массива ячеек из символьных векторов.
Типы данных: char
ParameterSamples
— Выбранные значения параметровЭто свойство доступно только для чтения.
Выбранные значения параметров в виде таблицы. Каждая строка представляет один набор параметров, и каждый столбец представляет входной параметр того. Для получения дополнительной информации смотрите Мультипараметрический Глобальный Анализ чувствительности (MPGSA).
Типы данных: table
SimulationInfo
— Информация о симуляции используется для мультипараметрического глобального анализа чувствительностиЭто свойство доступно только для чтения.
Информация о симуляции, такая как данные моделирования и выборки параметра, используемые для мультипараметрического глобального анализа чувствительности в виде структуры. Структура содержит следующие поля.
SimFunction
— SimFunction
объект используется для ответов имитационной модели или observables.
SimData
— SimData
массив размера [NumberSamples,1]
, где 'NumberSamples' является количеством выборок. Массив содержит результаты симуляции от ParameterSamples
.
OutputTimes
— Числовой вектор-столбец, содержащий общий временной вектор всего SimData
объекты.
Bounds
— Числовая матрица размера [params,2]
. params является количеством входных параметров. Первый столбец содержит нижние границы, и второй столбец содержит верхние границы для входных параметров чувствительности.
Это поле установлено в []
если вы ввели демонстрационные значения параметра, как введено, когда вы вызвали sbiompgsa
.
DoseTables
— Массив ячеек таблиц дозы используется для SimFunction
оценка. DoseTables
выход getTable(doseInput)
, где doseInput является значением, заданным для 'Doses'
аргумент пары "имя-значение" в вызове sbiosobol
или sbiompgsa
. Если никакие дозы не применяются, это поле установлено в []
.
ValidSample
— Логический вектор из размера [NumberSamples,1]
указание, перестала ли симуляция для конкретной выборки работать. Передискретизация данных моделирования (SimData) может привести к NaN
значения, если данные экстраполируются. Такие SimData обозначаются как недопустимые.
InterpolationMethod
— Имя метода интерполяции для SimData
.
SamplingMethod
— Имя метода выборки раньше чертило ParameterSamples
. Когда вы вызываете sbiompgsa
с samples
(произведенные количества модели) как вход, это поле соответствующего объекта результатов установлено в 'unknown'
.
RandomState
— Структура, содержащая состояние rng
прежде, чем чертить ParameterSamples
. Когда вы вызываете sbiompgsa
с samples
(демонстрационные значения параметра) как вход, этим свойством соответствующего объекта результатов является []
.
Типы данных: struct
plotData | Постройте сводные данные квантиля симуляций модели от глобального анализа чувствительности (требует Statistics and Machine Learning Toolbox), |
plot | Постройте эмпирический CDF мультипараметрического глобального анализа чувствительности |
bar | Создайте столбиковую диаграмму мультипараметрической глобальной статистики анализа чувствительности |
histogram | Постройте гистограмму мультипараметрических глобальных результатов анализа чувствительности |
Загрузите модель Установленного целью расположения препарата (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] Observables: {'TO'} ParameterSamples: [10000x4 table] 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);
Мультипараметрический глобальный анализ чувствительности позволяет вам изучить относительную важность параметров относительно классификатора, заданного ответами модели. Классификатор является выражением ответов модели, которое оценивает к логическому вектору. 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.
Observable
| sbiompgsa
| sbiosobol
| ecdf
(Statistics and Machine Learning Toolbox) | kstest2
(Statistics and Machine Learning Toolbox)
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.