sdo.ParameterSpace class

Пакет: sdo

Задайте вероятностные распределения для параметров модели

Описание

Задайте вероятностные распределения для параметров модели, которые задают parameter space. Вы используете sdo.ParameterSpace возразите как вход против sdo.sample команда и генерирует выборки параметров модели. Программное обеспечение генерирует эти выборки согласно распределениям, заданным для каждого параметра. Вы оцениваете функцию стоимости для каждой из этих выборок с помощью sdo.evaluate команда и анализирует, как параметры модели влияют на функцию стоимости.

Конструкция

ps = sdo.ParameterSpace(p) создает sdo.ParameterSpace объект для заданных параметров модели. Программное обеспечение присваивает названия параметра к ParameterNames свойство и значения по умолчанию к остающимся свойствам, включая ParameterDistributions. Программное обеспечение задает равномерное распределение для каждого параметра в p и устанавливает значения двух параметров равномерного распределения можно следующим образом:

  • Lower — Установите на p.Minimum. Если p.Minimum равно-Inf, затем программное обеспечение устанавливает Lower к 0.9*p.Value. Если p.Value равно 0, в этом случае программное обеспечение устанавливает Lower к-1.

  • Upper — Установите на p.Maximum. Если p.Maximum равно Inf, затем программное обеспечение устанавливает Upper к 1.1*p.Value. Если p.Value равно 0, в этом случае программное обеспечение устанавливает Upper к 1.

ps = sdo.ParameterSpace(p,pdist) задает распределение каждого параметра.

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

p

Параметры модели и состояния в виде вектора из param.Continuous объекты.

Например, sdo.getParameterFromModel('sdoHydraulicCylinder',{'Ac','K'}).

pdist

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

  • Если pdist одного размера с p, программное обеспечение задает каждую запись pdist как вероятностное распределение соответствующего параметра в p.

  • Если pdist содержит только один объект, программное обеспечение задает этот объект как вероятностное распределение для всех параметров в p.

Используйте makedist команда, чтобы создать одномерный объект вероятностного распределения. Например, makedist('Normal','mu',100,'sigma',10).

Проверять если pdist объект одномерного распределения, запуск isa(pdist,'prob.UnivariateDistribution').

Свойства

ParameterNames

Параметр модели называет в виде массивов ячеек из символьных векторов. Например, {'Kp','Ki'}.

Это свойство готово только.

Значение по умолчанию: ''

ParameterDistributions

Распределения параметра модели в виде вектора из prob.UnivariateDistribution объекты.

По умолчанию программное обеспечение задает равномерное распределение для параметров модели, заданных p. Для каждого параметра программное обеспечение устанавливает значения двух параметров равномерного распределения:

  • Lower — Установите на p.Minimum. Если p.Minimum равно-Inf, затем программное обеспечение устанавливает Lower к 0.9*p.Value. Если p.Value равно 0, в этом случае программное обеспечение устанавливает Lower к-1.

  • Upper — Установите на p.Maximum. Если p.Maximum равно Inf, затем программное обеспечение устанавливает Upper к 1.1*p.Value. Если p.Value равно 0, в этом случае программное обеспечение устанавливает Upper к 1.

Используйте pdist входной параметр при построении ps устанавливать значение этого свойства. В качестве альтернативы используйте setDistribution метод после того, как вы создали ps.

Значение по умолчанию: []

RankCorrelation

Корреляция между параметрами в виде матрицы.

Когда вы вызываете sdo.sample, программное обеспечение генерирует выборки, которые коррелируются, как задано этой матрицей (где корреляция относится к оцениваемой корреляции). Можно задать метод выборки с помощью Method свойство sdo.SampleOptions.

  • Если вы задаете Method как 'random', 'lhs', 'sobol', или 'halton' программное обеспечение использует алгоритм Iman-Коновера, чтобы наложить корреляцию, заданную RankCorrelation.

  • Если вы задаете Method как 'copula', программное обеспечение использует связку, чтобы наложить корреляцию, заданную RankCorrelation. Используйте MethodOptions свойство sdo.SampleOptions объект задать семейство связок и задать степени свободы при использовании t семейства связок.

Задайте [] когда параметры являются некоррелироваными.

Значение по умолчанию: []

Options

Выборка опций метода в виде sdo.SampleOptions объект.

Значение по умолчанию: sdo.SampleOptions

Notes

Примечания к тексту сопоставлены с psВ виде вектора символов или массива ячеек из символьных векторов. Например, 'notes for ps'.

Значение по умолчанию: ''

Методы

addParameterДобавьте параметр в sdo.ParameterSpace объект
removeParameterУдалите параметр из sdo.ParameterSpace объект
setDistributionУстановите распределение параметра в sdo.ParameterSpace объект

Примеры

свернуть все

Получите параметры модели интереса.

load_system('sdoHydraulicCylinder');
p  = sdo.getParameterFromModel('sdoHydraulicCylinder',{'Ac','K'});

Создайте sdo.ParameterSpace объект для Ac и K.

ps = sdo.ParameterSpace(p);

Можно использовать ps как вход к sdo.sample и сгенерируйте выборки. По умолчанию программное обеспечение задает равномерное распределение для обоих параметров.

Предположим, что вы хотите задать нормальное распределение для Ac и равномерное распределение для K, с K в [30000 70000] область значений.

pdistAc = makedist('Normal','mu',p(1).Value,'sigma',2);
pdistK = makedist('Uniform','lower',30000,'upper',70000);
ps1 = sdo.ParameterSpace(p,[pdistAc;pdistK]);