sdo.SampleOptions class

Пакет: sdo

Опции выборки параметров для sdo.sample

Описание

Задайте опции метода, чтобы сгенерировать выборки параметров, используя sdo.sample, для анализа чувствительности.

Конструкция

opt = sdo.SampleOptions создает sdo.SampleOptions Объект и присвоения значения по умолчанию к его свойствам.

Используйте запись через точку для изменения значений свойств. Для примера:

opt = sdo.SampleOptions;
opt.Method = 'lhs';

Свойства

Method

Метод дискретизации, заданный как одно из следующих значений:

  • 'random' - Случайные выборки берутся из вероятностных распределений, заданных для параметров.

    Предположим, что вы задали значение для RankCorrelation свойство sdo.ParameterSpace объект, который вы используете для выборки. Программное обеспечение использует метод Iman-Conover, чтобы наложить корреляции параметра.

  • 'lhs' - Выборки латинского гиперкуба берутся из вероятностных распределений, заданных для параметров. Используйте эту опцию для более систематического подхода заполнения пространства, чем случайная выборка.

    Предположим, что вы задали значение для RankCorrelation свойство sdo.ParameterSpace объект, который вы используете для выборки. Программное обеспечение использует метод Iman-Conover, чтобы наложить корреляции параметра.

  • 'sobol' - квазирандомные последовательности Соболь взяты из вероятностных распределений, заданных для параметров. Используйте эту опцию для высоко систематического заполнения пространства. Поскольку метод Соболь детерминирован, если вы хотите немного отличать последовательности, измените MethodOptions свойство. Для получения дополнительной информации смотрите Генерация квазислучайных чисел (Statistics and Machine Learning Toolbox).

    Предположим, что вы задали значение для RankCorrelation свойство sdo.ParameterSpace объект, который вы используете для выборки. Программное обеспечение использует метод Iman-Conover, чтобы наложить корреляции параметра.

    Требуется программное обеспечение Statistics and Machine Learning Toolbox™.

  • 'halton' - Последовательности Halton quasirandom взяты из вероятностных распределений, заданных для параметров. Как и метод Соболя, можно использовать метод Хэлтона для высоко систематического заполнения пространства. Однако метод Соболь дает более систематическое заполнение пространства, если у вас есть много параметров в наборе параметров. Поскольку метод Хэлтона детерминирован, если вы хотите немного отличать последовательности, установите MethodOptions свойство. Для получения дополнительной информации смотрите Генерация квазислучайных чисел (Statistics and Machine Learning Toolbox).

    Предположим, что вы задали значение для RankCorrelation свойство sdo.ParameterSpace объект, который вы используете для выборки. Программное обеспечение использует метод Iman-Conover, чтобы наложить корреляции параметра.

    Требуется программное обеспечение Statistics and Machine Learning Toolbox.

  • 'copula' - Случайные выборки берутся из копулы. Используйте эту опцию, чтобы наложить корреляции между параметрами с помощью копул. Вы задаете семейство копул и тип корреляции в MethodOptions свойство. Вы также должны задать значение RankCorrelation свойство sdo.ParameterSpace объект, который вы используете для выборки.

    Требуется программное обеспечение Statistics and Machine Learning Toolbox.

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

По умолчанию: 'random'

MethodOptions

Примеры опций метода, заданные как структура. MethodOptions применяется только тогда, когда Method задается как 'sobol', 'halton', или 'copula'.

  • Method является 'sobol' - Поскольку метод Соболь детерминирован, если вы хотите сгенерировать несколько другие последовательности, измените значения по умолчанию в MethodOptions. Задайте MethodOptions как структура со следующими полями:

    • Skip - Количество начальных точек, которые нужно игнорировать в последовательности точек Соболя, заданное как неотрицательное целое число. Значение по умолчанию 1.

    • Leap - Число точек, которые нужно игнорировать между выбранными точками в последовательности Соболя, заданное как неотрицательное целое число. Значение по умолчанию 0.

    • ScrambleMethod - Перетасовка точек последовательности Соболь, заданная как структура со следующими полями:

      • Type - Имя метода скремблирования, заданное как 'MatousekAffineOwen' (алгоритм скремблирования Матоусека-Аффина-Оуэна [1]). Наборы Соболь с скремблированием не детерминированы. Последующие запуски, использующие этот алгоритм, генерируют различные точки. Чтобы всегда генерировать одни и те же точки последовательности Соболя, сбрасывайте генератор случайных чисел каждый раз, используя rng команда.

      • Options - Задайте как пустой массив ячеек.

      Для примера задайте ScrambleMethod как struct('Type','MatousekAffineOwen',Options',{{}}).

      Если вы не хотите скремблировать последовательность, задайте ScrambleMethod как [].

      Значение по умолчанию для ScrambleMethod является 0x0 struct.

    • PointOrder - Порядок создания точек последовательности Соболь, заданный как одно из следующего:

      • 'standard' - Произведенные точки соответствуют исходной реализации последовательности Соболь.

      • 'graycode' - Последовательность Соболь генерируется с помощью реализации, которая использует код Грея индекса вместо самого индекса.

      Значение по умолчанию для PointOrder является 'standard'.

    Метод Соболь используется для высоко систематического заполнения пространства. Однако некоторые комбинации MethodOptions значения могут привести к тому, что точки последовательности будут кластеризованы, а не заполнены пространством. После того, как вы сгенерировали выборки используя sdo.sample, просмотрите сгенерированные выборки, чтобы убедиться, что они заполнены пространством.

  • Method является 'halton' - Поскольку метод Халтона детерминирован, если вы хотите сгенерировать несколько другие последовательности, измените значения по умолчанию в MethodOptions. Задайте MethodOptions как структура со следующими полями:

    • Skip - Количество начальных точек, которые нужно игнорировать в Halton последовательности точек, заданное как неотрицательное целое число. Значение по умолчанию 1.

    • Leap - Число точек, которые нужно игнорировать между выбранными точками в последовательности Хэлтона, заданное как неотрицательное целое число. Значение по умолчанию 0.

    • ScrambleMethod - Перетасовка точек последовательности Halton, заданная как структура со следующими полями:

      • Type - Имя метода скремблирования, заданное как 'RR2' (алгоритм обратного преобразования радиуса [2]).

      • Options - Задайте как пустой массив ячеек.

      Для примера задайте ScrambleMethod как struct('Type','RR2',Options',{{}}).

      Если вы не хотите скремблировать последовательность, задайте ScrambleMethod как [].

      Значение по умолчанию для ScrambleMethod является 0x0 struct.

    Метод Halton используется для высоко систематического заполнения пространства. Однако некоторые комбинации MethodOptions значения могут привести к тому, что точки последовательности будут кластеризованы, а не заполнены пространством. После того, как вы сгенерировали выборки используя sdo.sample, просмотрите сгенерированные выборки, чтобы убедиться, что они заполнены пространством.

  • Method является 'copula'MethodOptions - структура со следующими полями:

    • Family - семейство Копула, заданное как одно из следующих значений:

      • 'Gaussian' - Гауссова копула

      • 't' - t копула

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

    • Type - Ранговый тип корреляции, заданный как одно из следующих значений:

      • 'Spearman' - корреляция ранга Спирмана

      • 'Kendall' - ранговая корреляция Кендалла

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

    • DOF - Степени свободы t-копулы, заданные в виде положительного числа.

      Для гауссовой копулы задайте DOF как []. Спецификация DOF требуется для t-копулы.

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

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

opt = sdo.SampleOptions
opt = 
  SampleOptions with properties:

           Method: 'random'
    MethodOptions: [0x0 struct]

opt = sdo.SampleOptions;
opt.Method = 'lhs';

Создайте набор опций по умолчанию.

opt = sdo.SampleOptions;

Укажите метод дискретизации как Sobol.

opt.Method = 'sobol';

Задайте метод скремблирования.

opt.MethodOptions.ScrambleMethod = struct('Type','MatousekAffineOwen','Options',{{}});
opt = sdo.SampleOptions;
opt.Method = 'copula';
opt.MethodOptions.Family = 't';
opt.MethodOptions.DOF = 2;

Ссылки

[1] Matousek, J. «On the L2-Discrepancy for Anchored Boxes». Журнал сложности. Том 14, № 4, 1998, стр. 527-556.

[2] Kocis, L., and W. J. Whiten. «Вычислительные исследования низкорасходных последовательностей». Транзакции ACM на математическом программном обеспечении. Том 23, № 2, 1997, стр. 266-294.