你写:
模型没有给出令人满意的结果。
但是你的意思是模型没有给你期望/想要的结果。即,您希望模型挑选出 NBER 标记为“衰退”的时期,但马尔可夫切换模型只是寻找最大化数据似然函数的参数。
(帖子的其余部分显示了取自此 Jupyter 笔记本的结果:http://nbviewer.jupyter.org/gist/ChadFulton/a5d24d32ba3b7b2e381e43a232342f1f)
(我还要注意,我使用 E-views 仔细检查了这些结果,它与 Statsmodels 的输出几乎完全一致)。
原始数据集是真实 GNP 的增长率(对数差 * 100);此处显示了汉密尔顿数据集与美联储经济数据库中的数据集,灰色条表示 NBER 日期的衰退:
在这种情况下,模型是关于实际 GNP 增长率的 AR(4),具有特定于政体的截距;该模型允许两种制度。这个想法是,“衰退”应该对应于较低(或负)的平均增长率,而扩张应该对应于较高的平均增长率。p>
模型 1:Hamilton 数据集:参数的最大似然估计
从应用于 Hamilton (1989) 数据集的模型中,我们得到以下估计参数:
Markov Switching Model Results
================================================================================
Dep. Variable: Hamilton No. Observations: 131
Model: MarkovAutoregression Log Likelihood -181.263
Date: Sun, 02 Apr 2017 AIC 380.527
Time: 19:52:31 BIC 406.404
Sample: 04-01-1951 HQIC 391.042
- 10-01-1984
Covariance Type: approx
Regime 0 parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const -0.3588 0.265 -1.356 0.175 -0.877 0.160
Regime 1 parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const 1.1635 0.075 15.614 0.000 1.017 1.310
Non-switching parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
sigma2 0.5914 0.103 5.761 0.000 0.390 0.793
ar.L1 0.0135 0.120 0.112 0.911 -0.222 0.249
ar.L2 -0.0575 0.138 -0.418 0.676 -0.327 0.212
ar.L3 -0.2470 0.107 -2.310 0.021 -0.457 -0.037
ar.L4 -0.2129 0.111 -1.926 0.054 -0.430 0.004
Regime transition parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
p[0->0] 0.7547 0.097 7.819 0.000 0.565 0.944
p[1->0] 0.0959 0.038 2.542 0.011 0.022 0.170
==============================================================================
在状态 0 中运行的概率的时间序列(这里对应于负增长率,即衰退)如下所示:
模型 2:更新数据集:参数的最大似然估计
现在,如您所见,我们可以改为使用“更新”数据集(看起来很像原始数据集)来拟合模型,以获得以下参数和状态概率:
Markov Switching Model Results
================================================================================
Dep. Variable: GNPC96 No. Observations: 131
Model: MarkovAutoregression Log Likelihood -188.002
Date: Sun, 02 Apr 2017 AIC 394.005
Time: 20:00:58 BIC 419.882
Sample: 04-01-1951 HQIC 404.520
- 10-01-1984
Covariance Type: approx
Regime 0 parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const -1.2475 3.470 -0.359 0.719 -8.049 5.554
Regime 1 parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const 0.9364 0.453 2.066 0.039 0.048 1.825
Non-switching parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
sigma2 0.8509 0.561 1.516 0.130 -0.249 1.951
ar.L1 0.3437 0.189 1.821 0.069 -0.026 0.714
ar.L2 0.0919 0.143 0.645 0.519 -0.187 0.371
ar.L3 -0.0846 0.251 -0.337 0.736 -0.577 0.408
ar.L4 -0.1727 0.258 -0.669 0.503 -0.678 0.333
Regime transition parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
p[0->0] 0.0002 1.705 0.000 1.000 -3.341 3.341
p[1->0] 0.0397 0.186 0.213 0.831 -0.326 0.405
==============================================================================
要了解模型在做什么,请查看两种状态下的截距。在 Hamilton 模型中,“低”状态的截距为 -0.35,而在更新数据后,“低”状态的截距为 -1.25。
这告诉我们,使用更新的数据集,模型通过选择“低”状态来进行更深的衰退来“更好地”拟合数据(就更高的可能性而言)。特别是回顾 GNP 数据系列,很明显它使用“低”制度来适应 1950 年代末和 1980 年代初的非常低的增长。
相比之下,汉密尔顿模型的拟合参数允许“低”状态拟合涵盖更广泛衰退范围的“中低”增长率。p>
我们无法比较这两个模型的结果,例如对数似然值,因为它们使用不同的数据集。不过,我们可以尝试的一件事是在更新的 GNP 数据上使用来自 Hamilton 数据集的拟合参数。这样做,我们得到以下结果:
模型 3:使用在 Hamilton 数据集上估计的参数更新数据集
Markov Switching Model Results
================================================================================
Dep. Variable: GNPC96 No. Observations: 131
Model: MarkovAutoregression Log Likelihood -191.807
Date: Sun, 02 Apr 2017 AIC 401.614
Time: 19:52:52 BIC 427.491
Sample: 04-01-1951 HQIC 412.129
- 10-01-1984
Covariance Type: opg
Regime 0 parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const -0.3588 0.185 -1.939 0.053 -0.722 0.004
Regime 1 parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const 1.1635 0.083 13.967 0.000 1.000 1.327
Non-switching parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
sigma2 0.5914 0.090 6.604 0.000 0.416 0.767
ar.L1 0.0135 0.100 0.134 0.893 -0.183 0.210
ar.L2 -0.0575 0.088 -0.651 0.515 -0.231 0.116
ar.L3 -0.2470 0.104 -2.384 0.017 -0.450 -0.044
ar.L4 -0.2129 0.084 -2.524 0.012 -0.378 -0.048
Regime transition parameters
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
p[0->0] 0.7547 0.100 7.563 0.000 0.559 0.950
p[1->0] 0.0959 0.051 1.872 0.061 -0.005 0.196
==============================================================================
这看起来更像您预期/想要的,这是因为正如我上面提到的,0.35 的“低”状态截距使“低”状态更适合样本中的更多时间段。但请注意,这里的对数似然是 -191.8,而在模型 2 中,对数似然是 -188.0。
因此,尽管此模型看起来更像您想要的,但它也不适合数据。
(再次注意,您无法将这些对数似然与模型 1 中的 -181.3 进行比较,因为那是使用不同的数据集)。