В этом разделе показано, как создавать образцы параметров для анализа чувствительности.
Анализ глобальной чувствительности можно выполнить с помощью программного обеспечения Simulink ® Design Optimization™. Используя такие методы, как конструирование экспериментов (DOE) (также называемое экспериментальным конструированием), можно выбрать набор параметров для анализа чувствительности.
Выборки параметров создаются путем изменения значения параметров модели Simulink и состояний, представляющих интерес, в соответствии с заданным распределением вероятностей. Эти параметры и состояния в совокупности называются параметрами. Каждая комбинация сгенерированных значений параметров называется точкой выборки или точкой выборки. Совокупность образцов называется пространством проектирования, пространством образца или набором параметров.
После создания набора параметров можно определить функцию затрат путем создания требований к конструкции для сигналов модели. Затем вычисляется функция затрат для каждой пробы в наборе параметров. Затем необходимо проанализировать связь между параметрами и требованием, чтобы понять, как параметры влияют на функцию затрат.
Можно создать два вида значений параметров: случайные значения параметров или значения параметров с сеткой.
При генерации случайных значений параметров задаются следующие характеристики пространства параметров:
Характеристики пространства параметров можно указать в анализаторе чувствительности или в командной строке.
Выберите достаточное количество образцов для получения полезных результатов. Однако каждая оценка модели имеет вычислительные расходы и может быть трудоемкой. По мере увеличения числа параметров количество образцов, необходимых для исследования расчетного пространства, как правило, увеличивается. Для корреляционного или регрессионного анализа рассмотрим использование 10Np выборок, где Np - количество параметров.
Укажите метод, используемый для создания образцов. Можно выбрать один из следующих методов:
Случайные (Random) - случайные выборки берутся из вероятностных распределений, заданных для параметров.
Если задать корреляцию между параметрами, программа использует алгоритм Имана-Коновера для навязывания корреляций параметров.
Латинский гиперкуб - образцы латинского гиперкуба берутся из вероятностных распределений, заданных для параметров. Эта опция используется для более систематического заполнения пространства, чем случайная выборка. Методы квазирандомной выборки Соболя и Халтона являются более заполняющими пространство, чем метод латинского гиперкуба.
Если задать корреляцию между параметрами, программа использует алгоритм Имана-Коновера для навязывания корреляций параметров.
Соболь - Требуется программное обеспечение для Toolbox™ статистики и машинного обучения. Квазирандомные последовательности Соболя взяты из вероятностных распределений, заданных для параметров. Этот метод используется для планомерного заполнения пространства.
На рисунке показаны 20 образцов для двух параметров. Выборки генерируются из однородного распределения в интервале от 0 до 1. Случайная выборка может привести к большим промежуткам между некоторыми выборками и близкой кластеризации других выборок. Методы квазирандомной выборки Соболя и Халтона позволяют избежать пробелов и кластеризации образцов. Если в наборе параметров много параметров, наборы Соболя дают более систематическое заполнение пространства, чем наборы квазирандом Халтона. Дополнительные сведения см. в разделе Создание квазислучайных чисел (панель инструментов для статистики и машинного обучения).

Если задать корреляцию между параметрами, программа использует алгоритм Имана-Коновера для навязывания корреляций параметров.
Halton - требуется программное обеспечение для статистики и машинного обучения. Квазирандомные последовательности Халтона берутся из вероятностных распределений, заданных для параметров. Как и метод Соболя, можно использовать метод Халтона для очень систематического заполнения пространства. Однако метод Соболь дает более систематическое заполнение пространства, если в наборе параметров много параметров. Дополнительные сведения см. в разделе Создание квазислучайных чисел (панель инструментов для статистики и машинного обучения).
Если задать корреляцию между параметрами, программа использует алгоритм Имана-Коновера для навязывания корреляций параметров.
Copula - Требуется программное обеспечение для статистики и машинного обучения. Случайные выборки берутся из копулы. Эта опция используется для наложения корреляций между параметрами с помощью копул.
Можно использовать гауссову копулу (по умолчанию) или t копулу. Используйте t копул, когда вероятность экстремальных значений параметров не пренебрежимо мала (распределение тяжелохвостое), и укажите степени свободы. При увеличении степеней свободы t-копула сходится к гауссовой копуле, и вероятность экстремальных значений параметров становится ничтожной. На следующем рисунке показано 1000 образцов, взятых для двух параметров в интервале от 0 до 1 с использованием гауссовой и t-копул.

По сравнению с гауссовой копулой, t копула имеет больше выборок, которые представляют экстремальные значения параметров. По мере увеличения степеней свободы t копула сходится к гауссовой копуле.
Укажите тип корреляции как ранговую корреляцию Спирмена или ранговую корреляцию Кендалла.
Укажите функцию распределения вероятности и связанные характеристики распределения для каждого параметра. Используйте свои знания о системе (эмпирические или теоретические), чтобы выбрать распределения вероятностей.
Примечание
Программа Simulink Design Optimization позволяет задавать равномерное (по умолчанию), нормальное, полиномиальное, кусочно-линейное и треугольное распределения. Для других дистрибутивов необходимо программное обеспечение Statistics and Machine Learning Toolbox.
При выборе распределения необходимо учитывать следующие характеристики параметров:
| Характеристики параметров | Применимые дистрибутивы |
|---|---|
Простирается от - ∞ до ∞ |
|
Ограничено на обоих концах |
|
Расширение от 0 до |
|
Пользовательское распределение | Кусочно-линейный |
Дополнительные сведения об этих распределениях см. в разделе Распределение вероятностей (Statistics and Machine Learning Toolbox).
Укажите корреляцию между параметрами. Алгоритм, используемый для навязывания корреляций параметров, зависит от метода выборки. Дополнительные сведения см. в разделе Метод выборки.
В анализаторе чувствительности после выбора параметров в наборе параметров щелкните Генерировать значения (Generate Values) и выберите Генерировать случайные значения (Generate Random Values).

В диалоговом окне «Создание случайных значений параметров» укажите количество выборок, распределение вероятностей, границы параметров и корреляции, а также метод выборки. Для получения сведений о задании полей в диалоговом окне нажмите кнопку «Справка».

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

После формирования значений параметров постройте их график, чтобы проверить, соответствуют ли сгенерированные значения параметров заданным спецификациям. Это важно, если для каждого набора параметров создается небольшое количество случайных выборок. Дополнительные сведения см. в разделе Проверка сгенерированного набора параметров.
Пример см. в разделе Определение ключевых параметров для оценки (GUI).
Эта функция не поддерживается в Simulink Online™.
В командной строке используйте sdo.ParameterSpace для определения пространства параметров. Этот объект определяет распределения вероятностей и корреляции для параметров. Использовать этот объект в качестве входных данных для sdo.sample для формирования значений параметров из указанного пространства параметров.
Для генерации значений случайных параметров:
Укажите количество выборок в качестве второго входного аргумента sdo.sample.
Укажите метод, используемый для создания этих образцов с помощью Method свойство sdo.SampleOptions объект. Использовать этот объект в качестве входных данных для sdo.sample для указания опций выборки.
Если выбран метод 'sobol' или 'halton', укажите MethodOptions имущество sdo.SampleOptions.
Если выбран метод 'copula', укажите выбор копулы с помощью MethodOptions имущество sdo.SampleOptions. Также укажите RankCorrelation имущества sdo.ParameterSpace объект.
Укажите распределение вероятностей параметра с помощью ParameterDistributions свойство sdo.ParameterSpace объект.
Укажите корреляцию между параметрами, используя RankCorrelation имущества sdo.ParameterSpace.
После генерации значений параметров постройте график сгенерированных значений для проверки их соответствия требуемым спецификациям. Это важно, если для каждого набора параметров создается небольшое количество случайных выборок. Дополнительные сведения см. в разделе Проверка сгенерированного набора параметров.
Пример см. в разделе Определение ключевых параметров для оценки (код).
В этом примере показано, как создавать случайные значения параметров с пользовательским распределением при выполнении анализа чувствительности в командной строке. Создайте 1000 образцов параметра модели, R, в диапазоне 5% от его номинального значения, 10. R является резистором. Резисторы с допуском 1% удаляются изготовителем, поэтому не генерируются R значения в диапазоне 1% его номинального значения.
Построить param.Continuous объект.
R = param.Continuous('R',10);Создайте настраиваемое распределение вероятностей, pdR, для конфигурирования пространства параметров.
x = [0.95 0.99 1.01 1.05]*R.Value; F = [0 0.5 0.5 1]; pdR = makedist('PiecewiseLinear','x',x,'Fx',F); x = linspace(0.9*R.Value,1.1*R.Value,1e3); plot(x,pdf(pdR,x));

makedist задает кусочно-линейное распределение для значения резистора с «отверстием» в диапазоне 1%.
Определить pdR как распределение вероятности для R параметр в sdo.ParameterSpace объект.
ps = sdo.ParameterSpace(R,pdR);
Создайте 1000 проб.
Ns = 1000; x = sdo.sample(ps,Ns);
(Необязательно) Использовать sdo.scatterPlot для визуализации образцов и проверки пространства образцов.
Значения параметров с привязкой к сетке можно создать в анализаторе чувствительности или в командной строке.
Можно создать параметры с сеткой в приложении после создания набора параметров.
Создайте набор параметров.
В анализаторе чувствительности на вкладке Анализ чувствительности (Sensitivity Analysis) щелкните Выбрать параметры (Select Parameters).

В диалоговом окне «Выбор параметров» выберите все параметры, которые требуется включить в набор параметров, и нажмите «ОК».

A ParamSet переменная создается в области Наборы параметров приложения. Текущее значение для каждого параметра в наборе параметров отображается в таблице.

Укажите значения начальных параметров и метод создания сетки.
На вкладке Анализ чувствительности (Sensitivity Analysis) щелкните Генерировать значения (Generate Values) и выберите Генерировать значения сетки (Generate Grided Values) в раскрывающемся меню.

В диалоговом окне «Формирование значений параметров с сеткой» задайте метод создания сетки как «Все комбинации». Приложение генерирует все возможные комбинации значений, указанных в значениях.
Укажите значения начального параметра в поле «Значения». Вводимые здесь значения определяют пространство параметров. Для просмотра других способов задания значений начальных параметров и методов создания сеток нажмите кнопку «Справка».

Создайте параметры.
Щелкните Перезаписать. Таблица набора параметров обновляется с использованием сгенерированных значений параметров с сеткой.

Можно также добавить сгенерированные значения к ранее сгенерированным случайным значениям или значениям параметров с сеткой в таблице набора параметров. Для этого нажмите кнопку «Добавить».
(Необязательно) Постройте график сгенерированных значений.
В области Наборы параметров приложения выберите ПарамНабор. На вкладке Графики приложения выберите в галерее графиков команду Разбросать график.

Графики формируются с гистограммами распределения значений параметров, показанных на диагоналях. На внедиагональных графиках отображаются графики рассеяния между парами параметров. Дополнительные сведения о графиках см. в разделе Взаимодействие с графиками в анализаторе чувствительности.

Эта функция не поддерживается в Simulink Online.
В этом примере показано, как создать таблицу значений параметров с сеткой в командной строке.
Создание сетки выборок для двух параметров модели, A и B. Измениться A между [2,3,4] и B между [20,30,40].
Построить param.Continuous объект.
A = param.Continuous('A',1); B = param.Continuous('B',10);
Укажите значения параметров для создания сетки.
Avals = [2 3 4]; Bvals = [20 30 40];
Создайте таблицу значений параметров с привязкой к сетке. Укажите один столбец для каждого параметра и одну строку для каждого образца. Имена столбцов должны совпадать с именами параметров.
[Agrid,Bgrid] = meshgrid(Avals,Bvals); x = table(Agrid(:),Bgrid(:),'VariableNames',{'A','B'});
x =
A B
_ __
2 20
2 30
2 40
3 20
3 30
3 40
4 20
4 30
4 40sdo.sample | sdo.SampleOptions