马尔可夫转换动态回归数据中操作潜态的平滑推理
从一维响应过程的双状态马尔可夫转换动态回归模型计算平滑状态概率。这个示例为数据生成过程(DGP)使用任意参数值。
为DGP创建完全指定的模型
建立了切换机制的双状态离散马尔可夫链模型。
P = [0.9 0.1;0.2 - 0.8);mc = dtmc (P);
mc
是完全指定的dtmc
对象。
对于每个状态,为响应流程创建一个AR(0)(仅为常数)模型。将模型存储在向量中。
mdl1 = arima (“不变”2,“方差”3);mdl2 = arima (“不变”2,“方差”1);mdl = [mdl1;mdl2];
mdl1
和mdl2
完全指定的华宇电脑
对象。
从切换机制中创建一个马尔可夫切换动态回归模型mc
子模型的向量mdl
.
Mdl = msVAR (mc, Mdl);
Mdl
是完全指定的msVAR
对象。
从DGP模拟数据
光滑的
需要响应来计算平滑状态的概率。从DGP生成一个随机响应和状态路径,长度均为30。
rng (1000);%的再现性(y, ~, sp) =模拟(Mdl 30);
计算状态概率
根据模拟的响应数据,计算马尔科夫转换模型的滤波和平滑状态概率。
fs =过滤器(Mdl y);党卫军=光滑(Mdl y);
fs
和党卫军
分别为模拟视界中每个周期的滤波和平滑状态概率的30 × 2矩阵。虽然过滤的状态概率在时间t
(fs (
t
:)
)是基于随时间变化的响应数据t
(y (1:
t
)
),则为时刻的平滑状态概率t
(党卫军(t):)
)的基础是所有的观察。
在同一个图上绘制模拟的状态路径和滤波平滑的状态概率。
图绘制(sp,“米”)举行在情节(fs (:, 2),“r”)情节(ss (:, 2),‘g’) yticks([0 1 2])“时间”)标题(“用估计的状态概率观察状态”)({传奇“模拟状态”,“过滤概率:状态2”,...“平滑概率:状态2”})举行从
考虑战后美国实际GDP增长率的两状态马尔可夫转换动态回归模型。模型的参数估计在[1].
建立Markov-Switching动态回归模型
建立一个描述状态转换机制的完全指定的离散马尔可夫链模型。标签的政权。
P = [0.92 0.08;0.26 - 0.74);mc = dtmc (P,“StateNames”,[“扩张”“衰退”]);
为这两个机制创建单独的、完全指定的AR(0)模型。
σ= 3.34;跨州的同方差模型mdl1 = arima (“不变”, 4.62,“方差”σ^ 2);mdl2 = arima (“不变”, -0.48,“方差”σ^ 2);MDL = [mdl1 mdl2];
从切换机制中创建马尔科夫切换动态回归模型mc
以及特定于状态的子模型mdl
.
Mdl = msVAR (mc, Mdl);
Mdl
是完全指定的msVAR
对象。
加载和预处理数据
加载美国GDP数据集。
负载Data_GDP
数据
包含1947年第一季度至2005年第二季度美国实际GDP的季度数据。利息的期限[1]1947: - 2004:沿。有关数据集的更多细节,请输入描述
在命令行。
通过以下方法将数据转换为年化速率系列:
在估计期间内,将数据转换为每季度的速率
按季度计算
qrate = diff(数据(2:230)。/数据(2:229);季度率%Arate = 100*((1 + qrate)。^ 4 - 1);%折合成年率
变换降低了第一个观察值。
计算平滑状态概率
计算数据和模型的平滑状态概率。显示1972年Q2的平滑状态分布。
党卫军=平滑(Mdl arate);党卫军(最终,:)
ans =1×20.9396 - 0.0604
党卫军
是一个228乘2的平滑状态概率矩阵。行对应于数据中的周期arate
,柱对应的政体。
画出平滑的衰退概率,比如[1],图6所示。
图;情节(日期(3:230),学生(:,2),“r”) datetick (“x”) recessionplot标题(“全样本平滑概率和NBER衰退”)
从二维VARX响应过程的三状态markov转换动态回归模型计算平滑状态概率。这个例子使用了任意的DGP参数值。
为DGP创建完全指定的模型
建立了切换机制的三状态离散马尔可夫链模型。
P = [5 1 1;1 5 1;1 1 5];mc = dtmc (P);
mc
是完全指定的dtmc
对象。dtmc
规格化的行P
所以它们的和是1
.
对于每个状态,为响应过程创建一个完全指定的VARX(0)模型(只有常数和回归系数矩阵)。在模型中指定不同的常数向量。为两个回归器指定相同的回归系数,指定相同的协方差矩阵。将VARX模型存储在一个向量中。
%的常量C1 = (1, 1);C2 = [3; 3);C3 = (5; 5);%回归系数Beta = [0.2 0.1;0 -0.3];%的协方差矩阵σ = [1.8 -0.4;-0.4 - 1.8);% VARX子mdl1 = varm (“不变”C1,“β”,β,...协方差的σ);mdl2 = varm (“不变”C2,“β”,β,...协方差的σ);mdl3 = varm (“不变”C3,“β”,β,...协方差的σ);mdl = [mdl1;mdl2;mdl3];
mdl
包含三个完全指定的varm
模型对象。
对于DGP,从切换机制中创建一个完全指定的马尔可夫切换动态回归模型mc
和子mdl
.
Mdl = msVAR (mc, Mdl);
Mdl
是完全指定的msVAR
模型。
从DGP模拟数据
通过从标准的二维高斯分布生成30个观测值来模拟两个外生序列的数据。
rng (1)%的再现性2 X = randn(30日);
从DGP生成一个随机响应和状态路径,长度均为30。为子模型回归组件指定模拟的外生数据。
(Y, ~, SP) =模拟(Mdl 30“X”, X);
Y
是一个30 × 2矩阵的模拟响应路径。SP
是一个模拟状态路径的30乘1向量。
计算状态概率
在给定模拟响应数据的情况下,从DGP计算平滑状态概率。
党卫军=平滑(Mdl Y“X”, X);
党卫军
是模拟视界中每个周期的平滑状态概率的30 × 2矩阵。
在同一图的子图上绘制模拟状态路径和平滑状态概率。
图次要情节(2,1,1)情节(SP,“米”) yticks([1 2 3]) legend({“模拟状态”})次要情节(2,1,2)情节(党卫军,“- - -”)({传奇“平滑s1 ','平滑s2 ',“平滑s3”})
考虑计算衰退的平滑概率,但假设利息时期是1960年:Q1-2004年:Q2。另外,考虑在每个子模型中添加一个自回归术语。
为评估创建部分指定的模型
创建部分指定的马尔可夫转换动态回归模型进行估计。指定AR(1)的子。
P =南(2);mc = dtmc (P,“StateNames”,[“扩张”“衰退”]);mdl = arima (1,0,0);Mdl = msVAR (mc, [Mdl;mdl));
由于子模型是AR(1),每个子模型都需要一个预样本观测来初始化其动态分量进行估计。
创建包含初始值的完全指定模型
创建包含评估过程的初始参数值的模型。
mc0 = dtmc (0.5 * 1 (2),“StateNames”,[“扩张”“衰退”]);submdl01 = arima (“不变”, 1“方差”, 1基于“增大化现实”技术的, 0.001);submdl02 = arima (“不变”, 1“方差”, 1基于“增大化现实”技术的, 0.001);Mdl0 = msVAR (mc0 [submdl01;submdl02]);
加载和预处理数据
加载数据。将整个集合转换为年化速率系列。
负载Data_GDPqrate = diff(数据)。/数据(1:结束(- 1));Arate = 100*((1 + qrate)。^ 4 - 1);
使用与年化率系列相关的日期确定前样本和估计样本时期。由于转换应用第一个差异,您必须从原始样本中删除第一个观察日期。
日期= datetime(日期(2:结束),“ConvertFrom”,“datenum”,...“格式”,“yyyy QQQ”,“场所”,“en_US”);estPrd = datetime ([“1960:第二季”“2004:第二季”],“InputFormat”,“yyyy QQQ”,...“格式”,“yyyy QQQ”,“场所”,“en_US”);idx = isbetween(日期、estPrd (1) estPrd (2));idxPre = date < estPrd(1);
估计模型
将模型与估计样本数据拟合。指定样品前观察。
arate0 = arate (idxPre);arateEst = arate (idx);EstMdl =估计(Mdl Mdl0 arateEst,“Y0”, arate0);
EstMdl
是完全指定的msVAR
对象。
计算平滑状态概率
根据估计的模型和估计期间的数据计算平滑状态概率。指定样品前观察。绘制衰退的估计概率。
党卫军=平滑(EstMdl arateEst,“Y0”, arate0);图;情节(日期(idx),学生(:,2),“r”)标题(“全样本平滑概率和NBER衰退”) recessionplot
考虑模型和数据计算衰退的平滑概率.
创建完全指定的马尔可夫转换模型。
P = [0.92 0.08;0.26 - 0.74);mc = dtmc (P,“StateNames”,[“扩张”“衰退”]);σ= 3.34;mdl1 = arima (“不变”, 4.62,“方差”σ^ 2);mdl2 = arima (“不变”, -0.48,“方差”σ^ 2);mdl = [mdl1;mdl2];Mdl = msVAR (mc, Mdl);
加载并预处理数据。
负载Data_GDPqrate = diff(数据(2:230)。/数据(2:229);Arate = 100*((1 + qrate)。^ 4 - 1);
为数据和模型计算平滑状态概率和对数似然。
[SS, logL] =光滑(Mdl arate);logL
logL = -640.3016
Y
- - - - - -观察到的响应数据观察到的响应数据,指定为numObs
——- - - - - -numSeries
数字矩阵。
numObs
为样本量。numSeries
为响应变量的个数(Mdl。NumSeries
).
行对应于观察值,最后一行包含最新的观察值。列对应于各个响应变量。
Y
中样本前响应序列的延续Y0
.
数据类型:双
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
Y0, Y0, X, X
中的每个子模型的动态组件初始化Mdl
通过使用前样本响应数据Y0
,并在每个由预测数据组成的子模型中包含一个线性回归组件X
和指定的回归系数。
Y0
- - - - - -Presample响应数据预采样响应数据,指定为逗号分隔对,由“Y0”
和一个numPreSampleObs
——- - - - - -numSeries
数字矩阵。
前样本观察的数量numPreSampleObs
必须足以初始化所有子模型的AR项。如果numPreSampleObs
超过任何州的应收账款订单,光滑的
使用最新的观察结果。默认情况下,Y0
初始段是Y
,从而减少了有效样本量。
数据类型:双
S0
- - - - - -初始状态概率初始状态概率,指定为逗号分隔对,由“S0”
和一个长度为非负的数值向量numStates
.
光滑的
规范化S0
制作发行版。
默认情况下,S0
稳态分布是由渐近
.
例子:“S0”,0.2 0.2 0.6
例子:“S0”,[0 1]
将状态2指定为初始状态。
数据类型:双
X
- - - - - -预测数据的所有子模型中用于评估回归成分的预测数据Mdl
,指定为逗号分隔的对,由“X”
以及一个数值矩阵或数值矩阵的单元向量。
要在每个状态中使用相同预测器的子集,请指定X
作为一个矩阵numPreds
列,至少numObs
行。列对应于不同的预测变量。子模型使用相关矩阵的初始列,按顺序排列,直至子模型预测器的数量。的列数β
的属性Mdl。子(
确定子模型回归组件中外生变量的数量j
)
.如果行数超过j
numObs
,然后光滑的
使用最新的观察结果。
要在每个状态中使用不同的预测器,请指定这种矩阵的带长度的细胞向量numStates
.
默认情况下,光滑的
中忽略回归分量Mdl
.
数据类型:双
光滑的
改进了目前对状态分布的估计过滤器
通过从完整的样本历史向后迭代生成Y
.
[1]肖维特,M, J. D.汉密尔顿。“确定商业周期转折点。”在商业周期的非线性分析(《经济分析贡献》第276卷).(C. Milas, P. Rothman, D. van Dijk编)。阿姆斯特丹:翡翠集团出版有限公司,2006。
[2]汉密尔顿,j . D。非平稳时间序列和商业周期的经济分析新方法费雪.1989年第57卷,第357-384页。
[3]汉密尔顿,j . D。《受政体变化影响的时间序列分析》计量经济学杂志.1990年第45卷,39-70页。
[4]汉密尔顿,詹姆斯D。时间序列分析.普林斯顿:普林斯顿大学出版社,1994。
[5]金,C.-J。“具有马尔可夫转换的动态线性模型”。计量经济学杂志.第60卷,1994,第1-22页。
您已经有了geänderte版本死亡Beispiels。Möchten您是谁? Änderungen öffnen?
您有一个连接到MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。Webbrowser unterstützen keine MATLAB-Befehle。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。