Создайте Байесов объект модели линейной регрессии
PriorMdl = bayeslm(NumPredictors)
PriorMdl = bayeslm(NumPredictors,'ModelType',modelType)
PriorMdl = bayeslm(NumPredictors,'ModelType',modelType,Name,Value)
создает Байесов объект модели линейной регрессии (PriorMdl
= bayeslm(NumPredictors
)PriorMdl
), состоявший из предикторов NumPredictors
, прерывания и рассеянного, соедините предшествующее распределение для β и σ 2. PriorMdl
является шаблоном, который задает предшествующие дистрибутивы и размерность β.
задает объединенное предшествующее распределение PriorMdl
= bayeslm(NumPredictors
,'ModelType
',modelType)modelType
для β и σ 2. Для этого синтаксиса modelType
может быть:
'conjugate'
, 'semiconjugate'
или 'diffuse'
, чтобы создать стандартную Байесовую линейную регрессию предшествующая модель
'mixconjugate'
, 'mixsemiconjugate'
или 'lasso'
, чтобы создать Байесовую линейную регрессию предшествующая модель для выбора переменной прогноза
Например, 'ModelType','conjugate'
задает сопряженное уголовное прошлое для Гауссовой вероятности, то есть, β |σ2, столь же Гауссов, σ 2 как обратная гамма.
дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, можно задать, включать ли прерывание регрессии или задать дополнительные опции для объединенного предшествующего распределения PriorMdl
= bayeslm(NumPredictors
,'ModelType
',modelType,Name,Value
)modelType
.
Если вы задаете 'ModelType','empirical'
, необходимо также задать аргументы пары "имя-значение" BetaDraws
и Sigma2Draws
. BetaDraws
и Sigma2Draws
характеризуют соответствующие предшествующие дистрибутивы.
Если вы задаете 'ModelType','custom'
, необходимо также задать аргумент пары "имя-значение" LogPDF
. LogPDF
полностью характеризует объединенное предшествующее распределение.
Считайте несколько моделью линейной регрессии, которая предсказывает США действительный валовой национальный продукт (GNPR
) с помощью линейной комбинации индекса промышленного производства (IPI
), общая занятость (E
) и действительная заработная плата (WR
).
\forall , серия независимых Гауссовых воздействий со средним значением 0 и отклонение .
Предположим что коэффициенты регрессии и отклонение воздействия случайные переменные, и их предшествующие значения и распределение неизвестны. В этом случае используйте неинформативный предшествующий Jefferys: объединенное предшествующее распределение пропорционально .
Эти предположения и вероятность данных подразумевают аналитически послушное апостериорное распределение.
Создайте рассеянную предшествующую модель для параметров линейной регрессии, которая является типом модели по умолчанию. Задайте количество предикторов p
.
p = 3; Mdl = bayeslm(p)
Mdl = diffuseblm with properties: NumPredictors: 3 Intercept: 1 VarNames: {4x1 cell} | Mean Std CI95 Positive Distribution ----------------------------------------------------------------------------- Intercept | 0 Inf [ NaN, NaN] 0.500 Proportional to one Beta(1) | 0 Inf [ NaN, NaN] 0.500 Proportional to one Beta(2) | 0 Inf [ NaN, NaN] 0.500 Proportional to one Beta(3) | 0 Inf [ NaN, NaN] 0.500 Proportional to one Sigma2 | Inf Inf [ NaN, NaN] 1.000 Proportional to 1/Sigma2
Mdl
является diffuseblm
Байесов объект модели линейной регрессии, представляющий предшествующее распределение отклонения воздействия и коэффициентов регрессии. bayeslm
отображает сводные данные предшествующих дистрибутивов в командной строке. Поскольку предшествующее неинформативно, и модель не содержит данные, сводные данные тривиальны.
Если у вас есть данные, то можно оценить характеристики апостериорного распределения путем передачи предшествующей модели Mdl
и данных к estimate
.
Полагайте, что модель линейной регрессии в Значении по умолчанию Рассеивает Предшествующую Модель. Примите эти предшествующие дистрибутивы:
. 4 1 вектор средних значений, и масштабированная положительная определенная ковариационная матрица 4 на 4.
. и форма и шкала, соответственно, обратного гамма распределения.
Эти предположения и вероятность данных подразумевают нормальную обратную гамму полусопряженная модель. Условное последующее поколение сопряжено к предшествующему относительно вероятности данных, но крайнее следующее аналитически тяжело.
Создайте полусопряженную предшествующую модель нормальной обратной гаммы для параметров линейной регрессии. Задайте количество предикторов p
.
p = 3; Mdl = bayeslm(p,'ModelType','semiconjugate')
Mdl = semiconjugateblm with properties: NumPredictors: 3 Intercept: 1 VarNames: {4x1 cell} Mu: [4x1 double] V: [4x4 double] A: 3 B: 1 | Mean Std CI95 Positive Distribution ------------------------------------------------------------------------------- Intercept | 0 100 [-195.996, 195.996] 0.500 N (0.00, 100.00^2) Beta(1) | 0 100 [-195.996, 195.996] 0.500 N (0.00, 100.00^2) Beta(2) | 0 100 [-195.996, 195.996] 0.500 N (0.00, 100.00^2) Beta(3) | 0 100 [-195.996, 195.996] 0.500 N (0.00, 100.00^2) Sigma2 | 0.5000 0.5000 [ 0.138, 1.616] 1.000 IG(3.00, 1)
Mdl
является semiconjugateblm
Байесов объект модели линейной регрессии, представляющий предшествующее распределение отклонения воздействия и коэффициентов регрессии. bayeslm
отображает сводные данные предшествующих дистрибутивов в командной строке. Например, элементы Positive
представляют априорную вероятность, что соответствующий параметр положителен.
Если у вас есть данные, то можно оценить характеристики крайнего или условного апостериорного распределения путем передачи предшествующей модели Mdl
и данных к estimate
.
Полагайте, что модель линейной регрессии в Значении по умолчанию Рассеивает Предшествующую Модель. Примите эти предшествующие дистрибутивы:
. 4 1 вектор средних значений, и масштабированная положительная определенная ковариационная матрица 4 на 4. Предположим, что у вас есть предварительные знания это и V единичная матрица.
. и форма и шкала, соответственно, обратного гамма распределения.
Эти предположения и вероятность данных подразумевают нормальную обратную гамму сопряженная модель.
Создайте сопряженную предшествующую модель нормальной обратной гаммы для параметров линейной регрессии. Задайте количество предикторов p
и определите имена коэффициента регрессии к соответствующим именам переменных.
p = 3; Mdl = bayeslm(p,'ModelType','conjugate','Mu',[-20; 4; 0.1; 2],'V',eye(4),... 'VarNames',["IPI" "E" "WR"])
Mdl = conjugateblm with properties: NumPredictors: 3 Intercept: 1 VarNames: {4x1 cell} Mu: [4x1 double] V: [4x4 double] A: 3 B: 1 | Mean Std CI95 Positive Distribution ---------------------------------------------------------------------------------- Intercept | -20 0.7071 [-21.413, -18.587] 0.000 t (-20.00, 0.58^2, 6) IPI | 4 0.7071 [ 2.587, 5.413] 1.000 t (4.00, 0.58^2, 6) E | 0.1000 0.7071 [-1.313, 1.513] 0.566 t (0.10, 0.58^2, 6) WR | 2 0.7071 [ 0.587, 3.413] 0.993 t (2.00, 0.58^2, 6) Sigma2 | 0.5000 0.5000 [ 0.138, 1.616] 1.000 IG(3.00, 1)
Mdl
является conjugateblm
Байесов объект модели линейной регрессии, представляющий предшествующее распределение отклонения воздействия и коэффициентов регрессии. bayeslm
отображает сводные данные предшествующих дистрибутивов в командной строке. Несмотря на то, что имена присвоений bayeslm
к прерыванию и отклонению воздействия, все другие коэффициенты имеют указанные имена.
По умолчанию bayeslm
устанавливает форму и шкалу к 3
и 1
, соответственно. Предположим, что у вас есть предварительные знания, что формой и шкалой является 5
и 2
.
Установите предшествующую форму и шкалу к их принятым значениям.
Mdl.A = 5; Mdl.B = 2
Mdl = conjugateblm with properties: NumPredictors: 3 Intercept: 1 VarNames: {4x1 cell} Mu: [4x1 double] V: [4x4 double] A: 5 B: 2 | Mean Std CI95 Positive Distribution ---------------------------------------------------------------------------------- Intercept | -20 0.3536 [-20.705, -19.295] 0.000 t (-20.00, 0.32^2, 10) IPI | 4 0.3536 [ 3.295, 4.705] 1.000 t (4.00, 0.32^2, 10) E | 0.1000 0.3536 [-0.605, 0.805] 0.621 t (0.10, 0.32^2, 10) WR | 2 0.3536 [ 1.295, 2.705] 1.000 t (2.00, 0.32^2, 10) Sigma2 | 0.1250 0.0722 [ 0.049, 0.308] 1.000 IG(5.00, 2)
bayeslm
обновляет предшествующие сводные данные распределения на основе изменений в форме и шкале.
Полагайте, что модель линейной регрессии в Значении по умолчанию Рассеивает Предшествующую Модель. Примите эти предшествующие дистрибутивы:
4-D t распределение с 50 степенями свободы для каждого компонента и единичной матрицей для корреляционной матрицы. Кроме того, распределение сосредоточено в, и каждый компонент масштабируется соответствующими элементами вектора.
.
bayeslm
обрабатывает эти предположения и вероятность данных, как будто следующее соответствие аналитически тяжело.
Объявите функцию MATLAB® что:
Принимает значения и вместе в вектор-столбце и принимает значения гиперпараметров
Возвращает значение объединенного предшествующего распределения, учитывая значения и
function logPDF = priorMVTIG(params,ct,st,dof,C,a,b) %priorMVTIG Log density of multivariate t times inverse gamma % priorMVTIG passes params(1:end-1) to the multivariate t density % function with dof degrees of freedom for each component and positive % definite correlation matrix C. priorMVTIG returns the log of the product of % the two evaluated densities. % % params: Parameter values at which the densities are evaluated, an % m-by-1 numeric vector. % % ct: Multivariate t distribution component centers, an (m-1)-by-1 % numeric vector. Elements correspond to the first m-1 elements % of params. % % st: Multivariate t distribution component scales, an (m-1)-by-1 % numeric (m-1)-by-1 numeric vector. Elements correspond to the % first m-1 elements of params. % % dof: Degrees of freedom for the multivariate t distribution, a % numeric scalar or (m-1)-by-1 numeric vector. priorMVTIG expands % scalars such that dof = dof*ones(m-1,1). Elements of dof % correspond to the elements of params(1:end-1). % % C: Correlation matrix for the multivariate t distribution, an % (m-1)-by-(m-1) symmetric, positive definite matrix. Rows and % columns correspond to the elements of params(1:end-1). % % a: Inverse gamma shape parameter, a positive numeric scalar. % % b: Inverse gamma scale parameter, a positive scalar. % beta = params(1:(end-1)); sigma2 = params(end); tVal = (beta - ct)./st; mvtDensity = mvtpdf(tVal,C,dof); igDensity = sigma2^(-a-1)*exp(-1/(sigma2*b))/(gamma(a)*b^a); logPDF = log(mvtDensity*igDensity); end
Создайте анонимную функцию, которая действует как priorMVTIG
, но принимает значения параметров только и содержит зафиксированные гиперзначения параметров.
dof = 50; C = eye(4); ct = [-25; 4; 0; 3]; st = [10; 1; 1; 1]; a = 3; b = 1; prior = @(params)priorMVTIG(params,ct,st,dof,C,a,b);
Создайте пользовательскую объединенную предшествующую модель для параметров линейной регрессии. Задайте количество предикторов p
. Кроме того, задайте указатель на функцию для priorMVTIG
и передайте гиперзначения параметров.
p = 3; Mdl = bayeslm(p,'ModelType','custom','LogPDF',prior)
Mdl = customblm with properties: NumPredictors: 3 Intercept: 1 VarNames: {4x1 cell} LogPDF: @(params)priorMVTIG(params,ct,st,dof,C,a,b) The priors are defined by the function: @(params)priorMVTIG(params,ct,st,dof,C,a,b)
Mdl
является customblm
Байесов объект модели линейной регрессии, представляющий предшествующее распределение отклонения воздействия и коэффициентов регрессии. В этом случае bayeslm
не отображает сводные данные предшествующих дистрибутивов в командной строке.
Полагайте, что модель линейной регрессии в Значении по умолчанию Рассеивает Предшествующую Модель.
Примите эти предшествующие дистрибутивы:
Для k = 0..., 3, имеет распределение Лапласа со средним значением 0 и шкалой , где параметр уменьшения. Коэффициенты условно независимы.
. и форма и шкала, соответственно, обратного гамма распределения.
Создайте предшествующую модель для Байесовой линейной регрессии при помощи bayeslm
. Задайте количество предикторов p
и имена переменных.
p = 3; PriorMdl = bayeslm(p,'ModelType','lasso','VarNames',["IPI" "E" "WR"]);
PriorMdl
является lassoblm
Байесов объект модели линейной регрессии, представляющий предшествующее распределение отклонения воздействия и коэффициентов регрессии. По умолчанию bayeslm
приписывает уменьшение 0.01
к прерыванию и 1
к другим коэффициентам в модели.
Используя запись через точку, изменение уменьшения по умолчанию для всех коэффициентов, кроме прерывания, путем определения вектора 3 на 1, содержащего новые значения для свойства Lambda
PriorMdl
.
Припишите уменьшение 10
к IPI
и WR
.
Поскольку E
имеет шкалу, которая является несколькими порядками величины, больше, чем другие переменные, припишите уменьшение 1e5
к нему.
Lambda(2:end)
содержит уменьшения коэффициентов, соответствующих заданным переменным в свойстве VarNames
PriorMdl
.
PriorMdl.Lambda = [10; 1e5; 10];
Загрузите набор данных Нельсона-Плоссера. Создайте переменные для ряда предиктора и ответа.
load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable{:,"GNPR"};
Выполните Байесовую регрессию лассо путем передачи предшествующей модели и данных к estimate
, то есть, путем оценки апостериорного распределения и . Байесова регрессия лассо использует Цепь Маркова Монте-Карло (MCMC) для выборки от следующего. Для воспроизводимости, набор случайный seed.
rng(1); PosteriorMdl = estimate(PriorMdl,X,y);
Method: lasso MCMC sampling with 10000 draws Number of observations: 62 Number of predictors: 4 | Mean Std CI95 Positive Distribution ------------------------------------------------------------------------- Intercept | -1.3472 6.8160 [-15.169, 11.590] 0.427 Empirical IPI | 4.4755 0.1646 [ 4.157, 4.799] 1.000 Empirical E | 0.0001 0.0002 [-0.000, 0.000] 0.796 Empirical WR | 3.1610 0.3136 [ 2.538, 3.760] 1.000 Empirical Sigma2 | 60.1452 11.1180 [42.319, 85.085] 1.000 Empirical
Постройте апостериорные распределения.
plot(PosteriorMdl)
Учитывая уменьшение 10, распределение E
является довольно плотным приблизительно 0. Поэтому E
не может быть важным предиктором.
NumPredictors
— Количество переменных прогнозаКоличество переменных прогноза в Байесовом несколько модель линейной регрессии, заданная как неотрицательное целое число.
NumPredictors
должен совпасть с количеством столбцов в ваших данных о предикторе, которые вы задаете во время образцовой оценки или симуляции.
При подсчете количества предикторов в модели исключите термин прерывания, заданный Intercept
. Если вы включаете столбец из единиц в данных о предикторе для термина прерывания, то считаете их как переменную прогноза и задаете 'Intercept',false
.
Типы данных: double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'ModelType','conjugate','Mu',1:3,'V',1000*eye(3),'A',1,'B',0.5
указывает, что предшествующее распределение Beta
, данного Sigma2
, является Гауссовым со средним векторным 1:3
и ковариационной матрицей Sigma2*1000*eye(3)
, и распределение Sigma2
является обратной гаммой с формой 1
и шкала 0.5
.'ModelType'
— Соедините предшествующее распределение (β, σ 2)'diffuse'
(значение по умолчанию) | 'conjugate'
| 'semiconjugate'
| 'empirical'
| 'custom'
| 'lasso'
| 'mixconjugate'
| 'mixsemiconjugate'
Соедините предшествующее распределение (β, σ 2), заданный как пара, разделенная запятой, состоящая из 'ModelType'
и значения в следующих таблицах.
Для стандартной Байесовой модели регрессии выберите значение в этой таблице.
Значение | Описание |
---|---|
'conjugate' | Нормальная обратная гамма сопряженная модель
Можно настроить соответствующие гиперпараметры с помощью |
'semiconjugate' | Нормальная обратная гамма полусопряженная модель
Можно настроить соответствующие гиперпараметры с помощью |
'diffuse' | Рассейте предшествующие дистрибутивы
|
'empirical' | Пользовательские предшествующие дистрибутивы
|
'custom' | Пользовательские предшествующие дистрибутивы
|
Для Байесовой модели регрессии, которая выполняет выбор переменной прогноза, выберите значение в этой таблице.
Значение | Описание |
---|---|
'mixconjugate' | Стохастический поисковый выбор переменной (SSVS) [1] спрягает предшествующие дистрибутивы
Для получения дополнительной информации смотрите |
'mixsemiconjugate' | SSVS [1] полусопряженные предшествующие дистрибутивы
Для получения дополнительной информации смотрите |
'lasso' | Байесова регрессия лассо предшествующие дистрибутивы [3]
|
Предшествующий тип модели, который вы выбираете, зависит от ваших предположений на совместном распределении параметров. Ваш выбор может влиять на следующие оценки и выводы. Для получения дополнительной информации смотрите Реализацию Байесова Линейная регрессия.
Пример: 'ModelType','conjugate'
Типы данных: char
'Intercept'
— Отметьте для включения прерывания модели регрессииtrue
(значение по умолчанию) | false
Отметьте для включения прерывания модели регрессии, заданного как пара, разделенная запятой, состоящая из 'Intercept'
и значения в этой таблице.
Значение | Описание |
---|---|
false | Исключите прерывание из модели регрессии. Поэтому β является p - размерный вектор, где p является значением NumPredictors . |
true | Включайте прерывание в модель регрессии. Поэтому β (p + 1) - размерный вектор. Эта спецификация заставляет T-by-1 вектор из единиц предварительно ожидаться к данным о предикторе во время оценки и симуляции. |
Если вы включаете столбец из единиц в данных о предикторе для термина прерывания, то задаете 'Intercept',false
.
Пример: 'Intercept',false
varnames
Имена переменной прогнозаПеременная прогноза называет для отображений, заданных как пара, разделенная запятой, состоящая из 'VarNames'
и вектора строки или вектора ячейки векторов символов. VarNames
должен содержать элементы NumPredictors
.
является именем переменной в столбце VarNames(j)
j
набора данных предиктора, который вы задаете во время оценки, симуляции или прогнозирования.
Значением по умолчанию является
, где {'Beta(1)','Beta(2)',...,'Beta(p)'}
p
является значением NumPredictors
.
Вы не можете определить имя отклонения воздействия или прерывания. В отображениях bayeslm
дает прерыванию имя Intercept
и отклонение воздействия имя Sigma2
. Поэтому вы не можете использовать "Intercept"
и "Sigma2"
как имена предиктора.
Пример: 'VarNames',["UnemploymentRate"; "CPI"]
Типы данных: string
| cell
| char
\mu
Средний гиперпараметр Гауссовых, предшествующих на βzeros(Intercept + NumPredictors,1)
(значение по умолчанию) | числовой векторСредний гиперпараметр Гауссова предшествующего на β, заданном как пара, разделенная запятой, состоящая из 'Mu'
и числового вектора.
Если Mu
является вектором, то он должен иметь элементы NumPredictors + 1
или NumPredictors
.
Для элементов NumPredictors
bayeslm
устанавливает предшествующее среднее значение предикторов NumPredictors
только. Предикторы соответствуют столбцам в данных о предикторе (заданный во время оценки, симуляции, или предсказывающий). bayeslm
игнорирует прерывание в модели, то есть, bayeslm
задает предшествующее среднее значение по умолчанию к любому прерыванию.
Для элементов NumPredictors + 1
первый элемент соответствует предшествующему среднему значению прерывания, и все другие элементы соответствуют предикторам.
Пример: 'Mu',[1; 0.08; 2]
Типы данных: double
V
Условный гиперпараметр ковариационной матрицы Гауссовых, предшествующих на β1e5*eye(Intercept + NumPredictors)
(значение по умолчанию) | симметричная, положительная определенная матрицаУсловный гиперпараметр ковариационной матрицы Гауссова предшествующего на β, заданном как пара, разделенная запятой, состоящая из 'V'
и c
-by-c
симметричная, положительная определенная матрица. c
может быть NumPredictors
или NumPredictors + 1
.
Если c
является NumPredictors
, то bayeslm
устанавливает предшествующую ковариационную матрицу на
bayeslm
приписывает предшествующие ковариации по умолчанию прерыванию и приписывает V
коэффициентам переменных прогноза в данных. Строки и столбцы V
соответствуют столбцам (переменные) в данных о предикторе.
Если c
является NumPredictors + 1
, то bayeslm
устанавливает целую предшествующую ковариацию на V
. Первая строка и столбец соответствует прерыванию. Все другие строки и столбцы соответствуют столбцам в данных о предикторе.
Значением по умолчанию является flat prior. Для adaptive prior задайте diag(Inf(Intercept + NumPredictors,1))
. Адаптивное уголовное прошлое указывает на нулевую точность для предшествующего распределения, чтобы иметь как можно меньше влияния на апостериорное распределение.
Для 'ModelType',conjugate
V
является предшествующей ковариацией β до фактора σ 2.
Пример: 'V',diag(Inf(3,1))
Типы данных: double
\lambda
Ловите арканом параметр регуляризации1
(значение по умолчанию) | положительный числовой скаляр | положительный числовой векторЛовите арканом параметр регуляризации для всех коэффициентов регрессии, заданных как пара, разделенная запятой, состоящая из 'Lambda'
и положительного числового скаляра или (Intercept
+ NumPredictors
)-by-1 положительный числовой вектор. Большие значения Lambda
заставляют соответствующие коэффициенты уменьшаться ближе, чтобы обнулить.
Предположим, что X
является T
-by-NumPredictors
матрица данных о предикторе, которые вы задаете во время оценки, симуляции или прогнозирования.
Если Lambda
является вектором, и Intercept
является true
, Lambda(1)
является уменьшением для прерывания, Lambda(2)
является уменьшением для коэффициента первого предиктора X(:,1)
, Lambda(3)
является уменьшением для коэффициента второго предиктора X(:,2)
, …, и Lambda(NumPredictors + 1)
является уменьшением для коэффициента последнего предиктора X(:,NumPredictors)
.
Если Lambda
является вектором, и Intercept
является false
, Lambda(1)
является уменьшением для коэффициента первого предиктора X(:,1)
, …, и Lambda(NumPredictors)
является уменьшением для коэффициента последнего предиктора X(:,NumPredictors)
.
Если вы предоставляете скалярный s
для Lambda
, то все коэффициенты предикторов в X
имеют уменьшение s
.
Если Intercept
является true
, прерывание имеет уменьшение 0.01
, и lassoblm
хранит [0.01; s*ones(NumPredictors,1)]
в Lambda
.
В противном случае lassoblm
хранит s*ones(NumPredictors,1)
в Lambda
.
Пример: 'Lambda',6
Типы данных: double
\mu
Покомпонентно имейте в виду гиперпараметр Гауссовой смеси, предшествующей на βzeros(Intercept + NumPredictors,2)
(значение по умолчанию) | числовая матрицаПокомпонентно имейте в виду гиперпараметр Гауссовой смеси, предшествующей на β, заданном как пара, разделенная запятой, состоящая из 'Mu'
и (Intercept + NumPredictors
)-by-2 числовая матрица. Первый столбец содержит предшествующие средние значения для 1 компонента (режим переменного включения, то есть, γ = 1). Второй столбец содержит предшествующие средние значения для 2 компонента (режим переменного исключения, то есть, γ = 0).
Если Intercept
является false
, то Mu
имеет строки NumPredictors
. bayeslm
устанавливает предшествующее среднее значение коэффициентов NumPredictors
, соответствующих столбцам в наборе данных предиктора, который вы задаете во время оценки, симуляции или прогнозирования.
В противном случае Mu
имеет элементы NumPredictors + 1
. Первый элемент соответствует предшествующим средним значениям прерывания, и все другие элементы соответствуют переменным прогноза.
Чтобы выполнить SSVS, используйте значение по умолчанию Mu
.
Типы данных: double
V
Покомпонентный фактор отклонения или гиперпараметр отклонения Гауссовой смеси, предшествующей на βrepmat([10 0.1],Intercept + NumPredictors,1)
(значение по умолчанию) | положительная числовая матрицаПокомпонентный фактор отклонения или гиперпараметр отклонения Гауссовой смеси, предшествующей на β, заданном как пара, разделенная запятой, состоящая из 'V'
и (Intercept + NumPredictors
)-by-2 положительная числовая матрица. Первый столбец содержит предшествующие факторы отклонения для 1 компонента (режим переменного включения, то есть, γ = 1). Второй столбец содержит предшествующие факторы отклонения для 2 компонента (режим переменного исключения, то есть, γ = 0). Для сопряженных моделей ('ModelType','mixconjugate'
) V
содержит факторы отклонения, и для полусопряженных моделей ('ModelType','mixsemiconjugate'
), V
содержит отклонения.
Если Intercept
является false
, то V
имеет строки NumPredictors
. bayeslm
устанавливает предшествующий фактор отклонения коэффициентов NumPredictors
, соответствующих столбцам в наборе данных предиктора, который вы задаете во время оценки, симуляции или прогнозирования.
В противном случае V
имеет элементы NumPredictors + 1
. Первый элемент соответствует предшествующему фактору отклонения прерывания, и все другие элементы соответствуют переменным прогноза.
Чтобы выполнить SSVS, задайте больший фактор отклонения для режима 1, чем для режима 2. Таким образом, для всего j
задайте
> V(j,1)
.V(j,2)
Для получения дополнительной информации, на какой значение задать для V
, см. [1].
Типы данных: double
'Probability'
— Распределение априорной вероятности для переменных режимов включения и исключения0.5*ones(Intercept + NumPredictors,1)
(значение по умолчанию) | числовой вектор значений в [0,1] | указатель на функциюРаспределение априорной вероятности для переменных режимов включения и исключения, заданных как пара, разделенная запятой, состоящая из 'Probability'
и (Intercept
+ NumPredictors
)-by-1 числовой вектор значений в [0,1] или указателя на функцию в форме @fcnName
, где fcnName
является именем функции. Probability
представляет распределение априорной вероятности γ = {γ 1, …, γK}, где:
K = Intercept
+ NumPredictors
, который является количеством коэффициентов в модели регрессии.
γk ∈ {0,1} для k = 1, …, K. Поэтому выборочное пространство имеет кардинальность 2K.
γk = 1 указывает, что переменная VarNames
включена в модель, и γk = 0 указывает, что переменная исключена из модели.(k)
Если Probability
является числовым вектором:
Строки соответствуют именам переменных в VarNames
. Для моделей, содержащих прерывание, априорной вероятностью для включения прерывания является Probability(1)
.
Для
= 1, …, K, априорная вероятность для исключения переменной k
равняется 1 – k
Probability(k).
Априорные вероятности режима переменного включения, среди всех переменных и прерывания, независимы.
Если Probability
является указателем на функцию, то он представляет пользовательское предшествующее распределение вероятностей режима переменного включения. Соответствующая функция должна иметь этот оператор объявления (имена аргумента, и имена функций могут отличаться):
logprob = regimeprior(varinc)
logprob
является числовым скаляром, представляющим журнал предшествующего распределения. Можно записать предшествующему распределению до коэффициента пропорциональности.
varinc
является K-by-1 логический вектор. Элементы соответствуют именам переменных в VarNames
и указывают на режим, в котором существует соответствующая переменная.
= varinc(k)
true
указывает
включен в модель и , что VarName(k)
=varinc(k)
, false
указывает, что исключен из модели.
Можно включать больше входных параметров, но они должны быть известны, когда вы вызываете bayeslm
.
Для получения дополнительной информации, на какой значение задать для Probability
, см. [1].
Типы данных: double
| function_handle
Корреляция
Предшествующая корреляционная матрица βeye(Intercept + NumPredictors)
(значение по умолчанию) | числовая, положительная определенная матрицаПредшествующая корреляционная матрица β для обоих компонентов в модели смеси, заданной как пара, разделенная запятой, состоящая из 'Correlation'
и
(Intercept
+ NumPredictors
) (Intercept
+ NumPredictors
) числовая, положительная определенная матрица. Следовательно, предшествующая ковариационная матрица для
компонента j
в модели смеси
:
Для сопряженного ('ModelType','mixconjugate'
), sigma2*diag(sqrt(V(:,j)))*Correlation*diag(sqrt(V(:,j)))
Для полусопряженного ('ModelType','mixsemiconjugate'
), diag(sqrt(V(:,j)))*Correlation*diag(sqrt(V(:,j)))
где sigma2
является σ 2, и V
является матрицей содействующих факторов отклонения или отклонений.
Строки и столбцы соответствуют именам переменных в VarNames
.
По умолчанию коэффициенты регрессии являются некоррелироваными, условными на режиме.
Можно предоставить любую соответственно размерную числовую матрицу. Однако, если ваша спецификация не положительна определенный, bayeslm
выдает предупреждение и заменяет вашу спецификацию на CorrelationPD
, где:
CorrelationPD = 0.5*(Correlation + Correlation.');
Для получения дополнительной информации, на какой значение задать для Correlation
, см. [1].
Типы данных: double
A
Сформируйте гиперпараметр обратной гаммы, предшествующей на σ 23
(значение по умолчанию) | числовой скалярСформируйте гиперпараметр обратной гаммы, предшествующей на σ 2, заданный как пара, разделенная запятой, состоящая из 'A'
и числового скаляра.
A
должен быть, по крайней мере, –(Intercept + NumPredictors)/2
.
С B
, сохраненным зафиксированным, обратное гамма распределение становится более высоким и более сконцентрированным, когда A
увеличивается. Эта характеристика взвешивает предшествующую модель σ 2 в большей степени, чем вероятность во время следующей оценки.
Для функциональной формы обратного гамма распределения смотрите Аналитически Послушное Последующее поколение.
Эта опция не применяется к эмпирическим или пользовательским предшествующим дистрибутивам.
Пример: 'A',0.1
Типы данных: double
B
Масштабируйте гиперпараметр обратной гаммы, предшествующей на σ 21
(значение по умолчанию) | положительная скалярная величина | Inf
Масштабируйте гиперпараметр обратной гаммы, предшествующей на σ 2, заданный как пара, разделенная запятой, состоящая из 'B'
и положительной скалярной величины или Inf
.
С A
, сохраненным зафиксированным, обратное гамма распределение становится более высоким и более сконцентрированным, когда B
увеличивается. Эта характеристика взвешивает предшествующую модель σ 2 в большей степени, чем вероятность во время следующей оценки.
Эта опция не применяется к эмпирическим или пользовательским предшествующим дистрибутивам.
Пример: 'B',5
Типы данных: double
'BetaDraws'
— Случайная выборка от предшествующего распределения βСлучайная выборка от предшествующего распределения β, заданного как пара, разделенная запятой, состоящая из 'BetaDraws'
и (Intercept
+ NumPredictors
)-by-NumDraws
числовая матрица. Строки соответствуют коэффициентам регрессии: первая строка соответствует прерыванию, и последующие строки соответствуют столбцам в данных о предикторе. Столбцы соответствуют последовательным ничьим от предшествующего распределения.
BetaDraws
и Sigma2Draws
должны иметь одинаковое число столбцов.
Для лучших результатов чертите большое количество выборок.
Типы данных: double
'Sigma2Draws'
— Случайная выборка от предшествующего распределения σ 2Случайная выборка от предшествующего распределения σ 2, заданный как пара, разделенная запятой, состоящая из 'Sigma2Draws'
и 1 NumDraws
числовым вектором - строкой. Столбцы соответствуют последовательным ничьим от предшествующего распределения.
BetaDraws
и Sigma2Draws
должны иметь одинаковое число столбцов.
Для лучших результатов чертите большое количество выборок.
Типы данных: double
'LogPDF'
— Журнал объединенной функции плотности вероятности (β, σ 2)Журнал объединенной функции плотности вероятности (β, σ 2), заданный как пара, разделенная запятой, состоящая из 'LogPDF'
и указателя на функцию.
Предположим, что logprior
является именем функции MATLAB® определение объединенного предшествующего распределения (β, σ 2). Затем logprior
должен иметь эту форму.
function [logpdf,glpdf] = logprior(params) ... end
logpdf
является числовым скаляром, представляющим журнал объединенной плотности вероятности (β, σ 2).
glpdf
(Intercept
+ NumPredictors
+ 1)-by-1 числовой вектор, представляющий градиент logpdf
. Элементы соответствуют элементам params
.
glpdf
является дополнительным выходным аргументом, и только гамильтоновым сэмплером Монте-Карло (см. hmcSampler
), применяет его. Если вы знаете аналитическую частную производную относительно некоторых параметров, но не других, то установленный элементы glpdf
, соответствующего неизвестным частным производным к NaN
. MATLAB вычисляет числовой градиент для пропавших без вести частных производных, который удобен, но замедляет выборку.
params
(Intercept
+ NumPredictors
+ 1)-by-1 числовой вектор. Первый Intercept
+ элементы NumPredictors
должны соответствовать значениям β, и последний элемент должен соответствовать значению σ 2. Первый элемент β является прерыванием, если вы существуете. Все другие элементы соответствуют переменным прогноза в данных о предикторе, которые вы задаете во время оценки, симуляции или прогнозирования.
Пример: 'LogPDF',@logprior
PriorMdl
— Байесова модель линейной регрессии хранение предшествующих образцовых предположенийconjugateblm
| объект модели semiconjugateblm
| объект модели diffuseblm
| объект модели mixconjugateblm
| объект модели mixsemiconjugateblm
| объект модели lassoblm
|...Байесова модель линейной регрессии хранение предшествующих образцовых предположений, возвращенных как объект в этой таблице.
Значение ModelType | Возвращенный байесов объект модели линейной регрессии |
---|---|
'conjugate' | conjugateblm |
'semiconjugate' | semiconjugateblm |
'diffuse' | diffuseblm |
'empirical' | empiricalblm |
'custom' | customblm |
'mixconjugate' | mixconjugateblm |
'mixsemiconjugate' | mixsemiconjugateblm |
'lasso' | lassoblm |
PriorMdl
задает объединенное предшествующее распределение и характеристики модели линейной регрессии только. Объект модели является шаблоном, предназначенным для дальнейшего использования. Чтобы включить данные в модель для анализа апостериорного распределения, передайте объект модели и данные к соответствующей объектной функции, например, estimate
или simulate
.
Bayesian linear regression model обрабатывает параметры β и σ 2 в модели yt нескольких линейных регрессий (MLR) = xt β + εt как случайные переменные.
В течение многих времен t = 1..., T:
yt является наблюдаемым ответом.
xt является 1 на (p + 1) вектор - строка из наблюдаемых величин предикторов p. Размещать образцовое прерывание, x 1t = 1 для всего t.
β (p + 1)-by-1 вектор-столбец коэффициентов регрессии, соответствующих переменным, которые составляют столбцы xt.
εt является случайным воздействием со средним значением нуля и Cov (ε) = σ 2IT×T, в то время как ε является T-by-1 вектор, содержащий все воздействия. Эти предположения подразумевают, что вероятность данных
ϕ (yt; xtβ, σ 2) является Гауссовой плотностью вероятности со средним xtβ и отклонением σ 2 оцененных в yt;.
Прежде, чем рассмотреть данные, вы налагаете предположение joint prior distribution на (β, σ 2). В Байесовом анализе вы обновляете распределение параметров при помощи информации о параметрах, полученных из вероятности данных. Результатом является joint posterior distribution (β, σ 2) или conditional posterior distributions параметров.
[1] Джордж, E. I. и Р. Э. Маккалок. "Выбор переменной Через Гиббс, Выбирающий". Журнал американской Статистической Ассоциации. Издание 88, № 423, 1993, стр 881–889.
[2] Koop, G., Д. Дж. Пойрир и Дж. Л. Тобиас. Байесовы эконометрические методы. Нью-Йорк, Нью-Йорк: Издательство Кембриджского университета, 2007.
[3] Припаркуйтесь, T. и Г. Казелла. "Байесово Лассо". Журнал американской Статистической Ассоциации. Издание 103, № 482, 2008, стр 681–686.
conjugateblm
| customblm
| diffuseblm
| empiricalblm
| lassoblm
| mixconjugateblm
| mixsemiconjugateblm
| semiconjugateblm
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.