estimate
estimate
функция Байесовых моделей conjugateblm
линейной регрессии,
semiconjugateblm
, diffuseblm
, empiricalblm
, и customblm
возвращает только предполагаемую модель и сводную таблицу оценки. Предыдущие и текущие синтаксисы для estimate
:
[PosteriorMdl,estBeta,EstBetaCov,estSigma2,estSigma2Var,Summary] = estimate(...); % Now issues error [PosteriorMdl,Summary] = estimate(...); % Supported
Начиная в R2019b, estimate
возвращает предполагаемый объект модели в первом положении выходного аргумента и сводную таблицу оценки во втором положении выходного аргумента. Если вы задаете выходные аргументы в последующих положениях, то estimate
проблемы эта ошибка:
Too many output arguments.
Чтобы избежать ошибки, обновите свой код путем выполнения этой процедуры.
Ищите свой код экземпляры в который estimate
возвращает любые положения выходного аргумента после первого.
В идентифицированных экземплярах определите ли estimate
возвращает оценки предельного или условного распределения. Если вызов estimate
использует 'Beta'
или 'Sigma2'
аргумент пары "имя-значение", функция возвращает оценки условного распределения. В противном случае, it
возвращает оценки предельного распределения.
Для экземпляров, возвращающих оценки предельного распределения:
Возвратите PosteriorMdl
и Summary
когда вы вызываете estimate
.
Оцените крайнюю следующую статистику с помощью соответствующего кода в этой таблице.
Выходной аргумент | PosteriorMdl conjugateblm Объект | PosteriorMdl empiricalblm Объект |
---|---|---|
estBeta | estBeta = PosteriorMdl.Mu; estBeta = Summary.Mean(1:(end - 1)); | estBeta = Summary.Mean(1:(end - 1)); estBeta = mean(PosteriorMdl.BetaDraws,2); |
EstBetaCov | EstBetaCov = Summary.Covariances(1:(end - 1),1:(end - 1)); EstBetaCov = PosteriorMdl.V/PosteriorMdl.B/(PosteriorMdl.A - 1); | EstBetaCov = Summary.Covariances(1:(end - 1),1:(end - 1)); EstBetaCov = cov(PosteriorMdl.BetaDraws'); |
estSigma2 | estSigma2 = Summary.Mean(end); estSigma2 = 1/PosteriorMdl.B/(PosteriorMdl.A - 1); | estSigma2 = Summary.Mean(end); estSigma2 = mean(PosteriorMdl.Sigma2Draws); |
estSigma2Var | estSigma2Var = Summary.Covariances(end,end); estSigma2Var = 1/(PosteriorMdl.B^2*(PosteriorMdl.A - 1)^2*(PosteriorMdl.A - 2)); | estSigma2Var = Summary.Covariances(end,end); estSigma2Var = var(PosteriorMdl.Sigma2Draws); |
Для примеров смотрите Замену Удаленный Синтаксис Когда Оценка Аналитичного Крайний Следующий и Замену Удаленный Синтаксис Когда Оценка Числового Крайний Следующий.
Для экземпляров, возвращающих оценки условного распределения, необходимо возвратить сводную таблицу оценки Summary
во втором положении выходного аргумента. Эта таблица описывает, как извлечь условные следующие оценки из Summary
.
Выходной аргумент | Оценка |
---|---|
estBeta |
|
EstBetaCov |
|
estSigma2 |
|
estSigma2Var |
|
Для примера смотрите Замену Удаленный Синтаксис Когда Оценка Следующего Условного выражения.
В этом примере показано, как заменить удаленный синтаксис estimate
когда это возвращает аналитическое крайнее следующее.
Рассмотрите модель линейной регрессии кратного, которая предсказывает США действительный валовой национальный продукт (GNPR
) использование линейной комбинации индекса промышленного производства (IPI
), общая занятость (E
), и действительная заработная плата (WR
). Примите следующее:
Прерывание и три коэффициента регрессии являются случайными переменными с многомерным нормальным предшествующим условным выражением распределения на отклонении воздействия. Предшествующее среднее значение является 4-D нулевым вектором, и предшествующая ковариационная матрица является единичной матрицей 4 на 4, масштабируемой 10 000.
Отклонение воздействия является случайной переменной с обратной гаммой предшествующее распределение. Форма и значения масштабного коэффициента равняются 3 и 1, соответственно.
Создайте сопряженную предшествующую модель нормальной обратной гаммы для параметров линейной регрессии. Определите номер предикторов . Определите имена коэффициента регрессии к соответствующим именам переменных.
p = 3; PriorMdl = bayeslm(p,'ModelType','conjugate','VarNames',["IPI" "E" "WR"]);
Загрузите набор данных Нельсона-Плоссера. Создайте переменные для ряда предиктора и ответа.
load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable{:,'GNPR'};
Перед R2019b, estimate
мог возвратить до шести выходных параметров, каждый обобщающий апостериорное распределение. Ранее поддерживаемый синтаксис:
[PosteriorMdl,estBeta,EstBetaCov,estSigma2,estSigma2Var,Summary] = estimate(PriorMdl,X,y);
Для R2019b, estimate
поддержки, возвращающие только два выходных параметра: следующая модель PosteriorMdl
и сводная таблица оценки Summary
. Оцените крайнее апостериорное распределение при помощи обновленного синтаксиса. Возвратите следующую модель и сводную таблицу оценки.
[PosteriorMdl,Summary] = estimate(PriorMdl,X,y);
Method: Analytic posterior distributions Number of observations: 62 Number of predictors: 4 Log marginal likelihood: -259.348 | Mean Std CI95 Positive Distribution ----------------------------------------------------------------------------------- Intercept | -24.2494 8.7821 [-41.514, -6.985] 0.003 t (-24.25, 8.65^2, 68) IPI | 4.3913 0.1414 [ 4.113, 4.669] 1.000 t (4.39, 0.14^2, 68) E | 0.0011 0.0003 [ 0.000, 0.002] 1.000 t (0.00, 0.00^2, 68) WR | 2.4683 0.3490 [ 1.782, 3.154] 1.000 t (2.47, 0.34^2, 68) Sigma2 | 44.1347 7.8020 [31.427, 61.855] 1.000 IG(34.00, 0.00069)
Вычислите следующие оценки при помощи новой процедуры.
estBeta = PosteriorMdl.Mu % Posterior mean of coefficients
estBeta = 4×1
-24.2494
4.3913
0.0011
2.4683
EstBetaCov = Summary.Covariances(1:(end - 1),1:(end - 1)) % Posterior covariance of coefficients
EstBetaCov = 4×4
77.1246 0.7713 -0.0024 0.5311
0.7713 0.0200 -0.0000 -0.0295
-0.0024 -0.0000 0.0000 -0.0001
0.5311 -0.0295 -0.0001 0.1218
estSigma2 = Summary.Mean(end) % Posterior mean of disturbance variance
estSigma2 = 44.1347
estSigma2Var = Summary.Covariances(end,end) % Posterior variance of disturbance variance
estSigma2Var = 60.8709
В этом примере показано, как заменить удаленный синтаксис estimate
когда это возвращает числовое крайнее следующее.
Рассмотрите модель линейной регрессии кратного, которая предсказывает США действительный валовой национальный продукт (GNPR
) использование линейной комбинации индекса промышленного производства (IPI
), общая занятость (E
), и действительная заработная плата (WR
). Примите следующее:
Прерывание и три коэффициента регрессии являются случайными переменными с многомерным нормальным предшествующим условным выражением распределения на отклонении воздействия. Предшествующее среднее значение является 4-D нулевым вектором, и предшествующая ковариационная матрица является единичной матрицей 4 на 4, масштабируемой 10 000.
Отклонение воздействия является случайной переменной с обратной гаммой предшествующее распределение. Форма и значения масштабного коэффициента равняются 3 и 1, соответственно.
Создайте полусопряженную предшествующую модель нормальной обратной гаммы для параметров линейной регрессии. Задайте количество предикторов . Определите имена коэффициента регрессии к соответствующим именам переменных.
p = 3; PriorMdl = bayeslm(p,'ModelType','semiconjugate','VarNames',["IPI" "E" "WR"]);
Загрузите набор данных Нельсона-Плоссера. Создайте переменные для ряда предиктора и ответа.
load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable{:,'GNPR'};
Перед R2019b, estimate
мог возвратить до шести выходных параметров, каждый обобщающий апостериорное распределение. Ранее поддерживаемый синтаксис:
[PosteriorMdl,estBeta,EstBetaCov,estSigma2,estSigma2Var,Summary] = estimate(PriorMdl,X,y);
Для R2019b, estimate
поддержки, возвращающие только два выходных параметра: следующая модель PosteriorMdl
и сводная таблица оценки Summary
. Оцените крайнее апостериорное распределение при помощи обновленного синтаксиса. Возвратите следующую модель и сводную таблицу оценки.
[PosteriorMdl,Summary] = estimate(PriorMdl,X,y);
Method: Gibbs sampling with 10000 draws Number of observations: 62 Number of predictors: 4 | Mean Std CI95 Positive Distribution ------------------------------------------------------------------------- Intercept | -23.9999 9.0499 [-41.852, -6.163] 0.003 Empirical IPI | 4.3933 0.1445 [ 4.112, 4.677] 1.000 Empirical E | 0.0011 0.0003 [ 0.000, 0.002] 1.000 Empirical WR | 2.4696 0.3571 [ 1.764, 3.169] 1.000 Empirical Sigma2 | 46.9242 8.4732 [33.244, 66.309] 1.000 Empirical
Вычислите следующие оценки при помощи новой процедуры.
estBeta = Summary.Mean(1:(end - 1)) % Posterior mean of coefficients
estBeta = 4×1
-23.9999
4.3933
0.0011
2.4696
EstBetaCov = Summary.Covariances(1:(end - 1),1:(end - 1)) % Posterior covariance of coefficients
EstBetaCov = 4×4
81.9002 0.8161 -0.0025 0.5843
0.8161 0.0209 -0.0000 -0.0303
-0.0025 -0.0000 0.0000 -0.0001
0.5843 -0.0303 -0.0001 0.1275
estSigma2 = Summary.Mean(end) % Posterior mean of disturbance variance
estSigma2 = 46.9242
estSigma2Var = Summary.Covariances(end,end) % Posterior variance of disturbance variance
estSigma2Var = 71.7952
В этом примере показано, как заменить удаленный синтаксис estimate
когда это возвращает следующее условное выражение.
Рассмотрите модель линейной регрессии кратного, которая предсказывает США действительный валовой национальный продукт (GNPR
) использование линейной комбинации индекса промышленного производства (IPI
), общая занятость (E
), и действительная заработная плата (WR
). Примите следующее:
Прерывание и три коэффициента регрессии являются случайными переменными с многомерным нормальным предшествующим условным выражением распределения на отклонении воздействия. Предшествующее среднее значение является 4-D нулевым вектором, и предшествующая ковариационная матрица является единичной матрицей 4 на 4, масштабируемой 10 000.
Отклонение воздействия является случайной переменной с обратной гаммой предшествующее распределение. Форма и значения масштабного коэффициента равняются 3 и 1, соответственно.
Создайте сопряженную предшествующую модель нормальной обратной гаммы для параметров линейной регрессии. Задайте количество предикторов . Определите имена коэффициента регрессии к соответствующим именам переменных.
p = 3; PriorMdl = bayeslm(p,'ModelType','conjugate','VarNames',["IPI" "E" "WR"]);
Загрузите набор данных Нельсона-Плоссера. Создайте переменные для ряда предиктора и ответа.
load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable{:,'GNPR'};
Перед R2019b, estimate
мог возвратить до шести выходных параметров; последние пять обобщают условное апостериорное распределение. Ранее поддерживаемый синтаксис:
[~,estBeta,EstBetaCov,estSigma2,estSigma2Var,Summary] = estimate(PriorMdl,X,y);
Для R2019b, estimate
поддержки, возвращающие только два выходных параметра. Условные следующие оценки находятся в сводной таблице оценки во втором положении выходного аргумента.
Оцените условное апостериорное распределение коэффициентов регрессии, учитывая, что отклонение воздействия равняется 10. Возвратите сводную таблицу оценки при помощи обновленного синтаксиса.
[~,Summary] = estimate(PriorMdl,X,y,'Sigma2',10);
Method: Analytic posterior distributions Conditional variable: Sigma2 fixed at 10 Number of observations: 62 Number of predictors: 4 | Mean Std CI95 Positive Distribution -------------------------------------------------------------------------------- Intercept | -24.2494 4.1803 [-32.443, -16.056] 0.000 N (-24.25, 4.18^2) IPI | 4.3913 0.0673 [ 4.259, 4.523] 1.000 N (4.39, 0.07^2) E | 0.0011 0.0002 [ 0.001, 0.001] 1.000 N (0.00, 0.00^2) WR | 2.4683 0.1661 [ 2.143, 2.794] 1.000 N (2.47, 0.17^2) Sigma2 | 10 0 [10.000, 10.000] 1.000 Fixed value
Вычислите следующие оценки при помощи новой процедуры.
estBeta = Summary.Mean(1:end - 1) % Posterior mean of coefficients
estBeta = 4×1
-24.2494
4.3913
0.0011
2.4683
EstBetaCov = Summary.Covariances(1:end - 1,1:end - 1) % Posterior covariance of coefficients
EstBetaCov = 4×4
17.4748 0.1748 -0.0005 0.1203
0.1748 0.0045 -0.0000 -0.0067
-0.0005 -0.0000 0.0000 -0.0000
0.1203 -0.0067 -0.0000 0.0276