Визуализируйте предшествующую и следующую плотность Байесовых параметров модели линейной регрессии
plot(PosteriorMdl)
plot(PriorMdl)
plot(PosteriorMdl,PriorMdl)
plot(___,Name,Value)
pointsUsed = plot(___)
[pointsUsed,posteriorDensity,priorDensity]
= plot(___)
[pointsUsed,posteriorDensity,priorDensity,FigureHandle]
= plot(___)
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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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
, plot
оценивает и строит плотность параметра под названием
при помощи вектора точек в ячейке 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
-by-1 вектор ячейки числовых векторов - строк. numVarNames
является
, где numel(VarNames)
VarNames
является значением VarNames
. Ячейки соответствуют именам в VarNames
. posteriorDensity
имеет те же размерности как priorDensity
.
priorDensity
— Оцененная и построенная предшествующая плотностьОцененная и построенная предшествующая плотность, возвращенная как numVarNames
-by-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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.