plot(varve)

plot(log(varve))

z=diff(log(varve))
plot(z)

acf(z)

pacf(z)

Maybe looks like an MA(1)? First, let’s check if this looks like a random walk with drift.

summary(lm(z~1))
## 
## Call:
## lm(formula = z ~ 1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.78439 -0.38055  0.00694  0.37727  1.82285 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.001125   0.022909  -0.049    0.961
## 
## Residual standard error: 0.5764 on 632 degrees of freedom

No. The drift doesn’t look significant.

Let’s try a few ARMA models.

(fit01 = arima( z, order=c(0,0,1) )) 
## 
## Call:
## arima(x = z, order = c(0, 0, 1))
## 
## Coefficients:
##           ma1  intercept
##       -0.7710    -0.0013
## s.e.   0.0341     0.0044
## 
## sigma^2 estimated as 0.2353:  log likelihood = -440.68,  aic = 887.36
(fit02 = arima( z, order=c(0,0,2) )) 
## 
## Call:
## arima(x = z, order = c(0, 0, 2))
## 
## Coefficients:
##           ma1      ma2  intercept
##       -0.6710  -0.1595    -0.0013
## s.e.   0.0375   0.0392     0.0033
## 
## sigma^2 estimated as 0.2294:  log likelihood = -432.69,  aic = 873.39
(fit03 = arima( z, order=c(0,0,3) )) 
## 
## Call:
## arima(x = z, order = c(0, 0, 3))
## 
## Coefficients:
##           ma1      ma2      ma3  intercept
##       -0.6594  -0.1144  -0.0816    -0.0013
## s.e.   0.0397   0.0471   0.0416     0.0028
## 
## sigma^2 estimated as 0.228:  log likelihood = -430.79,  aic = 871.58
(fit10 = arima( z, order=c(1,0,0) )) 
## 
## Call:
## arima(x = z, order = c(1, 0, 0))
## 
## Coefficients:
##           ar1  intercept
##       -0.3970     -0.001
## s.e.   0.0365      0.015
## 
## sigma^2 estimated as 0.2793:  log likelihood = -494.56,  aic = 995.12
(fit11 = arima( z, order=c(1,0,1) )) 
## 
## Call:
## arima(x = z, order = c(1, 0, 1))
## 
## Coefficients:
##          ar1      ma1  intercept
##       0.2341  -0.8871    -0.0013
## s.e.  0.0518   0.0292     0.0028
## 
## sigma^2 estimated as 0.2284:  log likelihood = -431.33,  aic = 870.66
(fit12 = arima( z, order=c(1,0,2) )) 
## 
## Call:
## arima(x = z, order = c(1, 0, 2))
## 
## Coefficients:
##          ar1      ma1     ma2  intercept
##       0.4598  -1.1219  0.1917    -0.0013
## s.e.  0.2207   0.2348  0.1961     0.0025
## 
## sigma^2 estimated as 0.228:  log likelihood = -430.82,  aic = 871.64
(fit13 = arima( z, order=c(1,0,3) )) 
## 
## Call:
## arima(x = z, order = c(1, 0, 3))
## 
## Coefficients:
##          ar1      ma1      ma2      ma3  intercept
##       0.0145  -0.6738  -0.1048  -0.0793    -0.0013
## s.e.  0.6375   0.6365   0.4264   0.1117     0.0028
## 
## sigma^2 estimated as 0.228:  log likelihood = -430.79,  aic = 873.58
(fit20 = arima( z, order=c(2,0,0) ))
## 
## Call:
## arima(x = z, order = c(2, 0, 0))
## 
## Coefficients:
##           ar1      ar2  intercept
##       -0.4929  -0.2407    -0.0010
## s.e.   0.0386   0.0386     0.0118
## 
## sigma^2 estimated as 0.263:  log likelihood = -475.67,  aic = 959.33
(fit21 = arima( z, order=c(2,0,1) )) 
## 
## Call:
## arima(x = z, order = c(2, 0, 1))
## 
## Coefficients:
##          ar1     ar2      ma1  intercept
##       0.2447  0.0483  -0.9055    -0.0013
## s.e.  0.0501  0.0473   0.0298     0.0026
## 
## sigma^2 estimated as 0.228:  log likelihood = -430.82,  aic = 871.64
(fit22 = arima( z, order=c(2,0,2) )) 
## 
## Call:
## arima(x = z, order = c(2, 0, 2))
## 
## Coefficients:
##           ar1     ar2      ma1      ma2  intercept
##       -0.4010  0.1955  -0.2575  -0.5738    -0.0013
## s.e.   0.5032  0.1066   0.5060   0.4416     0.0027
## 
## sigma^2 estimated as 0.2278:  log likelihood = -430.61,  aic = 873.21
(fit23 = arima( z, order=c(2,0,3) )) 
## 
## Call:
## arima(x = z, order = c(2, 0, 3))
## 
## Coefficients:
##           ar1     ar2      ma1      ma2     ma3  intercept
##       -0.4170  0.2721  -0.2431  -0.6570  0.0556    -0.0013
## s.e.   0.4255  0.3391   0.4286   0.5013  0.2442     0.0026
## 
## sigma^2 estimated as 0.2278:  log likelihood = -430.57,  aic = 875.15
(fit30 = arima( z, order=c(3,0,0) ))
## 
## Call:
## arima(x = z, order = c(3, 0, 0))
## 
## Coefficients:
##           ar1      ar2      ar3  intercept
##       -0.5479  -0.3537  -0.2290    -0.0012
## s.e.   0.0387   0.0421   0.0388     0.0093
## 
## sigma^2 estimated as 0.2492:  log likelihood = -458.7,  aic = 927.4
(fit31 = arima( z, order=c(3,0,1) )) 
## 
## Call:
## arima(x = z, order = c(3, 0, 1))
## 
## Coefficients:
##          ar1     ar2      ar3      ma1  intercept
##       0.2406  0.0469  -0.0104  -0.9010    -0.0013
## s.e.  0.0547  0.0484   0.0484   0.0381     0.0026
## 
## sigma^2 estimated as 0.228:  log likelihood = -430.8,  aic = 873.6
(fit32 = arima( z, order=c(3,0,2) )) 
## 
## Call:
## arima(x = z, order = c(3, 0, 2))
## 
## Coefficients:
##           ar1     ar2     ar3      ma1      ma2  intercept
##       -0.5203  0.2311  0.0154  -0.1391  -0.6861    -0.0013
## s.e.   0.5168  0.1474  0.0671   0.5145   0.4744     0.0026
## 
## sigma^2 estimated as 0.2278:  log likelihood = -430.58,  aic = 875.17
(fit33 = arima( z, order=c(3,0,3) )) 
## 
## Call:
## arima(x = z, order = c(3, 0, 3))
## 
## Coefficients:
##           ar1      ar2     ar3      ma1     ma2      ma3  intercept
##       -0.6487  -0.7257  0.2391  -0.0043  0.1807  -0.8676    -0.0013
## s.e.   0.1718   0.1472  0.1080   0.1615  0.2426   0.0520     0.0028
## 
## sigma^2 estimated as 0.2259:  log likelihood = -428.16,  aic = 872.32
AIC( fit01, fit02, fit03, fit10, fit11, fit12, fit13, fit20, fit21, fit22, fit23, fit30, fit31, fit32, fit33)
##       df      AIC
## fit01  3 887.3557
## fit02  4 873.3861
## fit03  5 871.5778
## fit10  3 995.1236
## fit11  4 870.6638
## fit12  5 871.6438
## fit13  6 873.5779
## fit20  4 959.3314
## fit21  5 871.6421
## fit22  6 873.2131
## fit23  7 875.1480
## fit30  5 927.3966
## fit31  6 873.5957
## fit32  7 875.1675
## fit33  8 872.3187
BIC( fit01, fit02, fit03, fit10, fit11, fit12, fit13, fit20, fit21, fit22, fit23, fit30, fit31, fit32, fit33)
##       df       BIC
## fit01  3  900.7071
## fit02  4  891.1880
## fit03  5  893.8301
## fit10  3 1008.4751
## fit11  4  888.4657
## fit12  5  893.8962
## fit13  6  900.2807
## fit20  4  977.1333
## fit21  5  893.8945
## fit22  6  899.9159
## fit23  7  906.3013
## fit30  5  949.6489
## fit31  6  900.2985
## fit32  7  906.3208
## fit33  8  907.9225

AIC and BIC both like ARMA(1,1).

Let’s look at some diagnostics:

r = resid(fit11)
lags = 10
acf(r)

Box.test( r, 10, fitdf=2 )
## 
##  Box-Pierce test
## 
## data:  r
## X-squared = 5.8528, df = 8, p-value = 0.6637
qqnorm(r)
qqline(r)

jarque.bera.test(r)
## 
##  Jarque Bera Test
## 
## data:  r
## X-squared = 3.8573, df = 2, p-value = 0.1453

Looks pretty good!