为什么此Chistiano-Fitzgerald过滤器(mFilter的cffilter)的趋势组件过于拟合?

时间:2018-11-18 21:23:42

标签: r time-series decomposition loess bandpass-filter

目标:由于基于黄土的方法存在问题,我试图使用带通滤波器从时间序列中提取季节和趋势分量,您可以阅读更多有关{{ 3}}。

数据:数据是10年间的每日降雨量测量值,其随机性很高,并且具有明显的年度季节性。可以找到数据here

问题:执行过滤器时,“周期”组件按预期方式显示(捕获年度季节性),但“趋势”组件似乎过拟合,因此残差变成很小的值,结果模型对于样本外预测没有用。

US1ORLA0076 <- read_csv("US1ORLA0076_cf.csv")
head(US1ORLA0076)

  water_date  PRCP prcp_log
  <date>     <dbl>    <dbl>
1 2006-12-22  0.09   0.0899
2 2006-12-23  0.75   0.693 
3 2006-12-24  1.63   1.26  
4 2006-12-25  0.06   0.0600
5 2006-12-26  0.36   0.353 
6 2006-12-27  0.63   0.594 

然后我使用here包中的以下命令,应用Christiano-Fitzgerald带通滤光片(旨在使波长在半年到全年之间,即单次年波)通过。

library(mFilter)

US1ORLA0076_cffilter  <- cffilter(US1ORLA0076$prcp_log,pl=180,pu=365,root=FALSE,drift=FALSE,
                                  type=c("asymmetric"),
                                  nfix=NULL,theta=1)

创建一个S3对象,其中除其他事项外,还包含“趋势”值的向量和“周期”值的向量,例如:

head(US1ORLA0076_cffilter$trend)
          [,1]
[1,] 0.1482724
[2,] 0.7501137
[3,] 1.3202868
[4,] 0.1139883
[5,] 0.4051551
[6,] 0.6453462

head(US1ORLA0076_cffilter$cycle)
            [,1]
[1,] -0.05839342
[2,] -0.05696651
[3,] -0.05550995
[4,] -0.05402422
[5,] -0.05250982
[6,] -0.05096727

绘制:

plot(US1ORLA0076_cffilter)

mFilter

我对这个输出感到困惑。这个周期看起来与我预期的差不多。趋势没有。

问题:mfilter是否甚至以与decompose()或stl()之类的函数相同的方式定义“趋势”?如果没有,那我应该怎么考虑呢?

问题:我是否对cffilter()进行了错误的校准,我可以更改哪些内容以改善趋势分量的定义?

1 个答案:

答案 0 :(得分:0)

答案是,“否” mfilter()并未像某些分解函数(例如stl())那样定义“趋势”。通常将其定义为“ 周期所偏离的事物”。将通滤波器设置为180-365的带宽,我隔离了年度循环分量,该分量已从数据中减去,留下了其他所有内容,在这里定义为“趋势”,可以将其视为种残留物。

要使用相同的方法识别像stl()或decomp()这样的分解包中显示的“趋势”,可以应用与上述相似的带通滤波器,但在(针对该数据集)366-3652,它将捕获反映整个10年周期的频率范围,但不包括诸如年度季节性之类的年内频率范围。

#Overall trend captured with similar code (and slightly different data):
US1ORLA0076_cffilter_trend  <- cffilter(US1ORLA0076$prcp_log,pl=366,pu=3652,root=FALSE,drift=FALSE,
                                        type=c("asymmetric"),
                                        nfix=1,theta=1)

plot(US1ORLA0076_cffilter_trend)

enter image description here