Визуализируйте предшествующую и следующую плотность Байесовых параметров модели линейной регрессии
plot(
или PosteriorMdl
)plot(
строит следующие или предшествующие распределения параметров в Байесовой модели
PriorMdl
)PosteriorMdl
линейной регрессии или
PriorMdl
, соответственно. plot
добавляют подграфики для каждого параметра одной фигуре и перезаписывают ту же фигуру, когда вы вызываете plot
многократно.
plot(
строит следующие и предшествующие распределения в том же подграфике. PosteriorMdl
,PriorMdl
)plot
использование чисто синие линии для следующей плотности и подчеркнутые штриховой линией красные линии для предшествующей плотности.
plot(___,
использование любая из комбинаций входных аргументов в предыдущих синтаксисах и дополнительных опциях задано одним или несколькими аргументами пары "имя-значение". Например, можно оценить следующую или предшествующую плотность путем предоставления значений β и σ 2, или выбрать который распределения параметра включать в фигуру.Name,Value
)
также возвращает значения параметров что pointsUsed
= plot(___)plot
использование, чтобы оценить плотность в подграфиках.
[
также возвращает значения оцененной плотности.pointsUsed
,posteriorDensity
,priorDensity
]
= plot(___)
Если вы задаете одну модель, то plot
возвращает значения плотности в PosteriorDensity
. В противном случае, plot
возвращает следующие значения плотности в PosteriorDensity
и предшествующие значения плотности в PriorDensity
.
[
возвращает указатель фигуры фигуры, содержащей распределения.pointsUsed
,posteriorDensity
,priorDensity
,FigureHandle
]
= plot(___)
Рассмотрите модель многофакторной линейной регрессии, которая предсказывает США действительный валовой национальный продукт (GNPR
) использование линейной комбинации индекса промышленного производства (IPI
), общая занятость (E
), и действительная заработная плата (WR
).
\forall , серия независимых Гауссовых воздействий со средним значением 0 и отклонение .
Примите эти предшествующие распределения:
. 4 1 вектор средних значений, и масштабированная положительная определенная ковариационная матрица 4 на 4.
. и форма и шкала, соответственно, обратного гамма распределения.
Эти предположения и вероятность данных подразумевают нормальную обратную гамму сопряженная модель.
Создайте сопряженную предшествующую модель нормальной обратной гаммы для параметров линейной регрессии. Задайте количество предикторов p
и имена переменных.
p = 3; VarNames = ["IPI" "E" "WR"]; PriorMdl = bayeslm(p,'ModelType','conjugate','VarNames',VarNames);
PriorMdl
conjugateblm
Байесов объект модели линейной регрессии, представляющий предшествующее распределение коэффициентов регрессии и отклонения воздействия.
Постройте предшествующие распределения.
plot(PriorMdl);
plot
строит крайние предшествующие распределения прерывания, коэффициентов регрессии и отклонения воздействия.
Предположим, что среднее значение коэффициентов регрессии и их масштабированная ковариационная матрица
Кроме того, предшествующая шкала отклонения воздействия 0.01. Укажите предшествующую информацию с помощью записи через точку.
PriorMdl.Mu = [-20; 4; 0.001; 2]; PriorMdl.V = diag([1 0.001 1e-8 0.01]); PriorMdl.B = 0.01;
Запросите новую фигуру и постройте предшествующее распределение.
plot(PriorMdl);
plot
заменяет фигуру распределения тока на график предшествующего распределения отклонения воздействия.
Загрузите набор данных Нельсона-Плоссера и создайте переменные для данных об ответе и предиктора.
load Data_NelsonPlosser
X = DataTable{:,PriorMdl.VarNames(2:end)};
y = DataTable.GNPR;
Оцените апостериорные распределения.
PosteriorMdl = estimate(PriorMdl,X,y,'Display',false);
PosteriorMdl
conjugateblm
объект модели, который содержит апостериорные распределения и .
Постройте апостериорные распределения.
plot(PosteriorMdl);
Постройте предшествующие и апостериорные распределения параметров на тех же подграфиках.
plot(PosteriorMdl,PriorMdl);
Считайте модель регрессии в Графике Предшествующими и Апостериорными распределениями.
Загрузите набор данных Нельсона-Плоссера, создайте значение по умолчанию, спрягают предшествующую модель, и затем оценивают следующее использование первых 75% данных. Выключите отображение оценки.
p = 3; VarNames = ["IPI" "E" "WR"]; PriorMdl = bayeslm(p,'ModelType','conjugate','VarNames',VarNames); load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable.GNPR; d = 0.75; PosteriorMdlFirst = estimate(PriorMdl,X(1:floor(d*end),:),y(1:floor(d*end)),... 'Display',false);
Постройте предшествующее распределение и апостериорное распределение отклонения воздействия. Возвратите указатель фигуры.
[~,~,~,h] = plot(PosteriorMdlFirst,PriorMdl,'VarNames','Sigma2');
h
указатель фигуры для графика распределения. Если вы изменяете имя тега фигуры путем изменения Tag
свойство, затем следующий plot
вызовите помещает все новые графики распределения в различную фигуру.
Поменяйте имя указателя фигуры на FirstHalfData
использование записи через точку.
h.Tag = 'FirstHalfData';
Оцените апостериорное распределение с помощью остальной части данных. Задайте апостериорное распределение на основе итоговых 25% данных как предшествующее распределение.
PosteriorMdl = estimate(PosteriorMdlFirst,X(ceil(d*end):end,:),... y(ceil(d*end):end),'Display',false);
Постройте следующее из отклонения воздействия на основе половины данных и всех данных новой фигуре.
plot(PosteriorMdl,PosteriorMdlFirst,'VarNames','Sigma2');
Этот тип графика показывает эволюцию апостериорного распределения, когда вы включаете новые данные.
Считайте модель регрессии в Графике Предшествующими и Апостериорными распределениями.
Загрузите набор данных Нельсона-Плоссера и создайте сопряженную предшествующую модель значения по умолчанию.
p = 3; VarNames = ["IPI" "E" "WR"]; PriorMdl = bayeslm(p,'ModelType','conjugate','VarNames',VarNames); load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable.GNPR;
Постройте предшествующие распределения. Запросите, чтобы значения параметров раньше создавали графики и их соответствующую плотность.
[pointsUsedPrior,priorDensities1] = plot(PriorMdl);
pointsUsedPrior
массив ячеек 5 на 1 1 1000 числовых векторов, представляющих значения параметров что plot
использование, чтобы построить соответствующую плотность. Первый элемент соответствует прерыванию, следующие три элемента соответствуют коэффициентам регрессии, и последний элемент соответствует отклонению воздействия. priorDensities1
имеет те же размерности как pointsUsed
и содержит соответствующие значения плотности.
Оцените апостериорное распределение. Выключите отображение оценки.
PosteriorMdl = estimate(PriorMdl,X,y,'Display',false);
Постройте апостериорные распределения. Запросите, чтобы значения параметров раньше создавали графики и их соответствующую плотность.
[pointsUsedPost,posteriorDensities1] = plot(PosteriorMdl);
pointsUsedPost
и posteriorDensities1
имейте те же размерности как pointsUsedPrior
. pointsUsedPost
выведите может отличаться от pointsUsedPrior
. posteriorDensities1
содержит следующие значения плотности.
Постройте предшествующие и апостериорные распределения. Запросите, чтобы значения параметров раньше создавали графики и их соответствующую плотность.
[pointsUsedPP,posteriorDensities2,priorDensities2] = plot(PosteriorMdl,PriorMdl);
Все выходные значения имеют те же размерности как pointsUsedPrior
. posteriorDensities2
выведите содержит следующие значения плотности. priorDensities2
выведите содержит предшествующие значения плотности.
Подтвердите тот pointsUsedPP
равно pointsUsedPost
.
compare = @(a,b)sum(a == b) == numel(a); cellfun(compare,pointsUsedPost,pointsUsedPP)
ans = 5x1 logical array
1
1
1
1
1
Используемые точки эквивалентны.
Подтвердите, что следующая плотность является тем же самым, но что предшествующая плотность не.
cellfun(compare,posteriorDensities1,posteriorDensities2)
ans = 5x1 logical array
1
1
1
1
1
cellfun(compare,priorDensities1,priorDensities2)
ans = 5x1 logical array
0
0
0
0
0
При графическом выводе только предшествующего распределения, plot
оценивает предшествующую плотность в точках, которые производят ясный график предшествующего распределения. При графическом выводе и предшествующего и апостериорного распределения, plot
предпочитает строить следующее ясно. Поэтому график может определить различный набор точек, чтобы использовать.
Считайте модель регрессии в Графике Предшествующими и Апостериорными распределениями.
Загрузите набор данных Нельсона-Плоссера и создайте сопряженную предшествующую модель значения по умолчанию для отклонения воздействия и коэффициентов регрессии. Затем оцените апостериорное распределение и получите сводную таблицу оценки из summarize
.
p = 3; VarNames = ["IPI" "E" "WR"]; PriorMdl = bayeslm(p,'ModelType','conjugate','VarNames',VarNames); load Data_NelsonPlosser X = DataTable{:,PriorMdl.VarNames(2:end)}; y = DataTable.GNPR; PosteriorMdl = 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)
summaryTbl = summarize(PosteriorMdl); summaryTbl = summaryTbl.MarginalDistributions;
summaryTbl
таблица, содержащая статистику что estimate
отображения в командной строке.
Для каждого параметра определите набор 50 равномерно расположенных с интервалами значений в трех стандартных отклонениях среднего значения. Поместите значения в ячейки вектора ячейки 5 на 1 выполнение приказа параметров, которые включают строки сводной таблицы оценки.
Points = cell(numel(summaryTbl.Mean),1); % Preallocation for j = 1:numel(summaryTbl.Mean) Points{j} = linspace(summaryTbl.Mean(j) - 3*summaryTbl.Std(j),... summaryTbl.Mean(j) + 2*summaryTbl.Std(j),50); end
Постройте апостериорные распределения в их соответствующих интервалах.
plot(PosteriorMdl,'Points',Points)
PosteriorMdl
— Байесова модель линейной регрессии, хранящая характеристики апостериорного распределенияconjugateblm
объект модели | empiricalblm
объект моделиБайесова модель линейной регрессии, хранящая характеристики апостериорного распределения, заданные как conjugateblm
или empiricalblm
объект модели возвращен estimate
.
Когда вы также задаете PriorMdl
, затем PosteriorMdl
апостериорное распределение, состоявшее из PriorMdl
и данные. Если NumPredictors
и VarNames
свойства этих двух моделей не равны, plot
выдает ошибку.
PriorMdl
— Байесова модель линейной регрессии хранение предшествующих характеристик распределенияconjugateblm
объект модели | semiconjugateblm
объект модели | diffuseblm
объект модели | mixconjugateblm
объект модели | lassoblm
объект моделиБайесова модель линейной регрессии хранение предшествующих характеристик распределения, заданных как conjugateblm
, semiconjugateblm
, diffuseblm
, empiricalblm
, customblm
, mixconjugateblm
, mixsemiconjugateblm
, или lassoblm
объект модели возвращен bayeslm
.
Когда вы также задаете PosteriorMdl
, затем PriorMdl
предшествующее распределение, которое, когда объединено с вероятностью данных, формирует PosteriorMdl
. Если NumPredictors
и VarNames
свойства этих двух моделей не равны, plot
выдает ошибку.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'VarNames',["Beta1"; "Beta2"; "Sigma2"]
строит распределения коэффициентов регрессии, соответствующих именам Beta1
и Beta2
в VarNames
свойство объекта модели и отклонения воздействия Sigma2
.'VarNames'
— Названия параметраНазвания параметра, указывающие, который плотность построить в фигуре, заданной как разделенная запятой пара, состоящая из 'VarNames'
и вектор ячейки векторов символов или вектор строки. VarNames
должен включать "Intercept"
, любое имя в VarNames
свойство PriorMdl
или PosteriorMdl
, или "Sigma2"
.
По умолчанию, plot
выбирает "Intercept"
(если прерывание существует в модели), все коэффициенты регрессии и "Sigma2"
. Если модель имеет больше чем 34 коэффициента регрессии, то plot
выбирает первое через 34-е только.
VarNames
является нечувствительным к регистру.
Если ваша модель содержит много переменных, то попытайтесь строить подмножества параметров на отдельных графиках для лучшего представления распределений.
Пример: 'VarNames',["Beta(1)","Beta(2)"]
Типы данных: string
| cell
'Points'
— Значения параметров для оценки плотности и графического выводаЗначения параметров для оценки плотности и графического вывода, заданного как разделенная запятой пара, состоящая из 'Points'
и numPoints
- размерный числовой вектор или numVarNames
- размерный вектор ячейки числовых векторов. numPoints
количество значений параметров что plot
оценивает и строит плотность.
Если Points
числовой вектор, затем plot
оценивает и строит плотность всех заданных распределений при помощи его элементов (см. VarNames
).
Если Points
вектор ячейки числовых векторов, затем:
numVarNames
должен быть numel (
, где VarNames
)VarNames
значение VarNames
.
Ячейки соответствуют элементам VarNames
.
Для j
= 1, …, numVarNames
график
оценивает и строит плотность параметра под названием
при помощи вектора точек в VarNames
J
}ячейке Points (
.j
)
По умолчанию, plot
определяет 1000
соответствующие значения, в которых можно оценить и построить плотность для каждого параметра.
Пример: 'Points',{1:0.1:10 10:0.2:25 1:0.01:2}
Типы данных: double |
cell
pointsUsed
— Значения параметров используются в оценке плотности и графическом выводеЗначения параметров используются в оценке плотности и графическом выводе, возвращенном как вектор ячейки числовых векторов.
Предположим Points
и VarNames
значения Points
и VarNames
, соответственно. Если Points
числовой вектор, затем PointsUsed
repmat ({
. В противном случае, Points
}, numel (VarNames
))PointsUsed
равняется Points
. Ячейки соответствуют именам в VarNames
.
posteriorDensity
— Оцененная и построенная следующая плотностьОцененная и построенная следующая плотность, возвращенная как numVarNames
- 1 вектор ячейки числовых векторов-строк. numVarNames
numel (
, где VarNames
)VarNames
значение VarNames
. Ячейки соответствуют именам в VarNames
. posteriorDensity
имеет те же размерности как priorDensity
.
priorDensity
— Оцененная и построенная предшествующая плотностьОцененная и построенная предшествующая плотность, возвращенная как numVarNames
- 1 вектор ячейки числовых векторов-строк. priorDensity
имеет те же размерности как posteriorDensity
.
FigureHandle
— Окно рисунка, содержащее распределенияОкно рисунка, содержащее распределения, возвращенные как figure
объект.
plot
перезаписывает окно рисунка, которое это производит.
Если вы переименовываете FigureHandle
для нового окна рисунка или вызова figure
прежде, чем вызвать plot
, затем plot
продолжает перезаписывать текущую фигуру. Чтобы построить распределения к различному окну рисунка, измените идентификатор фигуры окна текущей фигуры путем переименования его Tag
свойство. Например, чтобы переименовать окно текущей фигуры под названием FigureHandle
к newFigure
, в командной строке, введите:
FigureHandle.Tag = newFigure;
Поскольку improper distributions (распределения с плотностью, которая не объединяется к 1) не четко определен, plot
не может построить их очень хорошо.
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 параметров.
conjugateblm
| customblm
| diffuseblm
| empiricalblm
| lassoblm
| mixconjugateblm
| mixsemiconjugateblm
| semiconjugateblm
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.