Объект, содержащий результаты мультипараметрического глобального анализа чувствительности (MPGSA)
Создайте SimBiology.gsa.MPGSA
использование объекта sbiompgsa
.
Classifiers
- Выражения моделей откликовЭто свойство доступно только для чтения.
Выражения ответов модели, заданные как массив ячеек из векторов символов.
Типы данных: cell
KolmogorovSmirnovStatistics
- Колмогоров-Смирнов статистикаЭто свойство доступно только для чтения.
Статистика Колмогорова-Смирнова, указанная в виде таблицы. Размер таблицы [params, classifiers], где params количество параметров входа и classifiers количество классификаторов. Введите [i,j]
содержит статистику Колмогорова-Смирнова, возвращенную kstest2
(Statistics and Machine Learning Toolbox), сравнивая два eCDF i-го параметра, принятого и отклоненного j-м классификатором. Если все выборки приняты или отклонены классификатором, введите [i,j]
установлено в NaN
.
The VariableNames
свойство содержит выражения классификатора, заданные как вход в sbiompgsa
. Длинные выражения усекаются сложением '(classifier i)'
, где i - индекс классификатора. The 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.05
(по умолчанию) | скалярное значение в области значений (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), сравнивая два eCDF i-го параметра, принимаемого и отклоняемого j-м классификатором. Если все выборки приняты или отклонены классификатором, введите [i,j]
установлено в NaN
.
The VariableNames
свойство содержит выражения классификатора, заданные как вход в sbiompgsa
. Длинные выражения усекаются сложением '(classifier i)'
, где i - индекс классификатора. The VariableDescriptions
свойство содержит неограниченные выражения классификатора.
Типы данных: table
SupportHypothesis
- Флаги, указывающие, принимаются ли выборки классификаторамиЭто свойство доступно только для чтения.
Флаги, указывающие, принимаются ли выборки классификаторами в виде таблицы. Размер таблицы [NumberSamples, classifiers], где NumberSamples - количество выборок параметров, а classifiers - количество классификаторов.
The VariableNames
свойство содержит выражения классификатора, заданные как вход в sbiompgsa
. Длинные выражения усекаются сложением '(classifier i)'
, где i - индекс классификатора. The VariableDescriptions
свойство содержит неограниченные выражения классификатора.
Типы данных: table
Observables
- Имена моделей откликов или наблюдаемыхЭто свойство доступно только для чтения.
Имена ответов модели или наблюдаемых, заданные как массив ячеек из векторов символов.
Типы данных: char
ParameterSamples
- Выборочные значения параметровЭто свойство доступно только для чтения.
Выборочные значения параметров, заданные как таблица. Каждая строка представляет один набор параметров, и каждый столбец представляет один входной параметр. Для получения дополнительной информации смотрите Мультипараметрический глобальный анализ чувствительности (MPGSA).
Типы данных: table
SimulationInfo
- Информация о симуляции, используемая для мультипараметрического глобального анализа чувствительностиЭто свойство доступно только для чтения.
Информация о симуляции, такая как данные моделирования и выборки параметров, используемая для мультипараметрического глобального анализа чувствительности, заданная как структура. Структура содержит следующие поля.
SimFunction
— SimFunction
объект, используемый для симуляции откликов модели или наблюдаемых.
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
Получите активный конфигурационный набор и установите целевое заполнение (TO
) как ответ.
cs = getconfigset(m1);
cs.RuntimeOptions.StatesToLog = 'TO';
Симулируйте модель и постройте график TO
профиль.
sbioplot(sbiosimulate(m1,cs));
Определите порог воздействия (область под кривой профиля ТО) для целевой заполненности.
classifier = 'trapz(time,TO) <= 0.1';
Выполните MPGSA, чтобы найти чувствительные параметры относительно TO. Измените значения параметров между предопределенными границами, чтобы сгенерировать 10000 выборок параметров.
% 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
ни один из параметров не показывает значительного различия в eCDF для принятых и отклонённых выборок. The km
график показывает большое расстояние Колмогоров-Смирнов (К-С) между eCDF принятых и отклонённых выборок. Расстояние 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 между двумя eCDF, 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
).
Можно также построить гистограммы принятых и отклонённых выборок. Исторические граммы позволяют вам увидеть тренды в принятых и отклонённых выборках. В этом примере гистограмма 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, описанный Tiemann et. al. (см. вспомогательный информационный текст S2) [1].
sbiompgsa
выполняет следующие шаги.
Сгенерируйте N выборки параметров с помощью метода дискретизации. sbiompgsa
сохраняет эти выборки как таблицу в свойстве, mpgsaResults.ParameterSamples
, возвращенного объекта. Количество строк равно количеству выборок, а количество столбцов равно количеству параметров входа.
Совет
Можно задать N и метод дискретизации, используя 'NumberSamples'
и 'SamplingMethod'
Аргументы пары "имя-значение", соответственно, когда вы вызываете sbiompgsa
.
Вычислите ответ модели путем симуляции модели для каждого набора параметров, что является одной реализацией значений параметров модели. В этом случае набор параметров равен строке в ParameterSamples
таблица.
Оцените классификатор. Классификатор является выражением, которое вычисляется логическим вектором. Например, если ваш модельный ответ является AUC концентрации препарата в плазме, можно задать классификатор с порогом токсичности 0,8, где AUC концентрации препарата выше этого порога считается токсичным.
Наборы параметров затем разделяются на две различные группы, такие как принятые (нетоксические) и отклоненные (токсичные) группы.
Для каждого входного параметра вычислите эмпирические совокупные функции распределения (ecdf
(Statistics and Machine Learning Toolbox)) принятых и отклоненных выборочных значений.
Сравнение двух eCDF принятых и отклоненных групп с помощью Двухвыборочного критерия Колмогорова-Смирнова (Statistics and Machine Learning Toolbox) для вычисления расстояния Колмогорова - Смирнова. Уровень значимости по умолчанию критерия Колмогорова-Смирнова 0.05
. Если два eCDF похожи, расстояние мало, что означает, что реакция модели не чувствительна относительно параметра входа. Если два eCDF отличаются, расстояние большое, что означает, что реакция модели чувствительна к параметру.
Примечание
Тест Колмогорова-Смирнова принимает, что выборки следуют непрерывному распределению. Убедитесь, что графики eCDF непрерывны, когда вы увеличиваете количество выборок. Если eCDF не непрерывны, но являются ступенчатыми в пределе бесконечных выборок, то результаты могут не отражать истинную чувствительность.
[1] Tiemann, Christian A., Joep Vanlier, Maaike H. Oosterveer, Albert K. Groen, Peter A. J. Hilbers, and Natal A. W. van Riel. «Анализ траектории параметра для выявления эффектов лечения фармакологических вмешательств». Под редакцией Скотта Маркела. 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.