Pythonstatsmodel.tsa.markovauto回归使用当前实际国民生产总值/国内生产总值

2024-04-29 11:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用statsmodel.tsa.markovauto回归复制汉密尔顿1989年发表的马尔可夫转换模型。如果使用汉密尔顿数据(1982年美元的实际国民生产总值),我可以得到与代码示例/论文所示相同的结果。然而,当我使用当前可用的实际国民生产总值或国内生产总值数据(以2009年美元计)并将其对数差(季度)作为输入时,该模型并没有给出令人满意的结果。在

我绘制了汉密尔顿国民生产总值的对数差,这是与目前可用的实际国民生产总值的差值。它们非常接近,只是略有不同。在

有人能告诉我为什么会这样吗?这与当前国民生产总值数据的季节性调整有关吗?如果是这样的话,有没有什么办法可以对抗呢?在

可用结果 Result using current available GNP

结果使用GNP提供的纸张 Result using paper provided GNP


Tags: 数据代码模型示例绘制对数办法季度
1条回答
网友
1楼 · 发布于 2024-04-29 11:37:20

你写的是:

the model doesn't give satisfactory results.

但你的意思是这个模型并没有给你你想要的结果。i、 例如,你想让模型挑选出NBER标记为“衰退”的周期,但马尔可夫转换模型只是寻找使数据的似然函数最大化的参数。在

{其余的结果来自于这个笔记本

(我还将注意到,我使用E-views对这些结果进行了双重检查,结果与Statsmodels的输出几乎完全一致)。在

原始数据集是实际国民生产总值(GNP)的增长率(对数差*100);汉密尔顿数据集与美联储经济数据库上的数据集的对比如下所示,灰色条表示国家经济研究局(NBER)日期的衰退:

Real GNP - growth rate

在这种情况下,模型是一个关于实际国民生产总值增长率的AR(4)模型,有一个特定于地区的截距;该模型允许两个制度。其理念是“衰退”应与低(或负)平均增长率相对应,而扩张应对应较高的平均增长率。在

模型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状态下运行的概率的时间序列(这里对应于负增长率,即衰退)如下:

Hamilton smoothed regime probabilities

模型2:更新数据集:参数的最大似然估计

现在,如您所见,我们可以使用“更新”数据集(看起来非常像原始数据集)来拟合模型,以获得以下参数和状态概率:

^{pr2}$

Updates smoothed regime 0 probabilities

为了理解这个模型在做什么,看看这两种机制中的截获。在汉密尔顿模型中,“低”区域的截距为-0.35,而根据更新的数据,“低”区域的截距为-1.25。在

这告诉我们的是,随着数据集的更新,该模型通过选择“低”机制来更深入地衰退,对数据进行了“更好的”拟合(就更高的可能性而言)。特别是,回顾一下国民生产总值(GNP)的数据系列,很明显,它是在使用“低”制度来适应1950年代末和1980年代初的低增长

相比之下,汉密尔顿模型中的拟合参数允许“低”制度符合“适度低”的增长率,这种增长率涵盖了更广泛的衰退。在

我们不能用对数似然值来比较这两个模型的结果,因为它们使用的数据集不同。不过,有一件事我们可以尝试,那就是利用汉密尔顿数据集中的拟合参数来更新GNP数据。这样,我们得到以下结果:

模型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
==============================================================================

Updated smoothed regime 0 probabilities using parameters from Hamilton's data

这看起来更像你所期望的/想要的,这是因为正如我上面提到的,0.35的“低”区域截距使“低”区域很适合样本中更多的时间段。但请注意,这里的对数似然为-191.8,而在模型2中,对数似然为-188.0。在

因此,即使这个模型看起来更像您想要的,它也不适合数据。在

(请再次注意,您不能将这些日志可能性与模型1中的-181.3进行比较,因为模型1使用的是不同的数据集)。在

相关问题 更多 >