Симулируйте коэффициенты регрессии и отклонение воздействия Байесовой модели линейной регрессии
[ возвращает случайный вектор коэффициентов регрессии (BetaSim,sigma2Sim]
= simulate(Mdl)BetaSim) и случайное отклонение воздействия (sigma2Sim) чертивший из Байесовой модели
Mdl линейной регрессии из β и σ 2.
[ чертит от крайних апостериорных распределений, произведенных или обновленных путем слияния данных о предикторе BetaSim,sigma2Sim]
= simulate(Mdl,X,y)X и соответствующие данные об ответе y.
Если Mdl объединенная предшествующая модель, затем simulate производит крайние апостериорные распределения путем обновления предшествующей модели с информацией о параметрах, которые это получает из данных.
Если Mdl крайняя следующая модель, затем simulate обновляет последующее поколение с информацией о параметрах, которые она получает из дополнительных данных. Вероятность полных данных состоит из дополнительных данных X и y, и данные, которые создали Mdl.
NaNs в данных указывают на отсутствующие значения, который simulate удаляет при помощи мудрого списком удаления.
[ использование любая из комбинаций входных аргументов в предыдущих синтаксисах и дополнительных опциях задано одним или несколькими аргументами пары "имя-значение". Например, можно задать значение для β или σ 2, чтобы симулировать от апостериорного распределения conditional одного параметра, учитывая заданное значение другого параметра.BetaSim,sigma2Sim]
= simulate(___,Name,Value)
[ также возвращается, чертит от скрытого распределения режима если BetaSim,sigma2Sim,RegimeSim]
= simulate(___)Mdl Байесова модель линейной регрессии для стохастического поискового выбора переменной (SSVS), то есть, если Mdl mixconjugateblm или mixsemiconjugateblm объект модели.
simulate не может чертить значения от improper distribution, то есть, распределение, плотность которого не объединяется к 1.
Если Mdl empiricalblm объект модели, затем вы не можете задать Beta или Sigma2. Вы не можете симулировать от условных апостериорных распределений при помощи эмпирического распределения.
Каждый раз, когда simulate должен оценить апостериорное распределение (например, когда Mdl представляет предшествующее распределение, и вы предоставляете X и y) и следующее аналитически послушно, simulate симулирует непосредственно от следующего. В противном случае, simulate обращения к симуляции Монте-Карло, чтобы оценить следующее. Для получения дополнительной информации смотрите Следующую Оценку и Вывод.
Если Mdl объединенная следующая модель, затем simulate симулирует данные из него по-другому по сравнению с когда Mdl объединенная предшествующая модель, и вы предоставляете X и y. Поэтому, если вы устанавливаете тот же случайный seed и генерируете случайные значения оба пути, затем вы не можете получить те же значения. Однако соответствующие эмпирические распределения на основе достаточного числа ничьих эффективно эквивалентны.
Этот рисунок показывает как simulate уменьшает выборку при помощи значений NumDraws, Thin, и BurnIn.

Прямоугольники представляют последовательные ничьи от распределения. simulate удаляет белые прямоугольники из выборки. Остающийся NumDraws черные прямоугольники составляют выборку.
Если Mdl semiconjugateblm объект модели, затем simulate выборки от апостериорного распределения путем применения сэмплера Гиббса.
simulate использует значение по умолчанию Sigma2Start для σ 2 и чертит значение β от π (β |σ2, X, y).
simulate чертит значение σ 2 от π (σ 2|β, X, y) при помощи ранее сгенерированного значения β.
Функция повторяет шаги 1 и 2 до сходимости. Чтобы оценить сходимость, постройте график трассировки выборки.
Если вы задаете BetaStart, затем simulate чертит значение σ 2 от π (σ 2|β, X, y), чтобы запустить сэмплер Гиббса. simulate не возвращает это сгенерированное значение σ 2.
Если Mdl empiricalblm объект модели и вы не предоставляете X и y, затем simulate чертит от Mdl.BetaDraws и Mdl.Sigma2Draws. Если NumDraws меньше чем или равно numel(Mdl.Sigma2Draws), затем simulate возвращает первый NumDraws элементы Mdl.BetaDraws и Mdl.Sigma2Draws как случайные ничьи для соответствующего параметра. В противном случае, simulate случайным образом передискретизирует NumDraws элементы от Mdl.BetaDraws и Mdl.Sigma2Draws.
Если Mdl customblm объект модели, затем simulate использует сэмплер MCMC, чтобы чертить от апостериорного распределения. В каждой итерации программное обеспечение конкатенирует текущие значения коэффициентов регрессии и отклонения воздействия в (Mdl.Intercept + Mdl.NumPredictors + 1) вектор-by-1 и передачи это к Mdl.LogPDF. Значение отклонения воздействия является последним элементом этого вектора.
Сэмплер HMC требует и логарифмической плотности и ее градиента. Градиентом должен быть (NumPredictors+Intercept+1)- 1 вектор. Если производные определенных параметров затрудняют, чтобы вычислить, то, в соответствующих местоположениях градиента, NaN предоставления значения вместо этого. simulate замены NaN значения с числовыми производными.
Если Mdl lassoblm, mixconjugateblm, или mixsemiconjugateblm объект модели и вы предоставляете X и y, затем simulate выборки от апостериорного распределения путем применения сэмплера Гиббса. Если вы не снабжаете данными, то simulate выборки от аналитических, безусловных предшествующих распределений.
simulate не возвращает начальные значения по умолчанию, которые это генерирует.
Если Mdl mixconjugateblm или mixsemiconjugateblm, затем simulate чертит от распределения режима сначала, учитывая текущее состояние цепи (значения RegimeStart, BetaStart, и Sigma2Start). Если вы чертите одну выборку и не задаете значения для RegimeStart, BetaStart, и Sigma2Start, затем simulate использует значения по умолчанию и выдает предупреждение.
conjugateblm | customblm | diffuseblm | empiricalblm | lassoblm | mixconjugateblm | mixsemiconjugateblm | semiconjugateblm