Auto.Arima 很合适,除了一个尖峰

Auto.Arima fits well except for a single spike

我是一名工程研究生,作为我论文的一小部分,我正在尝试使用 auto.arima 函数分析 r 中的一些地下水数据。我的数据的拟合函数非常适合,除了数据中的一个尖峰,我终究无法弄清楚为什么它们会在这里偏离 rails。数据中没有异常值或缺失值。数据是地下水的高程,每天有一个记录点。

我的原始未拟合数据如下所示:

#load tseries library
library(tseries)
# RESERVOIR ONLY ANALYSIS#
#Daily Piezometric Data from PS13-01
PS1301 = read.csv("PS13-01.csv",TRUE,",")
#impute missing data from data set
PS1301 = imputeTS::na_interpolation(PS1301)
#Create Time Series
PS1301 = ts(PS1301[,2],frequency = (365),start = c(2013,116))
plot(PS1301, xlab='Time', ylab = 'Piezometric Head')

然后在 运行 Auto.Arima 之后它适合这个:

#Auto Arima of only piezometers
#PS1301
AAPS1301 = auto.arima(PS1301)
AAPS1301
summary(AAPS1301)
## Series: PS1301
## ARIMA(2,1,0)(0,1,0)[365]
## 
## Coefficients:
##          ar1     ar2
##       0.3362  0.5722
## s.e.  0.0643  0.0625
## 
## sigma^2 estimated as 0.02372:  log likelihood=2779.3
## AIC=-5552.61   AICc=-5552.59   BIC=-5536.39
plot(PS1301,col="red")
lines(fitted(AAPS1301),col="blue")

如有任何帮助,我们将不胜感激,但我不确定从这里可以做什么。我觉得这一定是个错误,因为其余时间序列的拟合度(视觉上)有多好。我也很乐意提供原始数据,但我不确定如何将其放入此 post 中,而不是作为保管箱 link https://www.dropbox.com/sh/563nu3daeid0agb/AAB6NSddVUKgBCCbQtuqXPsZa?dl=0

这里的问题是季节性周期很长 (365) 并且 R 试图在相应的状态 space 模型之前拟合漫反射 - 这在周期很长的情况下变得越来越困难。结果似乎存在一些数值不稳定性,在第 366 次和第 367 次观察中给出不准确的拟合值。

我不相信使用周期如此长的季节性 ARIMA 有任何意义,但如果你想这样做,请使用 CSS 估计方法而不是完全似然:

fit_css <- auto.arima(PS1301, method='CSS')

也快很多。