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