分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势2

简介: 分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法

分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法1:https://developer.aliyun.com/article/1485127

此后,我们可以使用周期图来考虑这些时间序列变量的每一个属性。

gram(y, main = "y", col = "red")

当然,我们可以利用一个过滤器,从总体时间序列变量中去除一些不需要的成分。为此,我们可以应用上下限相对较窄的Christiano-Fitzgerald滤波器。此后,我们使用应用于与周期有关的信息的周期图,来调查它是否成功地剔除了一些频率成分。

cf(y0)
gram(cycle)

这个结果将表明,滤波器已经排除了大部分的高频率成分。为了看看这个周期与之前的数据有什么关系,我们把通过滤波器的周期性信息绘制在分量上。此外,我们还将这个结果绘制在综合周期的变量上。

plot(x1, type = "l", lty = 1)
lines(cycle, lty = 3, lwd = 3)
plot(y, type = "l", lty = 1)
lines(cycle, lty = 3, lwd = 3)

在这两种情况下,它似乎都对过程中的趋势做了合理的描述。

南非商业周期的谱分解法

为了考虑如何在实践中使用这些频谱分解,我们现在可以考虑将这些技术应用于南非商业周期的各种特征中。

下一步将是运行所有的过滤器,这些过滤器被应用于识别南非商业周期的不同方法。

现在,让我们对商业周期的每一个标准应用一个周期图。

线性滤波器提供了一个很差的结果,因为趋势明显占主导地位(这不是周期应该有的)。这与Hodrick-Prescott滤波器的特征形成对比,后者的趋势信息已经被去除。Baxter & King和Christiano & Fitzgerald的带通滤波器也是这种情况。在这两种情况下,噪声也已经被去除。最后的结果与Beveridge-Nelson分解有关,我们注意到周期包括大量的趋势和大量的噪声。

小波分解

为了提供一个小波分解的例子,我们将把该方法应用于南非通货膨胀的数据。这将允许使用在这个过程中推导出对趋势的另一种衡量方法,这可以被认为是代表核心通货膨胀。请注意,这种技术可以应用于任何阶数的单整数据,所以我们不需要首先考虑变量的单整阶数。

然后,我们将利用消费者价格指数的月度数据,该数据包含在SARB的季度公告中。数据可以追溯到2002年。为了计算通货膨胀的同比指标,我们使用diff和lag命令。

diff/cpi\[-1 * (length - 11):length\]

为了确保所有这些变量的转换都已正确进行,我们对数据进行绘图。

plot(inf.yoy)

由于我们在这种情况下主要对识别平滑的趋势感兴趣,我们将使用贝希斯函数。这样的函数是Daubechies 4小波,它应用修正的离散小波变换方法。此外,我们还将使用三个母小波来处理各自的高频成分。

wt(yoy, "d4")

然后我们可以为每个独立的频率成分绘制结果,如下所示。

plot.ts(yoy)
for (i in 1:4) plot.ts(d4\[\[i\]\]

如果我们现在想在数据上绘制趋势(父小波)。

plot.ts(inf, ylab = "inf")
lines(ren)

请注意,由于各自的频段是相加的,我们可以将其中一个母频段加入到趋势中,如下所示。

inf.tmp <- inf.tren + inf.d4$w3
inf.tren2 <- ts(inf.tmp, start = c(2003, 1), frequency = 12)
plot.ts(inf.yoy, ylab = "inf")
lines(inf.tren2, col = "red")

相关经济变量的周期性成分之间的相关性

为了确定周期的特征是否合适,我们可以考虑宏观经济总量的一些不同周期性方法之间的相关性。例如,我们可以考虑产出和生产(或就业)的周期性在不同的滞后期应该是相关的。如果它们不相关,那么该方法可能无法准确描述各自变量的周期性成分。

在本文使用的例子中,代码可能有点难以理解,但我们鼓励你自己去研究,以提高你对这个编码环境的总体理解。

下一步是读入数据并为数据的各种周期性成分创建一些矩阵。

yd <- dat\[5:n.obs, \] - dat\[1:(n.obs - 4), \]  # 存储输出
yc_li <- matrix(rep(0, n.obs * n.var), ncol = n.var)
yc_hp <- matrix(rep(0, n.obs * n.var), ncol = n.var)
yc_bp <- matrix(rep(0, n.obs * n.var), ncol = n.var)
yc_bn <- matrix(rep(0, n.obs * n.var), ncol = n.var)

使用上面包含的方法对数据进行过滤。

for (i in 1:n) {
    
    # 用线性滤波器对数据进行去趋势处理
    lin.mod <- lm(dat\[, i\] ~ time(dat\[, i\]))
    
    # 用HP滤波器去趋势数据
    yc_hp\[, i\] <- hp.cycle
    
    #用带通滤波器去趋势数据
    yc_bp\[, i\] <- bp.cycle
    
    #  Beveridge-Nelson分解
    yc_bn\[, i\] <- bn.\[, 2\]
}

计算不同提前期和滞后期的相关关系。

for (i in 1:n) {
    for (j in 1:n.var) {
        c\_li <- leadlag(yc\_li\[, i\], yc_li\[, j\], maxLeadLag)
        c\_hp <- leadlag(yc\_hp\[, i\], yc_hp\[, j\], maxLeadLag)
        c_bp 
        c_bn
        c_yd 
        
        for (k in 1:5) {
            ynamesLong\[(cnt + k), 1\] <- paste(ynames.tmp)
        }
        cnt <- cnt + 5

绘制结果。

# 线性趋势
barplot(corrStylizedFact)
box()

# hp滤波器
op <- par(mfrow = c(1, 3))
barplot(corrStyli, ylim = c(-1, 1))
box()

# beveridge nelson 分解
barplot(coracts, ylim = c(-1, 1), col = "red")
box()

相关文章
|
7月前
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法(二)
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法(二)
|
7月前
|
机器学习/深度学习 算法 图形学
告别3D高斯Splatting算法,带神经补偿的频谱剪枝高斯场SUNDAE开源了
【5月更文挑战第26天】SUNDAE,一种结合频谱剪枝和神经补偿的高斯场方法,已开源,解决了3D高斯Splatting的内存消耗问题。SUNDAE通过建模基元间关系并剪枝不必要的元素,降低内存使用,同时用神经网络补偿质量损失。在Mip-NeRF360数据集上,SUNDAE实现26.80 PSNR和145 FPS,内存仅为104MB,优于传统算法。然而,其计算复杂性、参数优化及对其他3D表示方法的适用性仍有待改进。代码开源,期待进一步研究。[论文链接](https://arxiv.org/abs/2405.00676)
57 2
|
7月前
|
存储
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法(一)
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
|
7月前
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法(三)
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法(三)
|
7月前
|
存储
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法1
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法1
|
7月前
|
存储
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
|
7月前
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法(四)
分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
|
7月前
|
存储
R语言分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
R语言分解商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson分解等去趋势法
|
7月前
|
算法
R语言从经济时间序列中用HP滤波器,小波滤波和经验模态分解等提取周期性成分分析
R语言从经济时间序列中用HP滤波器,小波滤波和经验模态分解等提取周期性成分分析
|
7月前
|
机器学习/深度学习 传感器
稳态和时变卡尔曼滤波器KALMAN FILTER的设计和仿真植物动力学模型案例研究
稳态和时变卡尔曼滤波器KALMAN FILTER的设计和仿真植物动力学模型案例研究