Создайте опции сэмплера Цепи Маркова Монте-Карло (MCMC)
options = sampleroptions
options = sampleroptions(Name,Value)
дополнительные опции использования заданы одним или несколькими аргументами пары options
= sampleroptions(Name,Value
)Name,Value
. Например, 'Sampler','hmc','StepSizeTuningMethod','none'
задает выборку от следующего использования гамильтонова сэмплера Монте-Карло и никакого настраивающего метода неродного размера.
Предположим, что вы планируете оценить, моделировать или предсказать Байесовую модель линейной регрессии, которая имеет пользовательское объединенное предшествующее распределение. В этом случае MATLAB® обращается к MCMC, выбирающему для следующей симуляции и оценки. Можно выбрать сэмплер и настроить его параметры с помощью структуры опций сэмплера.
Создайте структуру опций сэмплера по умолчанию.
options = sampleroptions
options = struct with fields:
Sampler: 'Slice'
Width: []
options
задает сэмплер среза, и его типичная ширина пуста. Пустая ширина указывает на использование ширины по умолчанию для следующей выборки.
Задайте типичную ширину 10 для сэмплера среза.
options.Width = 10
options = struct with fields:
Sampler: 'Slice'
Width: 10
Чтобы реализовать выборку среза с демонстрационной шириной 10 для следующей оценки, создайте модель customblm
, и затем задайте структуру опций сэмплера options
при помощи аргумента пары "имя-значение" 'Options'
estimate
, simulate
или forecast
.
Чтобы задать различный сэмплер MCMC, создайте новую структуру опций сэмплера.
Предположим, что вы планируете оценить, моделировать или предсказать Байесовую модель линейной регрессии, которая имеет пользовательское объединенное предшествующее распределение, и вы хотите реализовать сэмплер Гамильтонова Монте-Карло (HMC).
Создайте структуру опций сэмплера, которая задает выборку с помощью сэмплера HMC. Задайте уровень многословия 1.
options = sampleroptions('Sampler','hmc','VerbosityLevel',1)
options = struct with fields:
Sampler: 'HMC'
StepSizeTuningMethod: 'dual-averaging'
MassVectorTuningMethod: 'iterative-sampling'
NumStepSizeTuningIterations: 100
TargetAcceptanceRatio: 0.6500
NumStepsLimit: 2000
VerbosityLevel: 1
NumPrint: 100
options
является массивом структур, и список его полей отображен в командной строке. Поля являются настраивающимися параметрами сэмплера. Все значения являются значениями по умолчанию для сэмплера HMC, кроме VerbosityLevel
.
Можно также настроить значения полей в командной строке при помощи записи через точку. Например, измените целевое приемное отношение на 0,75.
options.TargetAcceptanceRatio = 0.75
options = struct with fields:
Sampler: 'HMC'
StepSizeTuningMethod: 'dual-averaging'
MassVectorTuningMethod: 'iterative-sampling'
NumStepSizeTuningIterations: 100
TargetAcceptanceRatio: 0.7500
NumStepsLimit: 2000
VerbosityLevel: 1
NumPrint: 100
Чтобы реализовать сэмплер HMC, создайте модель customblm
, и затем задайте структуру опций сэмплера options
при помощи аргумента пары "имя-значение" 'Options'
estimate
, simulate
или forecast
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Sampler','hmc','VerbosityLevel',1
задает сэмплер HMC и отображает детали размера шага, настраивающегося во время симуляции.'Sampler'
— Сэмплер MCMC'slice'
(значение по умолчанию) | 'metropolis'
| 'hmc'
Сэмплер MCMC, заданный как пара, разделенная запятой, состоящая из 'Sampler'
и значения в этой таблице.
Значение | Описание |
---|---|
'slice' | Сэмплер среза |
'metropolis' | Случайный сэмплер Столицы обхода |
'hmc' | Сэмплер Гамильтонова Монте-Карло (HMC) |
Пример: 'Sampler','hmc'
Типы данных: char | string
width
Типичная ширина интервала выборкиТипичная ширина интервала выборки вокруг текущего значения в предельных распределениях для сэмплера среза, заданного как пара, разделенная запятой, состоящая из 'Width'
и положительного числового скаляра или (intercept
+ numPredictors
+ 1
)-by-1 числовой вектор положительных значений. numPredictors
является количеством переменных прогноза (столбцы в данных о предикторе), и intercept
является 1
, когда модель содержит прерывание и 0
в противном случае. Первый элемент Width
соответствует образцовому прерыванию, если вы существуете в модели. Порядок следующих элементов numPredictors
соответствует порядку переменных прогноза в данных о предикторе. Последний элемент соответствует образцовому отклонению.
Если Width
является скаляром, то MATLAB® применяет Width
ко всему intercept
+ numPredictors
+ предельные распределения 1
.
Если Width
является числовым вектором, то MATLAB применяет первый элемент к прерыванию (если вы существуете), следующие элементы numPredictors
к коэффициентам регрессии, соответствующим переменным прогноза в X
и последнему элементу к отклонению воздействия.
Если объем выборки (количество строк в данных о предикторе) является меньше, чем 100
, то Width
является 10
по умолчанию.
Если объем выборки - по крайней мере 100, то по умолчанию MATLAB устанавливает Width
на вектор соответствующих следующих стандартных отклонений, принимая рассеянную предшествующую модель (diffuseblm
).
MATLAB отправляет Width
функции slicesample
. Для получения дополнительной информации смотрите slicesample
.
Типичная ширина сэмплера среза не влияет на сходимость выборки MCMC. Однако это действительно влияет на количество необходимых функциональных оценок, то есть, эффективности алгоритма. Если ширина слишком мала, то алгоритм может реализовать чрезмерное количество функциональных оценок, чтобы определить соответствующую ширину выборки. Если ширина является слишком большой, то алгоритму придется уменьшить ширину к соответствующему размеру, который требует функциональных оценок.
Пример: 'Width',[100*ones(3,1);10]
'Distribution'
— Распределение предложения'mvn'
(значение по умолчанию) | 'mvt'
Распределение предложения, заданное как пара, разделенная запятой, состоящая из 'Distribution'
и значения в этой таблице.
Значение | Описание |
---|---|
'mvn' | Многомерное нормальное распределение. Чтобы настроить сэмплер, задайте его ковариационную матрицу при помощи аргумента пары "имя-значение" 'ScaleMatrix' . |
'mvt' | Многомерное распределение t. Чтобы настроить сэмплер, задайте его ковариационную матрицу или степени свободы (или оба) при помощи аргумента пары "имя-значение" 'ScaleMatrix' или 'DegreeOfFreedom' , соответственно. |
Пример: 'Distribution','mvt'
Типы данных: string
| char
'ScaleMatrix'
— Распределение предложения масштабирует матрицуРаспределение предложения масштабирует матрицу, заданную как пара, разделенная запятой, состоящая из 'ScaleMatrix'
и (intercept + numPredictors + 1)
-by-(intercept + numPredictors + 1)
симметричная, положительная определенная, числовая матрица. Для значения строк и столбцов смотрите 'Width'
.
По умолчанию ScaleMatrix
является следующей ковариационной матрицей коэффициентов регрессии (Beta
) и образцовое отклонение (Sigma2
), принимающий рассеянную модель.
Пример: 'ScaleMatrix',eye(intercept + numPredictors + 1)
Типы данных: double
'DegreeOfFreedom'
— Степени свободы распределения предложенияInf
(значение по умолчанию) | положительная скалярная величинаСтепени свободы распределения предложения, заданные как пара, разделенная запятой, состоящая из 'DegreeOfFreedom'
и положительной скалярной величины. Если 'Distribution'
является 'mvn'
, то sampleroptions
игнорирует DegreeOfFreedom
.
Пример: 'DegreeOfFreedom',3
Типы данных: double
'StepSizeTuningMethod'
— Метод для настройки размера шага'dual-averaging'
(значение по умолчанию) | 'none'
Метод для настройки размера шага, заданного как пара, разделенная запятой, состоящая из 'StepSizeTuningMethod'
и 'dual-averaging'
или 'none'
. Для получения дополнительной информации смотрите 'StepSizeTuningMethod'
.
Пример: 'StepSizeTuningMethod','none'
Типы данных: char
'MassVectorTuningMethod'
— Метод для настройки массового вектора'iterative-sampling'
(значение по умолчанию) | 'hessian'
| 'none'
Метод для настройки массового вектора, заданного как пара, разделенная запятой, состоящая из 'MassVectorTuningMethod'
и 'iterative-sampling'
, 'hessian'
или 'none'
. Для получения дополнительной информации смотрите 'MassVectorTuningMethod'
.
Пример: 'MassVectorTuningMethod','hessian'
Типы данных: char
'NumStepSizeTuningIterations'
— Количество итераций для настройки размера шага100
(значение по умолчанию) | положительное целое числоКоличество итераций для настройки размера шага, заданного как пара, разделенная запятой, состоящая из 'NumStepSizeTuningIterations'
и положительного целого числа. Для получения дополнительной информации смотрите 'NumStepSizeTuningIterations'
.
Пример: 'NumStepSizeTuningIterations',200
Типы данных: single | double
'TargetAcceptanceRatio'
— Целевое приемное отношение0.65
(значение по умолчанию) | скаляр от 0
до 1
Целевое приемное отношение, заданное как пара, разделенная запятой, состоящая из 'TargetAcceptanceRatio'
и скаляра от 0
до 1
. Для получения дополнительной информации смотрите 'TargetAcceptanceRatio'
.
Пример: 'TargetAcceptanceRatio',0.5
Типы данных: single | double
'NumStepsLimit'
— Максимальное количество шагов чехарды2000
(значение по умолчанию) | положительное целое числоМаксимальное количество шагов чехарды, заданных как пара, разделенная запятой, состоящая из 'NumStepsLimit'
и положительного целого числа. Для получения дополнительной информации смотрите 'NumStepsLimit'
.
Пример: 'NumStepsLimit',5000
Типы данных: single | double
'VerbosityLevel'
— Уровень многословия окна Command Window0
(значение по умолчанию) | неотрицательное целое числоУровень многословия окна Command Window, заданного как пара, разделенная запятой, состоящая из 'VerbosityLevel'
и неотрицательного целого числа. Для получения дополнительной информации смотрите 'VerbosityLevel'
.
Пример: 'VerbosityLevel',1
Типы данных: single | double
'NumPrint'
— Verbose частота вывода100
(значение по умолчанию) | положительное целое числоМногословная выходная частота, заданная как пара, разделенная запятой, состоящая из 'NumPrint'
и положительного целого числа. Для получения дополнительной информации смотрите 'NumPrint'
.
Пример: 'NumPrint',10
Типы данных: single | double
опции
Опции сэмплераОпции сэмплера для Байесовой модели линейной регрессии с пользовательским предшествующим распределением, возвращенным как массив структур. После создания структуры опций сэмплера можно настроить настраивающиеся значения параметров, кроме сэмплера, при помощи записи через точку.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.