0

I'm trying to use the R forecast package to forecast an anti-persistent time-series (assumed to be an ARFIMA(0, d, 0) series, with d somewhat negative, e.g. d = -0.25). The forecast::arfima function limits d to be in the range (0, 0.5). I'm curious whether it's possible to a) transform the series to be long-memory (using e.g. diff(series, -0.5)). b) forecast the transformed series. c) transform the transformed series + forecast back from long-memory to anti-persistent.

E.g., expressed as a R function:

#

Forecast an anti-persistent series, aka one that

is fractionally integrated with d in range -0.5 to 0.

#

lmuForecastAntiPersistentSeries = function(series.V, n.periods, drange=c(-0.5, 0), max.p=0, max.q=0, ...) { # Fractionally integrate series by 0.5 - should transform series # so that it is long-memory, rather than anti-persistent. series.dm50.V = diffseries(series.V, -0.5); arfima.model = arfima(series.dm50.V, drange=drange+0.5, max.p=max.p, max.q=max.q, ...);

# Extract de-noised version of long-memory series. fitted.V = fitted(arfima.model);

# Forecast series, also in long-memory space. forecast.V = forecast(arfima.model, n.periods)[[2]];

# Transform back to being anti-peristent series. total.series.V = c(series.dm50.V, forecast.V); ret.V = diffseries(total.series.V, 0.5);

# Strip off 1st part of series, so that were only # left with the forecast. return(ret.V[-(1:length(series.V))]); }

Does anyone have any good intuition for whether this approach works - and even better, if not, what's wrong with it?

Thank You -mc

  • Unfortunately not - that post was just me re-posting this original with some nicer formatting to make the example R code easier to read. – user268462 Dec 13 '19 at 18:54
  • Sorry, I did not write the comment above. It was automatically generated by the system on a close vote. – Richard Hardy Dec 14 '19 at 10:35

0 Answers0