我一直在使用statsmodel.tsa.markovauto回归复制汉密尔顿1989年发表的马尔可夫转换模型。如果使用汉密尔顿数据(1982年美元的实际国民生产总值),我可以得到与代码示例/论文所示相同的结果。然而,当我使用当前可用的实际国民生产总值或国内生产总值数据(以2009年美元计)并将其对数差(季度)作为输入时,该模型并没有给出令人满意的结果。在
我绘制了汉密尔顿国民生产总值的对数差,这是与目前可用的实际国民生产总值的差值。它们非常接近,只是略有不同。在
有人能告诉我为什么会这样吗?这与当前国民生产总值数据的季节性调整有关吗?如果是这样的话,有没有什么办法可以对抗呢?在
你写的是:
但你的意思是这个模型并没有给你你想要的结果。i、 例如,你想让模型挑选出NBER标记为“衰退”的周期,但马尔可夫转换模型只是寻找使数据的似然函数最大化的参数。在
{其余的结果来自于这个笔记本
(我还将注意到,我使用E-views对这些结果进行了双重检查,结果与Statsmodels的输出几乎完全一致)。在
原始数据集是实际国民生产总值(GNP)的增长率(对数差*100);汉密尔顿数据集与美联储经济数据库上的数据集的对比如下所示,灰色条表示国家经济研究局(NBER)日期的衰退:
在这种情况下,模型是一个关于实际国民生产总值增长率的AR(4)模型,有一个特定于地区的截距;该模型允许两个制度。其理念是“衰退”应与低(或负)平均增长率相对应,而扩张应对应较高的平均增长率。在
模型1:Hamilton数据集:参数的极大似然估计
根据应用于Hamilton(1989)数据集的模型,我们得到以下估计参数:
在0状态下运行的概率的时间序列(这里对应于负增长率,即衰退)如下:
模型2:更新数据集:参数的最大似然估计
现在,如您所见,我们可以使用“更新”数据集(看起来非常像原始数据集)来拟合模型,以获得以下参数和状态概率:
^{pr2}$为了理解这个模型在做什么,看看这两种机制中的截获。在汉密尔顿模型中,“低”区域的截距为-0.35,而根据更新的数据,“低”区域的截距为-1.25。在
这告诉我们的是,随着数据集的更新,该模型通过选择“低”机制来更深入地衰退,对数据进行了“更好的”拟合(就更高的可能性而言)。特别是,回顾一下国民生产总值(GNP)的数据系列,很明显,它是在使用“低”制度来适应1950年代末和1980年代初的低增长
相比之下,汉密尔顿模型中的拟合参数允许“低”制度符合“适度低”的增长率,这种增长率涵盖了更广泛的衰退。在
我们不能用对数似然值来比较这两个模型的结果,因为它们使用的数据集不同。不过,有一件事我们可以尝试,那就是利用汉密尔顿数据集中的拟合参数来更新GNP数据。这样,我们得到以下结果:
模型3:使用Hamilton数据集估计的参数更新数据集
这看起来更像你所期望的/想要的,这是因为正如我上面提到的,0.35的“低”区域截距使“低”区域很适合样本中更多的时间段。但请注意,这里的对数似然为-191.8,而在模型2中,对数似然为-188.0。在
因此,即使这个模型看起来更像您想要的,它也不适合数据。在
(请再次注意,您不能将这些日志可能性与模型1中的-181.3进行比较,因为模型1使用的是不同的数据集)。在
相关问题 更多 >
编程相关推荐