首页 > 解决方案 > 如何使系列静止

问题描述

我有一个系列如下:

dat <- c(9, 8, 10, 10, 11, 12, 16, 20, 18, 18, 21, 22, 25, 14)

如果您可以分享如何使系列静止,那将是一个很大的帮助。我已经尝试过diff转型log,但到目前为止,注意到有任何帮助。增强的 Dickey-Fuller 检验仍然微不足道。

标签: rtime-series

解决方案


例如,您可以通过与 结合使数据静止CoxBoxdiff如下所示:

    # getting package for CoxBox transformations
    library(RxODE)      

    # setting up your data
    dat <- c(9, 8, 10, 10, 11, 12, 16, 20, 18, 18, 21, 22, 25, 14)

    # checking the stationarity
    adf.test(diff(coxBox(dat, lambda=5)))
    #   Augmented Dickey-Fuller Test
    # data:  diff(coxBox(dat, lambda = 5))
    # Dickey-Fuller = -3.8838, Lag order = 2, p-value = 0.02973
    # alternative hypothesis: stationary

    adf.test(diff(coxBox(dat, lambda=4)))
    # Augmented Dickey-Fuller Test
    # data:  diff(coxBox(dat, lambda = 4))
    # Dickey-Fuller = -3.7048, Lag order = 2, p-value = 0.04251
    # alternative hypothesis: stationary

    adf.test(diff(coxBox(dat, lambda=-3)))
    # Augmented Dickey-Fuller Test
    # data:  diff(coxBox(dat, lambda = -3))
    # Dickey-Fuller = -4.2585, Lag order = 2, p-value = 0.01424
    # alternative hypothesis: stationary

Box-Cox 的逆可以这样完成

library(bimixt)
dat <- c(9, 8, 10, 10, 11, 12, 16, 20, 18, 18, 21, 22, 25, 14) # Original data
dat_cb <- coxBox(dat, lambda=3)                                # data after Cox Box transformation with lambda=3
dat_inv_cb <- boxcox.inv(dat_cb, lambda=3)                     # data after INVERSE Cox Box transformation with lambda=3

dat_inv_cb
#  [1]  9  8 10 10 11 12 16 20 18 18 21 22 25 14

推荐阅读